git学习手记三—分支管理

1、创建分支
git branch brh

2、查看分支
查看所有分支
git branch -a
查看远程分支
git branch -r
查看本地分支
git branch -l可简写为git branch

3、检出分支
git checkout brh

4、新建并检出分支
相当于操作1加操作3
git checkout -b brh

5、提交分支到远程仓库
git push origin brh

至此可以在github网站看到提交上去的分支信息

7、合并分支
在brh分支修改文件,提交到远程分支
git add .
git commit -m “modify file”
git push origin brh

切换到主分支之后合并分支
git checkout master
合并分支
git merge brh

8、删除分支
合并后,删除本地分支(如果还没有合并,操作不会成功)
git branch -d brh
或者未合并,强制删除本地分支(如果还没有合并,可以强制删除)
git branch -D xzf
合并之后提交master分支(不知是否可以在第7步做,没有测试)
git push origin master
删除远程分支
git push origin --delete brh
或者git push origin :brh – 提交一个空的分支,会删除远程分支,注意brh前面的英文分号

9、产生冲突的场景
程序员A修改brh分支的文件Emp.java文件
然后提交git commit -a -m “modify emp”
程序员B修改master分支的文件Emp.java文件
然后提交git commit -a -m “modify emp”
切换到主分支
git checkout master
fast forward方式执行合并操作,该合并操作将master指针指向brh分支,不会生成新的commit id
master指针指向brh分支
HEAD指针指向master分支
git merge brh
或者使用非faster forward方式提交分区
执行合并操作,该合并操作会生成新的commit id并改变master的指针(推荐的合并方式,不会有代码丢失的情况出现)
master指针指向新的commit id
HEAD指针指向master分支
git merge --no-ff -m “no ff commit” brh

大概率会出现冲突问题,小概率git会自动解决冲突
在这里插入图片描述
冲突的文件内容
在这里插入图片描述
10、解决冲突
修改冲突文件
在这里插入图片描述
提交到本地主分支
git commit -a -m “fix confict”
在这里插入图片描述
推送到远程主分支
git push origin master

11、查看分支合并历史
git log --graph --pretty=oneline
git log --graph --pretty=oneline --abbrev-commit

12、分支暂存
场景:由于有突发任务,需要暂停手上正在进行的工作,此时由于代码只开发了一半,不允许提交。因此需要将当前分支暂存起来。
git checkout -b brh
新建文件
git add .
git stash

然后开发新的分支进行工作

13、恢复分支
查看暂存起来的分支列表
git stash list

恢复分支
git stash apply
删除分支
git stash drop

恢复并删除分支
git stash pop

14、补丁:patch
场景:在分支进行代码修改之后,只将修改后的的代码发给其他开发人员进行开发。此时将修改后的文件打成补丁发送给其他开发人员进行开发
第一种补丁使用方式:
新建分支,修改文件之后,打补丁
git checkout -b brh
git diff master > mypat
将生成的mypat文件发给其他开发人员,其他开发人员创建新的分支之后应用此补丁
git checkout -b patchbrh
git apply mypat
提交补丁内容
git commit -a -m “apply pat”

第二种补丁使用方式:
新建分支,修改文件之后,打补丁
git checkout -b brh
-M指定分支,
git format-patch -M master
将生成的mypat文件发给其他开发人员,其他开发人员创建新的分支之后应用此补丁
git checkout -b patchbrh
0001-patch.patch是git formate-patch命令自动生成的文件
git am 0001-patch.patch
提交补丁内容
git commit -a -m “apply pat”

15、多人协作工作
git clone项目时,只会clone主分支的内容下来
需要建立并切换到新的分支
git checkout -b brh
查看所有分支
git branch -a
将远程仓库brh分支的内容clone到本地分支
git merge origin/brh

此时有可能多人在同一分支上工作
如果本地分支没有关联服务器分支的话,使本地分支与远程分支产生关联,如果已关联,则忽略
git branch --set-upstream-to=origin/brh
获取别人分支的内容
git fetch --只获取最新内容,不进行merge操作
git pull --获取最新内容的同时进行merge操作

多人修改同一文件,并且其中有一个或多个人已经push到远程服务器中,此时进行git pull操作时会产生冲突问题,冲突问题参考上面第10项的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值