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

tsd*_*own 11 git github

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

  1. 克隆他们的存储库
  2. 分叉上游
  3. 添加了我们的分叉作为遥控器
  4. 修复了主分支中的一些错误
  5. 将主人推到我们的远程叉子上
  6. 发送拉取请求
  7. 他们撤消了变化
  8. git fetch origin
  9. 在主人: git merge origin/master

这是正确的做事方式吗?我们最终得到了一个额外的"Merge commit'gengen/master'"消息,其他开发人员似乎并没有这样做.同样在日志中我们可以看到两次提交.

一切似乎都没问题,但感觉不对.有没有好的GitHub工作流程页面?Git帮助页面似乎错过了如何进行本地更改的部分.

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

Von*_*onC 8

这是一种方式.
我更喜欢克隆我的 GitHub repo(一个分支GitHub项目"hisRepo"),而不是直接克隆现有的"theirRepo".

我建议在"hisRepo"之上重新设置主分支,而不是合并.
我相信这会避免在日志中看到你的提交两次,并且会避免额外的"合并"提交消息.

  1. 在myRepo中分叉hisRepo
  2. 克隆myRepo
  3. 添加了"theirRepo"作为遥控器
  4. 修复了主分支中的一些错误
  5. 将主人推到我们的远程叉"myRepo"
  6. 发送拉取请求
  7. 他们撤消了变化
  8. git fetch theirRepo
  9. 在主人: git rebase theirRepo/master

另请参阅讨论的各种类似策略(另一种情况,但可以给你一些想法)在这个问题中:如何在我在github.com上分叉的项目上重新发布我对本地git仓库的提交?