以前大多個是一個的使用 Git, 到 Github 上提交的場景, 對多人開發合并項目經驗不多,現在遇到的是在 Github 上存在主分支, 本地需要修改多個功能和 bug 等等,我是按以前實習回來的同學提示, 在多個分支開發不同的功能, 然后合并提交..合并和提交的順序不是確定的, 因此不能簡單直接用 merge 每次一個個疊加.有時我用 rebase, 但有發現 commit 順序不是時間順序, 到線上被 merge 以后也不是非常清晰有在 Google, 但一些細節不清晰.. 比如 commit 顯示順序.. 還有再次被 merge 后的細節..
2 回答

梵蒂岡之花
TA貢獻1900條經驗 獲得超5個贊
git支持很多種工作流程,我們采用的一般是這樣,遠程創建一個主分支,本地每人創建功能分支,日常工作流程如下:
去自己的工作分支$ git checkout work
工作....
提交工作分支的修改$ git commit -a
回到主分支$ git checkout master
獲取遠程最新的修改,此時不會產生沖突$ git pull
回到工作分支$ git checkout work
用rebase合并主干的修改,如果有沖突在此時解決$ git rebase master
回到主分支$ git checkout master
合并工作分支的修改,此時不會產生沖突。$ git merge work
提交到遠程主干$ git push
這樣做的好處是,遠程主干上的歷史永遠是線性的。每個人在本地分支解決沖突,不會在主干上產生沖突。

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
可以在一條分支上一起開發,你有變更的時候,在提交前,使用
git stash
這樣將本地的修改全部緩存在一個堆棧中了,然后把別人的修改同步過來
git pull --rebase
下一步是將自己的變更恢復到最新的節點上
git stash pop
然后再使用git commit提交,這樣就會讓一個分支的版本按順序繼續發展,而不是像織毛衣一樣,你可以看一下我們使用這種方法前后的對比圖
- 2 回答
- 0 關注
- 229 瀏覽
添加回答
舉報
0/150
提交
取消