Git快速入门
Git快速学习
https://github.com/pcottle/learnGitBranching
Git详解
命令图解
checkout(switch):操作HEAD
理解main、bugFix: 分支的引用,一般指向分支末尾。
理解HEAD: HEAD是当前修改的基础!它可以指向main、bugFix等分支引用,也可以直接指向特定commit。
chechout(switch) main
:将HEAD指向main;
chechout(switch) C4
:将HEAD指向commit C4。
reset:回退到指定版本【操作远程仓库】
- 重置到指定版本
$ git reset --参数 HEAD^
- 回退到指定版本
git reset --参数 0s52easdfadfafdasdgg
参数
- soft – 暂存区和工作目录都不会被改变
- mixed(默认) – 暂存区会回退,但工作目录不受影响
- hard – 暂存区和工作目录都会回退
注意:回退会将回退部分的commit
丢失
merge:等同于一次commit
(E)
git checkout feature //切换当前分支为feature
git merge master
冲突判断规则:以两个分支最近的共同祖先commit
(B)为起点,两个分支对同一个文件修改则会发生冲突。
注意选用:Squash commits when merge request is accepted
压缩commit后合并,不然C、D也会被commit到master分支中。
rebase:变基:改变当前分支的起点
git checout feature
git rebase master
注意:master分支HEAD指针还是指向M
将master的HEAD合并feature的HEAD
git checkout master
git merge feature
然后master的HEAD指针才会指向D'
revert:撤销某次commit
撤销操作会作为一次commit
git revert -n 8b89621019c9adc6fc4d242cd41daeb13aeb9861
git commit -m "revert add text.txt"
git push / push到远程仓库