自我总结的git的使用
git是什么
git是一个分布式版本控制工具,github是代码托管平台。
git有什么用
-
保存文件的所有修改记录
-
使用版本号进行区分
-
随时可浏览历史版本记录
-
可还原到历史指定版本
-
对比不同版本的文件差异
为什么要用git?
-
多人协作开发一个大型项目
-
每个人都在代码库下载代码,然后进行修改,把大家不同版本的代码合并上传到平台
-
公司都会有自己的代码托管平台,github是开源的,免费学习,参与知名项目
-
为协作开发而生的,公司都在使用,不得不学
要学什么?怎么用
基本概念
仓库
仓库分为远端仓库和本地仓库
远端仓库
- git init --bare
本地仓库
- git clone ...
协议
-
http
-
ssh
使用ssh公钥登录GIT服务器
生成公钥和私钥(ssh-keygen -t rsa
)
安装openssh server(可省略)
复制公钥内容到远端服务器 .ssh/authorize_keys
git clone
- git
设置用户名和密码
局部
使用git config user.name mark
设置用户名
设置邮箱使用 git config user.email mark@qq.com
git config --local -l
全局
使用 git config --global user.name mark
设置用户名
使用git config --global user.email goddragon@qq.com
设置邮箱
git config -l
本地工作区
就是我们使用git init或 git clone 所在的路径
暂存区
使用 git add <源码文件>
添加到暂存区
本地仓库
使用git commit .
添加到本地仓库
远程仓库
使用git push orgin master
推送到远端服务器
版本号
通过 git log
查看我们的提交记录·里面有我们的版本号
head
当前检出记录的符号引用
基本操作
-
暂存(git add)
-
提交(git commit)
-
推送(git push)
-
拉取(git fetch)
-
拉取合并(git pull)
git fetch
git merge
-
查看状态(git status)
-
查看历史(git log)
git reflog
逆向操作
-
index -> workspace git (git restore -S 源码文件)
-
本地仓库 -> index (git reset --soft)
-
本地仓库 -> workspace(git reset --mixed)
-
本地仓库 ->null(git reset --hard)
-
workspace ->null(git checout、git checkout --file、git checkout -f)
本地仓库整理操作
-
整理上一次提交(git commit --amend)
-
整理多次提交(git rebase -i h1 h2、左开右闭)
-
没有人基于你的分支开发(从变基那个节点开始往后的所有节点的commit id都会变化、会引起其他人冲突)
分支操作
- 查看分支(git branch)
- 创建分支(git branch develop 创建、git chect out -b develop 创建并切换)
- 合并分支(git rebase(不建议使用))
- 从两个分支的共同祖先开始提取当前分支上的修改
- 提取的提交应用到目标分支的最新提交的后面
- 将当前分支只想目标分支的最新提交
- 可能引发其他人基底发生改变
- 删除分支
- git branch -d develop
- 删除远端 git push origin -d develop
*分支作用:独立变化互不依赖
解决冲突
- 冲突产生原因 不同分支修改了同一文件
- 解决原则
- 不要影响其他人提交的功能
- 协商解决
- 解决
- git merge
- git add .
- git commit . -i -m ".."
- git rebase
- git add . 标记解决
- git rebase --continue
- git merge
- 建议
提交前先pull代码
推荐一个零声学院免费教程,个人觉得老师讲得不错,
分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
TCP/IP,协程,DPDK等技术内容,点击立即学习:
服务器
音视频
dpdk
Linux内核