我在这里为刚接触git或者对于git不太熟悉的朋友提供一套切实可行的使用方法,建议单独创建一个测试项目熟悉一下我下面讲述的git使用工作流程。如果你能按照步骤逐步理解我的思路,相信你的代码管理能力将上升一个层次!
第⼀步
git clone xxx
克隆拉取最新的代码
第⼆步
git checkout -b my-feature
将主分⽀建⽴新 feature branch 作为⾃⼰修改代码的分⽀
并切换到feature分⽀上
第三步
当有代码修改需要add前
使⽤git diff
查看具体变化了哪些⽂件
然后再git add
第四步
使⽤git commit
将代码提交到本地git仓中
⾄此刻feature branch(my-feature)这个分⽀ 才与本地主分⽀不同了
第五步
使⽤git push origin my-feature
就会在远程仓库中多出⼀个branch来
经常的情况是:
在我们push时 main分⽀已经发⽣过更新了⽐如最新的代码是main-update
所以我们要判断这个main-update与我们的my-feature合并后是否好使
⽽此时我们的磁盘上的main分⽀与远程仓库的main分⽀是不同的所以需要更新我们本地的main分⽀
第六步
切换本地分⽀到 main branchgit checkout main
然后pull最新的代码git pull origin master
然后再回到我们的my-feature分⽀git checkout my-feature
第七步
现在在my-feature分⽀中同步main的代码改变:git rebase main
意思是:先将我们的修改的代码放在⼀边将主分⽀发⽣的跟新拼接在我们的commit之前,再尝试将我们
commit的代码搞回去,如果中途出现了rebase conflict 需要⼿动选择需要保存的代码内容
》》》
在我们rebase成功之后我们相当于是在最新的main branch上做了我们的修改
现在我们就可以将代码git push -f origin my-feature
因为我们做了rebase 所以加 -f 强⾏ push
第⼋步
将更新的代码在远程仓库合并
这个过程叫 pull request
因为:我们在形式上认为main分⽀是属于项⽬的,⽽my-feature(feature branch)才属于个⼈,即使
这个仓库主⼈就是我们⾃⼰;所以我们要request这个项⽬的主⼈将我⾃⼰新的修改合并到项⽬中;
作为项⽬的主⼈我们在合并请求的分⽀时⼀般在审查代码之后
使⽤Squash and merge
因为:我们⼀个项⽬可能有⾮常多的commit,同时想让我们的main branch 的commit history 尽可能
简洁,尤其希望我们的main branch中的每⼀个commit都是可以正常⼯作的,所以⼤多数情况我们选择
Squash and merge(将这⼀个分⽀上所有改变合并成⼀个改变然后再将最终的commit放到main
branch上⾯)
⾄此我们的代码的改动都正常合并到了main branch中只是commit的数量和名字发⽣了改变
⼀般在pull request 被项⽬管理者merge后会删除远端的这个branch(对于管理者我们提交的branch才
是远端的)
delete branch
此时我们local branch上还有my-feature branch
我们需要git checkout main
在main分⽀git branch -D my-feature
将 local 的my-feature branch 删除
最后使⽤git pull origin master
将项⽬最新的更新拉取到本地main分⽀和我们的磁盘中文章来源:https://www.toymoban.com/news/detail-846962.html
现在我们完成了⼀次完美的Git/GitHub/Gitee⼯作流文章来源地址https://www.toymoban.com/news/detail-846962.html
到了这里,关于Git/GitHub/Gitee⼯作流最佳实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!