让我看看我是否做对了,我是Git的新手。
假设我在GitHub上创建了一个项目分支并进行了一些更改。如果我要提交,请推送并注册这些更改的拉取请求,这是一种良好的做法,可以创建一个新的命名分支,其名称特定于我所做的任何事情。
因为如果我只是使用master然后在我的fork上将其他(不相关的)更改推送到master,它们将自动附加到pull请求。至少我从using pull requests了解以下内容:
拉取请求可以从任何分支或提交发送,但它是 建议使用主题分支,以便后续提交可以 如有必要,可以推送更新拉取请求。
假设维护者接受了拉取请求。
如果我的主题分支被合并,我需要做的就是从维护者仓库恢复同步{/ 1}。
但是如果主题分支已经重新定位,那么历史记录已被重写,而维护者回购中的fetch
将使我的主题分支“重复”(至少这是它在mercurial中的工作原理)
无论我的分支是合并还是重新分支,分支(或更确切地说是名称)都会被删除。使维护者repo包含一个主分支。
答案 0 :(得分:2)
如果您已将内容发布到master
分支中不在upstream/master
(upstream
是官方回购的远程句柄)的内容,我建议回滚{ {1}}几次提交然后合并master
:
upstream/master
你应该在>> git checkout master # make sure we're on master
>> git branch oldmaster # create a new branch, just to be safe
>> git reset --hard HEAD~100 # roll back 100 commits
>> git fetch upstream # fetch newest changes from upstream
>> git merge upstream/master # merge the main master branch into your local one
和oldmaster
中的官方分支中找到凌乱的主分支。