我使用master作为生产分支,每晚以只读方式提取到许多服务器上。师父永远不应该超前发展,因为我只是推动发展。当开发稳定时,我想快速掌握它以匹配它。
我目前正在这样做: git checkout master git pull起源发展 git push origin + master
这适用于我并很好地同步一切,但感觉有点不对劲。我的团队还有另一个开发人员,他喜欢像平常人一样将开发融入主人。但是,合并会创建一个合并git,这使得master 1在开发之前提交。随着时间的推移,这些积累并使得git历史不洁净且令人讨厌。如果我执行我的分支克隆黑客攻击,那些合并提交将在远程消失但仍留在我团队的本地分支中。
我尝试了git rebase和git merge --ff,但是这些改变了哈希,但仍显示不均匀。
总结:如何干净地快速掌握主人,即使是在开发中也能完美无缺?或者我只是不按照它的意图使用git?
答案 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当合并解析为快进时,只更新分支指针,而不创建合并提交。这是默认值 行为。