我遵循本教程:gitflow
通常,当我实现一个新功能时,我会创建一个新的分支(仅适用于本地),在完成更改后,我拉动开发分支,与我的本地分支合并并推回开发
git checkout -b new-feature git add . git commit -m "finish the new feature" git pull origin develop git checkout develop git merge new-feature git push
然而,我的同事创建了一个远程分支(从开发分支分支)。当他完成新功能时,他会与开发分支合并。
所以,我错了,或者他错了?或者我们俩都是正确的?
答案 0 :(得分:5)
你们两个都是对的。
如果我是唯一需要处理该功能的人,我将为该功能创建一个本地分支。如果多个开发人员需要处理某个功能,那么通过git push origin -u feature_branch
创建该分支并将其推送到远程是最好的方法。
将本地分支推送到遥控器的另一个好处是,您可以在另一台计算机上备份您的工作,以防您崩溃。我很少这样做,因为我在本地工作时git rebase
,并且更改公共 Git历史记录是禁忌的(其他任何已经拆除并跟踪您的分支的孤儿)。