[1]
[2]
[3]
本地的分支管理
建立分支,你可以使用
git branch dev
這就建立了乙個dev(development之意),更好的,選擇使用下面的方法建立兩個分支——dev,建立後會自動切換到新建立的分支,
git checkout -b dev
要切回master分支怎麼辦?使用
git checkout master
當然你也可以使用
git checkout dev
再次切換到dev分支。
好了,現在有兩個分支:master和dev了。比如切來切去,突然暫停手下的活要先擼一把,擼完回過頭不知道現在在哪個分支了,怎麼辦?
git branch
git-branch
搞定,git branch可以檢視當前已有的分支資訊,並在將當前所在分支高亮,當前分支前還有個*號。
某天要除錯某個新演算法,又不能保證能調好,又怕打亂了原有的程式,怎麼辦?建乙個新分支:
git checkout -b debug
在debug分支中慢慢玩,master分支和dev分支毫不受影響。這時就有兩種情況:
* 悲劇的最後還是沒調出來,我又有強迫症,debug分支一直放在那總是不爽,刪了
git branch -d debug
* 恭喜,演算法除錯成功,我要合併到master中
git checkout master // 切換到master
git merge debug // 合併debug到master
這時如果你很幸運,直接合併成功。悲傷的事情總是時有發生,「合併發生衝突」是常有的事,因此一旦出現類似下面的提示
conflict (content): merge conflict in ...
automatic merge failed; fix conflicts and then commit the result.
就得自己動手解決衝突了,git會用
<<<<<<>>>>>>debug
這樣的格式提醒你,只要修改保留實際需要的內容後即可解決衝突,解決衝突後就可以執行git commit。
好了,我們合併了master和debug,做it的人總會偷個腥,想看看git是怎麼記錄合併的,沒問題,
git log --graph --pretty=oneline --abbrev-commit
就可以直接看到分支合併的過程。我這有個大點的工程合併效果的例子,
example
最後,反正debug我玩完了,刪除debug分支
git branch -d debug
遠端的分支管理
我們所有的開發工作都在dev上進行,一旦有了大的突破,則合併到master。
* 既然有了dev分支,我也要把它推送到github上
如果不在dev,切換到dev,
git branch
git checkout dev
還記得我們之前推送master分支到遠端origin嗎?
git push -u origin master
推送dev也是一樣的,只要指定分支名為dev就可以了,
git push -u origin dev
* 同學a開頭寫了個專案,老闆讓我也跟著做,同學a說,你到github上圖clone我的**吧
git clone [email protected]:....
這是,你用git branch看看,這只是clone了master分支,dev呢?這可是費勁苦心,要在同學a的dev分支上開發,就必須建立遠端的dev分支到本地
git checkout -b dev origin/dev
再用git branch看看?有了吧。
* 在同學a的基礎上我又添了新功能,老闆催著,趕緊提交
git checkout dev
git pull origin dev
* 老闆某天突然和我說:你看同學a,又修改了好多bug,還不下下來學學
git pull origin dev
可能出現衝突,解決後才能進行下一次的提交。
極少的場合,要不就是老闆的老婆月經亂了,要不就是。。。哎,不說了,非要刪除遠端dev分支,也是有辦法的,
git push oringin :dev
本地tag管理
哇,第乙個里程碑式的突破,有木有,這時你可小小的慶幸一下,打個標籤(tag),表示這是個可靠的可發布版本,
git tag -a v1.0 -m "第乙個里程碑的突破"
當然,注釋別向上面一樣("第乙個里程碑的突破")寫得那麼沒有營養。起個好名字很重要。預設的標籤將打在最新的commit上。
檢視打了哪些標籤使用
git tag
檢視某個標籤的資訊用
git show v1.0
好了,好馬也有失前蹄的時候,標籤打錯也是正常的,
git tag -d v1.0
果斷刪了v1.0標籤。
遠端tag管理
我想要把v1.0推送到遠端,
git push origin v1.0
把所有的標籤一次推送到遠端更爽,
git push origin --tags
刪除遠端的標籤,你可以到github上刪除,也可以,
* 先刪除本地的
git tag -d v1.0
* 刪除遠端的
git push origin :refs/tags/v1.0
Git的版本和分支管理
本地的分支管理 遠端的分支管理 本地tag管理 遠端tag管理 結尾及參考 由於已經對git使用比較熟悉了,此篇關於git分支和版本的的管理將不會詳細記錄每乙個細節。如果你還不熟悉git,請先參看 1 2 3 建立分支,你可以使用 git branch dev這就建立了乙個dev developme...
Git的版本和分支管理
由於已經對git使用比較熟悉了,此篇關於git分支和版本的的管理將不會詳細記錄每乙個細節。如果你還不熟悉git,請先參看 1 2 3 建立分支,你可以使用 git branch dev這就建立了乙個dev development之意 更好的,選擇使用下面的方法建立兩個分支 dev,建立後會自動切換到...
Git 分支管理和版本控制
git 分支管理 幾乎每一種版本控制系統都以某種形式支援分支。使用分支意味著你可以從開發主線上分離開來,然後在不影響主線的同時繼續工作。建立和切換分支命令git branch 後面不跟引數時,表示檢視當前所有的分支 git branch branchname 建立分支 git checkout br...