如何快速完成Git从主分支向下合并到特性分支的操作?
高效合并最新代码到特性分支的Git方法
简化本地修改的暂存/提交
- 要是只是临时存一下本地改的代码不想提交,用
git stash push -m "临时保存特性分支修改"就行,之后恢复直接git stash pop,比手动add+commit省事多了。 - 要是得提交代码,直接用
git commit -am "你的提交信息",-a参数会自动把已追踪的修改文件加进去,不用单独跑git add --all。
不用来回切分支,直接合并目标分支
不用切到develop拉取再切回来,就在你的特性分支里直接操作:
# 先确保本地修改已经处理(提交或者暂存了) git fetch develop git merge develop
如果你的目标是合并main分支的最新代码,就把上面的develop换成main:
git fetch main git merge main
git fetch只会把远程分支的更新拉到本地,不会动你的工作区,比来回切分支高效太多。
进阶用rebase让提交历史更干净
要是你想让提交历史更线性好看,可以把merge换成rebase:
git fetch develop git rebase develop
注意:如果你的特性分支已经推到远程了,rebase之后得用git push --force-with-lease推送,这个参数比单纯的--force安全,不会不小心覆盖别人的提交。
写个脚本一键搞定重复操作
把这些命令写成shell脚本(比如叫update-feature.sh),以后一键运行就行:
#!/bin/bash # 自动暂存本地修改 git stash push -m "auto-stash before update" # 拉取develop最新代码并合并到当前分支 git fetch develop git merge develop # 恢复之前暂存的修改 git stash pop
给脚本加执行权限:chmod +x update-feature.sh,之后每次运行./update-feature.sh就能完成整套流程,省得每次敲一堆命令。
内容的提问来源于stack exchange,提问作者Ben Racicot
相关产品推荐
相关产品推荐

