Github在等待拉取请求时使用fork

时间:2017-01-26 13:57:28

标签: git github

我对Github很新,我已经分叉了一个项目,进行了一些修改,然后向主项目发出拉取请求。

如果在等待我的请求被合并/拒绝时,我会想要处理主项目的另一个问题......我怎么能不干扰我的旧代码?我应该再做一个主项目的分支吗?

非常感谢你,对于noob问题感到抱歉。

2 个答案:

答案 0 :(得分:2)

您可以结帐到新分行。

如果您不需要从实际分支进行更改,则可以返回主分支,例如master,并创建新分支。

但是,如果您需要从分支机构进行更改,请立即使用此分支机构创建新分支。

答案 1 :(得分:1)

fork是存储库的完整副本,您不能将存储库分叉两次。 你能做的就是在分支机构工作。

Git分支是一个孤立的空间,您可以在不干扰其他分支代码的情况下工作。

所以这是一个简单的步骤

创建新分支

由于你很可能在你的主分支(dfault)上工作,我们需要创建一个新的分支,然后再回到主存储库状态(所以你的提交不会在这个新的分支上)

git checkout -b <new_branch_name>
git reset --hard <old_commit_id>
  • 第一条指令在您在上一个分支(usualy master)上的位置创建一个新分支。
  • 第二条指令将代码恢复为定义的提交ID(您希望在主存储库上进行最后一次提交)。

在新分支上,您现在处于与主存储库相同的状态。

做一些工作

// Do some codding stuff
git add file1 file2
git commit -m "Issue #xxx resolved"
git push <your fork remote> <new_branch_name>

请注意,我们现在推送到我们不再推送到master,否则会发生冲突,因为提交树不一样。

打开新的拉取请求

现在,您可以从新分支机构打开拉取请求。

浏览分支

// it show all the branch you do own
git branch

// Switch to <branch_name>
git checkout <branch_name>

提示

当处理分叉项目(或不处理)时,最好将主分支保持与主项目相同的提交,因此,您可以根据需要从master创建尽可能多的分支,而无需回滚到较旧的提交。