Git/GitHub/Gitee⼯作流最佳实践

我在这里为刚接触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 branch
git 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 branchcommit 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
localmy-feature branch 删除
最后使⽤git pull origin master 将项⽬最新的更新拉取到本地main分⽀和我们的磁盘中

现在我们完成了⼀次完美的Git/GitHub/Gitee⼯作流

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Liu-Chao Xu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值