git建立本地分支以及推送本地分之至遠端分支
Git分支策略
實際開發中,應當按照以下幾個基本原則進行管理:
首先,master分支應該是非常穩定的,也就是僅用來發布新版本,平時不能再上邊幹活。
那在哪幹活呢?幹活都在dev分支上,也就是說,dev是不穩定的,到某個時候,比如1.0版本釋出的時候,在將dev分支合併到master,在master分支釋出新版本。
你和你的小夥伴都有自己的分支,每個人在自己的分支上幹活,時不時地往dev分支上合併就可以了。
所以團隊合作分之看起來就像這樣:
git建立分支並切換到當前新建立的分支上
git checkout -b dev
開發完成後
git push origin dev
此時就將本地分支推送到遠端相應的分支上了
此時,團隊裡另一個成員要更新遠端dev分支上的程式碼
git pull
若出現如下錯誤
$ git pull
remote: Counting objects: 5, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
From github.com:michaelliao/learngit
fc38031..291bea8 dev -> origin/dev
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream dev origin/<branch>
git pull失敗了,原因是沒有指定本地dev分支與遠端dev分支的連結。
根據提示設定
git branch --set-upstream dev origin/dev
此時又出現提示
The --set-upstream flag is deprecated and will be removed.Consider using --track or --set-upstream-to
Branch dev set up to track remote branch dev from origin.
於是重新設定
git branch --set-upstream-to
origin/dev
然後就直接pull了
git pull
該同事修改完成後,又要將本地分支推送到遠端dev分支
但他習慣性的用了
git push
於是出現了警告
warning:push.default is unset;its implicit value has changed in Git 2.0 from 'matching' to 'simple' .
根據提示
我們設定
git config --global push.default simple
之後就可以直接用
git push
而不用再寫
git push origin dev了