git分支管理
来源:互联网 发布:金域名都公寓价格 编辑:程序博客网 时间:2024/06/06 05:28
简介
在开发大型项目中,很多情况下不同开发人员负责开发不同的模块,这时效率就显得尤为重要,git的分支管理明确而简洁地解决了大部分问题
用法
新建一个分支
[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br* master[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git checkout -b master-aSwitched to a new branch 'master-a'[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br master* master-a[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $
如图所示,本地仓库默认有一个master分支,这时我们如果新建一个分支master-a,此时跟master是指向一个版本的,然后我们转移到master-a分支上完成我们的工作即可;
那么,会产生一个问题,git如何知道我们现在处于哪个分支呢;如图,git有一个HEAD指针用来指向本地当前所在的分支,所以在我们转移到master-a分支后,HEAD也指向了master-a分支.合并分支
[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git br master* master-a[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ vi a.txt[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "master-a"[master-a 9db9161] master-a 1 file changed, 1 insertion(+), 1 deletion(-)[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git co masterSwitched to branch 'master'[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ vi a.txt[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "master"[master 4c88be5] master 1 file changed, 1 insertion(+), 1 deletion(-)[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-aAuto-merging a.txtCONFLICT (content): Merge conflict in a.txtAutomatic merge failed; fix conflicts and then commit the result.
我们在master-a分支上做了一些工作之后想把工作合并到原分支上,这时会产生一些冲突,因为有可能原来的master分支也被修改过了,所以我们要解决冲突;
解决的办法就是找到产生冲突的文件,里面会显示master与master-a冲突的行,<<<所在的位置就两个分支冲突的地方,上下通过====分割1 <<<<<<< HEAD 2 asdassss 3 ======= 4 asdadassss 5 >>>>>>> master-a 6 bbbb 7 adasdaaaaa 8 assssasdaddss 9 asdad 10 ss
修改好后再次合并就可以了.
[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-aerror: Merging is not possible because you have unmerged files.hint: Fix them up in the work tree, and then use 'git add/rm <file>'hint: as appropriate to mark resolution and make a commit.fatal: Exiting because of an unresolved conflict.[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git add a.txt[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git commit -m "sure"[master 7a14172] sure[lkc@lkcdeMacBook-Pro:] ~/Desktop/Code/gitSample $ git merge master-aAlready up-to-date.
常用命令
显示所有分支
git branch a新建一个名为a的分支git checkout -b a新建一个名为a的分支并切换上去git branch -d a删除名为a的分支git merge a将当前分支与a合并git checkout a切换到a分支上
阅读全文
0 0
- 3.3 Git 分支 - 分支管理
- git 分支管理-----本地分支,远程分支
- Git分支管理
- Git 创建管理分支
- Git分支管理策略
- Git分支管理策略
- Git分支管理策略
- Git分支管理策略
- Git分支管理策略
- Git分支管理
- git分支管理
- Git远程分支管理
- git分支管理策略
- Git分支管理策略
- Git分支管理策略
- Git分支管理策略
- Git 分支管理策略
- Git分支管理策略
- 【Kotlin从入门到深坑】之类的覆盖属性和方法以及抽象类
- C语言学习
- H264 术语
- 是热爱不是质疑
- Mybatis 一对多(OneToOne)关系映射
- git分支管理
- Kotlin单例模式(带参数和不带参数)
- keras中Convolution1D的使用(CNN情感分析yoom例子四)
- Epoll介绍和使用
- IntelliJ IDEA快捷键
- java.util.HashMap<K,V>
- Nginx上的第一个HelloWorld
- C# EF Core 简单工厂模式,接口多继承实例(三)
- 深入理解Android输入系统--初识Android输入系统