一、為什麼要做分支管理:
1.發了版本需要做乙個版本分支,如果此版本出了bug 可以切換到此版本修改bug,以後可能在某乙個版本節點上延伸出新的分支
2.需要乙個開發版的分支用來開發新的功能,因為很多情況下都是開發沒開發完又發現了緊急bug,這個時候不能用當前的**馬上打包修復bug
二、之前搭好了乙個gerrit **伺服器,只記錄一下建立分支的流程
1.建立分支
直接去gerrit 介面建立分支,名字按照自己的需求填寫,初始化版本->指定乙個master 提交的版本sha1
2.建立完成之後,本地執行 git pull
git branch -a 查詢版本分支列表
3.切換到指定分支
4.分支裡面建立乙個檔案 然後推上去
5.切換到主分支可以看到並沒有自己提交的那個檔案,切換到分支之後有自己建立提交的檔案!
三、開創了分支,當改了bug 或者有新的功能就需要合併到主分支裡了
1.切換到主分支
git checkout master
2.將分支合併到主分支
git merge branch_2
四、不小心在穩定的分支上改了大量的**,提交了怕出問題,不提交又覺得白幹了。
在tortoisegit 上commit 的時候發現可以提交到乙個新的分支上,於是就有乙個想法,提交到新分支上,然後跟dev 分支合併,這樣就不會改變穩定版的分支。
1.首先提交的時候勾選new branch 就會讓你輸入新分支的名稱
2.切換到開發的那個分支 git chekcout dev
3.合併兩個分支 git merge newbranch
4.發現衝突了,再用 tortoisegit 解決衝突,再次提交
5.發現提交成功了,但是gerrit伺服器上合併不了
6.git pull --rebase,讓自己處於最新的節點上,這樣code merge在最新的**之上。之前沒用過這個指令有點慌,
ctrl +c 打斷了
7.此時想再pull 或者push 的時候發現都不行了
這樣又進入當前分支了
8.查了一下 git pull --rebase 好像是我需要的,於是繼續
說是要先解決衝突然後 git rebase --continue
9.解決衝突之後 git rebase --continue 然後就可以了
10.登入到gerrit伺服器 發現可以合併了
11.確定沒問題了就可以刪掉本地的那個分支了
五、在某個發布的分支修改了bug,將它合併到其他分支
1.git log 找到提交的commit id
2.切換到指定分支 git switch 分支
3.git cherry-pick commit id
4.發現衝突 我是用tortoiesgit 編輯衝突解決衝突
5.git cherry-pick --continue 會進入 vim 介面 按照 esc鍵 再按兩下大寫的z 退出vim 就搞定了
分支管理 建立分支 合併分支
分支名前面有 代表此分支是當前所在分支 常用命令 步驟 建立分支 git brabch 分支名 檢視所有分支 git branch 切換到指定分支 git checkout 指定的分支名 代表當前所在分支 在自己的分支上進行修改並push到遠端倉庫對應的分支,最後的push的命令 git push ...
Git分支管理,建立分支
該鏈結博主詳細的描述了git 最主要的一句話 在不同的分支進行版本管理,只有在自己的分支上才會生效 合併衝突 修改主分支檔案 合併兩個或多個分支 建立乙個分支,在主分支master上切出乙個開發分支 git checkout b 分支名稱建立好新分支後,你現在所有的操作都是在新分支上進行 git b...
Git建立分支管理分支
一 clone repository clone github 上的repository,如下 git clone git github.com fbing design patterns.git 1二 管理分支 1 檢視分支 1 檢視本地分支 使用 git branch命令,如下 git bran...