1. 程式人生 > >Git(四)

Git(四)

抓取 form 通過 修復 失敗 number pull 協作 branch

分支策略:

1.合並分支時,加上--no-ff參數就可以用普通模式合並,合並後的歷史有分支,能看出來曾經做過合並,而fast forward合並就看不出來曾經做過合並。

2.分支每個人創建自己的分支,然後推送到開發分支上,開發分支最後推送到master主分支上。

master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能在上面幹活。

自己的分支 ——》開發分支 ——》master 分支

3.當手頭工作沒有完成時,先把工作現場git stash

一下,然後去修復bug,修復後,再git stash pop stash@{0},回到工作現場。

git stash apply: 恢復之前工作現場,但stash列表裏並不刪除, git statsh pop: 恢復之前工作現場,並將stash列表裏刪除

git stash list: 查看之前 git stash 的現場

4. 開發一個新feature,最好新建一個分支;如果要丟棄一個沒有被合並過的分支,可以通過 git branch -D <name>

強行刪除

5.master 分支是主分支,時刻與遠程同步

dev 分支是開發分支,也需要與遠程同步

bug 分支用於在本地修復bug,沒必要同步
分支可以藏著玩,是否推送視情況而定。

分支協作: (重點、實用)

因此,多人協作的工作模式通常是這樣:

  1. 首先,可以試圖用 git push origin branch-name 推送自己的修改;

  2. 如果推送失敗,則因為遠程分支比你的本地更新,需要先用 git pull

    試圖合並;

  3. 如果合並有沖突,則解決沖突,並在本地提交;

  4. 沒有沖突或者解決掉沖突後,再用 git push origin branch-name 推送就能成功!

5.如果git pull提示“no tracking information”,則說明本地分支和遠程分支的鏈接關系沒有創建,用命令git branch --set-upstream branch-name origin/branch-name

這就是多人協作的工作模式,一旦熟悉了,就非常簡單。

    • 查看遠程庫信息,使用git remote -v

    • 本地新建的分支如果不推送到遠程,對其他人就是不可見的;

    • 從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠程的新提交;

    • 在本地創建和遠程分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠程分支的名稱最好一致;

    • 建立本地分支和遠程分支的關聯,使用git branch --set-upstream branch-name origin/branch-name

    • 從遠程抓取分支,使用git pull,如果有沖突,要先處理沖突。

Git(四)