Git分布式版本管理系统前夜2

1.分支的基本概念:分支就是指针的变换。将一个文件add进暂存区时:首先将文件的快照存入数据库。同时计算文件的校验和存入暂存区等待提交。提交commit操作会为每个子目录计算校验和,将各个子目录的校验和生成一个树对象,git还会生成一个提交对象,提交对象中包含树对象。当再次执行提交操作时,这次的提交对象会包含上次提交对象的指针。分支即是指向提交对象的指针。而HEAD是指向当前分支。

2.分支的快进:从master分支上新建立一个分支。新建分支所需解决问题得以解决。当将master分支和新建分支合并时就叫做快进。因为只是将master的指针改变了,指向新建分支所指。合并分支的命令:git merge branchname


3.删除一个分支的命令:git branch -d branchname

4.切换分支命令:git checkout branchname       新建分支并切换:git checkout -b branchname

5.分支的合并


像这种情况的合并Git 会将c5 c2 c4合并成c6,并自动选择一个最优的commit作为c6的祖先。

6.有冲突的合并:当两个分支都对同一个文件进行了更改并提交。这时将一个分支合并到另一个分支,就会参生冲突。解决方法时修改一个分支的文件的冲突部分为另一个分支的相应部分。如果两个分支产生冲突,在各自发生冲突的文件里都会生成冲突标记。当解决了冲突,在分支中git add 文件,就会消除文件中的冲突标记。

分支管理工具:

7.查看每个分支的最后一次提交:git branch -v

8.查看哪些分支已经合并到当前分支:git branch --merged    哪些没有合并到当前分支:git branch --no-merged

9.删除分支:git branch -d 分支名    强制删除:git branch -D   分支名

10.远程分支:当你clone一个项目时,会在本地建立一个master分支跟踪远程master分支,同步将本地分支更新为远程分支:git fetch 远程服务器缩写名。gti pull 远程服务器缩写名  这个命令个git fetch 命令相似,区别是:fetch命令不会自动合并本地文件,但是pull命令会合并本地文件空间的文件。将本地分支更新到远程分支:git push 远程服务器缩写名 远程分支名。创建一个本地分支并且跟踪一个远程分支:git checkout -b 本地分支名    远程服务器缩写名/远程分支名。查看有哪些跟踪分支:git branch -vv。删除远程分支:git push origin --delete 远程分支名。

猜你喜欢

转载自blog.csdn.net/bigseacoming/article/details/80255825