如何在从master分支变基时排除指定目录
Git变基时保留指定目录原有代码的操作方案
以下是在将branch1基于master变基时,保留branch1中folder3目录原有代码的具体步骤:
更新本地分支
- 切换到
master分支并拉取最新代码:git checkout master git pull origin master - 切换回
branch1分支并拉取最新代码:git checkout branch1 git pull origin branch1
- 切换到
临时保存
branch1中folder3的当前状态
使用git stash将folder3的内容暂存,避免变基过程中被覆盖:git stash push -m "temp backup of branch1's folder3" folder3/执行变基操作
将branch1基于最新的master分支变基:git rebase master若变基过程中出现其他目录的冲突,正常解决冲突后继续变基即可(使用
git add <冲突文件>后执行git rebase --continue)。恢复
branch1原有的folder3内容
变基完成后,恢复之前暂存的folder3内容:git stash pop确认并提交结果
查看folder3目录的状态,确认是branch1原有的代码后,提交变更:git add folder3/ git commit -m "restore branch1's original folder3 after rebase"推送变基后的分支
由于变基修改了提交历史,需要强制推送branch1分支:git push origin branch1 --force-with-lease注意:
--force-with-lease比单纯的--force更安全,避免覆盖其他人的提交。
内容的提问来源于stack exchange,提问作者yogesh Yadav
相关产品推荐
相关产品推荐

