加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_泰州站长网 (http://www.0523zz.com/)- 视觉智能、AI应用、CDN、行业物联网、智能数字人!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

开发中必须要掌握的Git技巧

发布时间:2019-08-08 04:25:53 所属栏目:Windows 来源:佚名
导读:副标题#e# 前言 本文是参考廖雪峰老师的Git资料再加上我自己对Git的理解,记录我的Git学习历程,作下此文是为以后学习,工作,开发中如果遇到问题可以回过头来参考参考。因为水平有限,难免会有出错的地方,欢迎指正。 Git是什么 官方话:Git是一个免费的开

分支,就像平行宇宙,廖雪峰老师如是说。你创建了一个属于你自己的分支,别人看不到,还继续在原来的分支上正常工作,而你在自己的分支上干活,想提交就提交,直到开发完毕后,再一次性合并到原来的分支上,这样,既安全,又不影响别人工作。

创建与合并分支

开发中必须要掌握的Git技巧

在没有其他分支插进来时,只有一个master主分支。每次你git push -u origin master 提交就是增加一条时间轴,master也会跟着移动。

开发中必须要掌握的Git技巧

创建一个other的分支,通过other提交,虽然时间轴向前走了,但是主分支master还在原来的位置。

开发中必须要掌握的Git技巧

理论分析完,看一下命令怎么写。

创建分支other,切换到other分支。

  1. git branch other  
  2. git checkout other 

查看当前所有分支

  1. git branch  
  1. * other  
  2.   master 

当前的分支会有一个*

用other提交

  1. git add ./xxx/  
  2. git commit -m "xxx" 

other分支完成,切换回master

  1. git checkout master 

此时,master分支上并没有other的文件,因为分支还没有合并。

合并分支

  1. git merge other 

合并完成之后,就可以在master分支上查看到文件了。

删除other分支

  1. git branch -d other 

我由此想到,在以后工作中,应该是一个开放小组共同开发一个项目,组长会创建很多分支,每一个分支可以交给一个人去开发某一个功能,一个小组共同开发而且不会相互干扰。谁的功能完成了,可以由组长合并一下完成了的分支。哦,完美!

解决合并分支问题

开发中必须要掌握的Git技巧

假如有这样一种情况,分支other已经commit了,但是此时指针指回master时,并且master没有合并,而是git add / commit 提交了。这样,就产生了冲突,主分支master文件内容与other分支的内容不一样。合并不起来!所以,

  •  修改文件的内容,让其保持一致。
  •  git add git commit 提交。
  •  分支合并了。   

开发中必须要掌握的Git技巧

  • git log --graph 查看分支合并图
  • git branch -d other 删除分支,任务结束。

分支管理策略

git merge --no-ff other 禁用Fast forward模式,因为使用Fast forward模式,删除分支后,分支历史信息会丢失。Git的实现原理,点这里:深入理解Git的实现原理

BUG分支

廖雪峰老师提到,工作中每个bug都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。但如果你手上有分支在工作中,你的上级要你改另外的分支的BUG。

你要把现在正在工作的分支保存下来,git stash,把当前工作现场“存储”起来,等以后恢复后继续工作。当你解决BUG后,git checkout other回到自己的分支。用git stash list查看你刚刚“存放”起来的工作去哪里了。

此时你要恢复工作:

  •  git stash apply恢复却不删除stash内容,git stash drop删除stash内容。
  •  git stash pop恢复的同时把stash内容也删了.
  •  此时,用git stash list查看,看不到任何stash 内容。

总结:修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场

删除分支

  •  git branch -d + 分支有可能会删除失败,因为Git会保护没有被合并的分支。
  •  git branch -D + 分支 强行删除,丢弃没被合并的分支。

(编辑:云计算网_泰州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读