我在做一项关于吉特卜的免费项目。我叉开它,做了一些修改,做了公关,一切正常(PR被接受了)。
然后,我更新了我的叉与上游,做了一些其他的变化,并作出了另一个公关。
然后,我真的认为我的公关包括了我先前推送的所有提交,以及我修改的每一个文件,甚至包括我已经发送的文件。
我使上游是最新的,但我失败的地方,或我的叉子,从来不知道我是最新的(我甚至推)。
因此,为了避免这种情况,我只使用我更改的文件创建了一个分支。然而,PR仍然想发送所有的提交我做的回购。本例中的文件是可以的,只有修改过的文件才在PR上。
那么,使用叉子的正确方法是什么呢?
我在上游和推进之后错过了一步吗?或者我应该在每次公关之后删除我的叉子,然后重新开始?
发布于 2018-04-13 06:59:38
以下是您需要做的步骤,以获得一个干净,漂亮的拉请求。我通常建议那些以前很少接触过git的人使用这个工作流。您可以在auth母版上进行重基,但这可能会导致不平凡的合并,这取决于增量。因此:
git fetch --allgit checkout -b new-feature origin/master创建一个新分支(假设权威回购是起源的)git cherry-pick -n,这样您就可以进行一个新的、漂亮的局部提交)。git cherry-pick -n 923c223 (假设您的新更改在提交的923c223中)git push myfork new-feature耶-现在你有一个拉的请求,只有你的新变化!
给你一点建议。
通常,您应该查看本地克隆人的所有工作。叉子只是一个地方,把你的完成或半成品的工作,这样它不会消失时,你的本地计算机死亡,并与其他人合作。始终根据官方/权威存储库的最新主版启动新的更改。有了更多的经验,您很可能希望每天将您的更改重新建立在权威大师的基础上,始终只保留一个小的增量,以便在开发和修复错误时方便合并和简化您的认知负荷。
https://softwareengineering.stackexchange.com/questions/369295
复制相似问题