Git问题:提交PR后如何基于干净分支开发新功能
解决Git分支关联旧PR更改的问题
嘿,刚接触Git遇到这种情况太正常了,别慌!我来给你一步步讲怎么解决,保证新PR完全独立,不带之前的更改:
一、创建全新的独立分支(推荐)
如果还没开始新功能的开发,直接按下面的步骤来,能从根源避免问题:
- 首先,确保你的本地仓库已经关联了原项目的远程仓库(行业内一般叫它
upstream)。如果还没关联,执行这条命令:git remote add upstream <原项目的Git仓库地址>
(比如原项目是GitHub上的仓库,就填它的HTTPS或SSH地址) - 拉取原项目的最新代码,尤其是master分支的最新状态:
git fetch upstream - 基于原项目的master分支,创建你的新功能分支:
git checkout -b 你的新分支名 upstream/master
这样创建出来的分支完全和原项目的master保持同步,不会包含你第一个PR里的任何更改,放心在上面开发新功能就行,之后提交新PR也不会有多余的内容。
二、修复已经创建好的“带旧更改”分支
如果你已经创建了新分支,并且发现它带了第一个PR的更改,也不用怕,按下面的步骤修复:
- 先切换到这个有问题的分支:
git checkout 你的现有新分支名 - 如果你在这个分支上已经写了代码,先把代码暂存起来(避免丢失):
git stash - 把这个分支重置到原项目master的最新状态:
git reset --hard upstream/master
(这条命令会清除分支上所有和原项目master不一致的内容,所以一定要先暂存自己的代码!) - 最后把暂存的代码恢复到分支上:
git stash pop
现在你的分支就干净了,继续开发新功能即可。
小提醒
等你第一个PR审核通过后,记得把原项目的master分支合并到自己的master分支里,之后再开发新功能时,尽量都基于upstream/master来创建分支,就不会再遇到这种问题啦!
内容的提问来源于stack exchange,提问作者nass
相关产品推荐
相关产品推荐

