我们已经在内部使用Git很长一段时间了,并且在我们的团队中有很好的工作流程。昨天我们想在GitHub上为一个项目提交一些错误修复。这对我们来说是新鲜事。所以这就是我们所做的:
git fetch origin
git merge origin/master
这是正确的做事方式吗?我们最终得到了一个额外的“Merge commit'gengen / master'”消息,其他开发人员似乎并没有这样做。同样在日志中我们可以看到两次提交。
一切似乎都没问题,但感觉不对。有没有好的GitHub工作流程页面? Git帮助页似乎错过了如何进行本地更改的部分。
我想如果我们在将更改推送到fork之后回滚我们的主分支,我们就不会遇到这个问题,但这也感觉不对。
答案 0 :(得分:8)
这是一种方式 我更喜欢克隆我的 GitHub repo(一个分支GitHub项目“hisRepo”),而不是直接克隆现有的“hisRepo”。
我建议在“hisRepo”之上重新设置主分支,而不是合并 我相信这会避免在日志中看到你的提交两次,并且会避免额外的“合并”提交消息。
git fetch theirRepo
git rebase theirRepo/master
另见这个SO问题中讨论的各种类似策略(针对另一个案例,但可以给你一些想法):How do I re-play my commits of a local git repo, on top of a project I forked on github.com?