Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GitHub,Git,如何向上游存储库提交更改_Git_Github - Fatal编程技术网

GitHub,Git,如何向上游存储库提交更改

GitHub,Git,如何向上游存储库提交更改,git,github,Git,Github,我们已经在内部使用Git很长一段时间了,在我们的团队中有一个非常好的工作流程。昨天我们想向GitHub上的一个项目提交一些bug修复。这对我们来说是新鲜事。这就是我们所做的: 克隆了他们的存储库 向上游分叉 添加了我们的叉子作为遥控器 修复了主分支中的一些错误 把主人推到我们的遥控叉上 发送了一个请求 他们取消了更改 git获取来源 在主机上:git合并原点/master 这是正确的做事方式吗?我们最终得到了一条其他开发人员似乎没有得到的额外“合并提交‘origin/master’”消息。在日志

我们已经在内部使用Git很长一段时间了,在我们的团队中有一个非常好的工作流程。昨天我们想向GitHub上的一个项目提交一些bug修复。这对我们来说是新鲜事。这就是我们所做的:

  • 克隆了他们的存储库
  • 向上游分叉
  • 添加了我们的叉子作为遥控器
  • 修复了主分支中的一些错误
  • 把主人推到我们的遥控叉上
  • 发送了一个请求
  • 他们取消了更改
  • git获取来源
  • 在主机上:
    git合并原点/master
  • 这是正确的做事方式吗?我们最终得到了一条其他开发人员似乎没有得到的额外“合并提交‘origin/master’”消息。在日志中,我们还可以看到两次提交

    一切似乎都很好,只是感觉不对。有好的GitHub工作流页面吗?Git帮助页面似乎忽略了如何进行本地更改部分

    我想,如果我们在将更改推到fork之后回滚主分支,我们就不会有这个问题,但这感觉也不对。

    这是一种方法。
    我更喜欢克隆我的GitHub repo(一个分支GitHub项目“theirepo”)而不是直接克隆现有的“theirepo”

    我建议您在“Theirepo”的顶部重新设置主分支,而不是合并。
    我相信这样可以避免在日志中看到两次提交,并且可以避免额外的“合并”提交消息

  • 在myRepo中分叉他们的IREPO
  • 克隆myRepo
  • 添加了“Theirepo”作为遥控器
  • 修复了主分支中的一些错误
  • 将master推到我们的远程分叉“myRepo”
  • 发送了一个请求
  • 他们取消了更改
  • git获取他们的IREPO
  • 在主机上:
    git重新设置其IREPO/master的基址

  • 在这个问题中也可以看到讨论过的各种类似策略(对于另一个案例,但这可以给你一些想法):

    谢谢你的帮助,非常感谢。如果我在抓取后重新设置基准,这将撤消我的提交,那么应用它们的提交(现在包括拉取中的提交)并在右上角重放我的提交?git是否认识到提交是相同的,或者我没有理解这里的内容?@tsdbrown git应该检测到类似的提交(相同的SHA1)太棒了,我希望是这样。下次我会给你这个答案。@tsdbrown:请毫不犹豫地在这里发布一个答案,反映这个解决方案是如何为你工作的;)