同步master的提交历史并开发

时间:2016-10-18 07:56:20

标签: git github

我使用master作为生产分支,每晚以只读方式提取到许多服务器上。师父永远不应该超前发展,因为我只是推动发展。当开发稳定时,我想快速掌握它以匹配它。

我目前正在这样做: git checkout master git pull起源发展 git push origin + master

这适用于我并很好地同步一切,但感觉有点不对劲。我的团队还有另一个开发人员,他喜欢像平常人一样将开发融入主人。但是,合并会创建一个合并git,这使得master 1在开发之前提交。随着时间的推移,这些积累并使得git历史不洁净且令人讨厌。如果我执行我的分支克隆黑客攻击,那些合并提交将在远程消失但仍留在我团队的本地分支中。

我尝试了git rebase和git merge --ff,但是这些改变了哈希,但仍显示不均匀。

总结:如何干净地快速掌握主人,即使是在开发中也能完美无缺?或者我只是不按照它的意图使用git?

1 个答案:

答案 0 :(得分:1)

一般来说,你的流程似乎是正确的。 但由于绝对要求仅进行快进,因此您应该通过--ff-only来强制执行它。

git checkout master 
git fetch origin
git merge --ff-only origin/develop
git push origin master

--ff不需要,因为快进是一种默认行为。

  

我尝试了git rebase和git merge --ff,但那些改变了哈希   仍显示不均匀。

快进合并by definition从不创建合并提交,但只更新分支指针:

  

- ff当合并解析为快进时,只更新分支指针,而不创建合并提交。这是默认值   行为。