我分叉了一个Github存储库,并做了几天的更改,而从未做过原始回购(我做过这个回购的回购)的拉动。
现在,我向原始存储库发出了请求请求。我发现回购分叉后又进行了一次提交。
所以我的问题是,如果回购协议的所有者接受拉取请求,那么他以后所做的提交会保留吗?还是他的回购协议会成为我叉子的相同副本?
如果是后者,那么你能告诉我我怎么能不删除提交自己做了?
两个分支的所有更改都将出现在历史记录中:
A-B------C----M--...
\-X-Y---Z-/
其中X
,Y
和Z
是您的提交,C
是您丢失的提交。提交M
是一个合并提交,其中将包含您的所有更改(并可能解决与的任何合并冲突C
)。您的提交将保持不变,之后M
将包含所有的变化C
,X
,Y
和Z
。
另外,回购维护者可以重订你的分支,后来把它合并:
A-B-C---------M--...
\-X-Y-Z-/
当一切正常时,M的状态将与进行常规合并时的状态完全相同。但是X
,Y
和Z
会单独看起来像它们的起源C
(它们的SHA1值也会改变)。
都同样有效,这两种方法都垫底建议,如果有相当数量的提交,你缺失(即发展中的几个星期后)。
请注意:如果您的分支不能干净地合并并且冲突不容易解决,则回购维护者可能会要求您进行合并或重新设置基础。提供可合并的分支机构是您的工作。
在这种情况下,只需获取您要拉取的分支的最新版本,然后自己尝试合并:
git checkout your-branch
git pull upstream master
要么
git checkout your-branch
git pull --rebase upstream master
之后,分支将干净地合并到上游。只需为新合并的分支发布新的拉取请求。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句