我们已经在内部使用Git很长一段时间了,并且在我们的团队中有很好的工作流程.昨天我们想在GitHub上为一个项目提交一些错误修复.这对我们来说是新鲜事.所以这就是我们做的:
克隆他们的存储库
分叉上游
添加了我们的分叉作为遥控器
修复了主分支中的一些错误
将主人推到我们的远程叉子上
发送拉取请求
他们撤消了变化
git fetch origin
在主人: git merge origin/master
这是正确的做事方式吗?我们最终得到了一个额外的"Merge commit'gengen/master'"消息,其他开发人员似乎并没有这样做.同样在日志中我们可以看到两次提交.
一切似乎都没问题,但感觉不对.有没有好的GitHub工作流程页面?Git帮助页面似乎错过了如何进行本地更改的部分.
我想如果我们在将更改推送到fork之后回滚我们的主分支,我们就不会遇到这个问题,但这也感觉不对.
这是一种方式.
我更喜欢克隆我的 GitHub repo(一个分支GitHub项目"hisRepo"),而不是直接克隆现有的"theirRepo".
我建议在"hisRepo"之上重新设置主分支,而不是合并.
我相信这会避免在日志中看到你的提交两次,并且会避免额外的"合并"提交消息.
在myRepo中分叉hisRepo
克隆myRepo
添加了"theirRepo"作为遥控器
修复了主分支中的一些错误
将主人推到我们的远程叉"myRepo"
发送拉取请求
他们撤消了变化
git fetch theirRepo
在主人: git rebase theirRepo/master
另请参阅讨论的各种类似策略(另一种情况,但可以给你一些想法)在这个问题中:如何在我在github.com上分叉的项目上重新发布我对本地git仓库的提交?