1. 程式人生 > >git分支與版本管理、版本回退、衝突解決記錄 - 海北天藍 - 部落格園

git分支與版本管理、版本回退、衝突解決記錄 - 海北天藍 - 部落格園

一.基礎使用

1.初始化本地倉庫

git init


2.關聯遠端倉庫

git remote add origin [email protected]:使用者名稱/倉庫名.git 


3.新增遠端倉庫檔案到本地

git pull origin master

 

  • 本地自動建立master分支用於跟蹤遠端origin/master分支

4.建立本地分支

$ git checkout -b 新的分支名Switched to a new branch "新分支名"
  • 和以下效果等價


    $ git branch 新分支名 (新建分支)
    $ git checkout 新分支名 (跳轉到新分支)

     

  • 新建分支以建立新分支時所在的分支為源,比如在master中建立倉庫,新分支的初始內容和建立時master相同,這點可用於版本管理。

注意:在分支間跳轉本地檔案會切換到分支的檔案狀態,當提交修改提交到master,切換到其他分支,合併分支,git merge master,分支合併不止分支合到主分支,也可主合到分支。所以不論你在本地將修改提交到那個分支,可通過合併分支實現本地分支保持一致,將修改新增到其他分支。

5.將本地分支push到遠端倉庫

$ git push origin 分支名

 

  • 遠端新增分支,和本地push上去的分支關聯

6.

修改本地檔案,並提交


$ git add 檔名
$ git commit -m 備註
$ git push origin 分支名

 

7.刪除遠端分支

git push [遠端名] :[分支名]


栗子:如果想在伺服器上刪除serverfix 分支,執行下面的命令:


$ git push origin :serverfix
To [email protected]:schacon/simplegit.git - [deleted] serverfix

 

8.檔案重新命名修改提交

  • 修改後直接用git commit -m 備註
  • 然後 git push origin 分支名

注意:多個檔案修改,可先將檔案git add

9.檢視狀態(是否有未跟蹤檔案,是否有已修改未提交檔案等狀態改變),push前可檢視

$ git status


10.檢視提交記錄

$ git log

 

11.回退

$ git reset 

 

小結:

注意:要關聯本地和遠端倉庫,才可pull和push


二.版本管理(與建立分支結合)

1.master主要為釋出版本,如果要進行修改則以master為源新建分支,並將分支push到遠端,分支可命名為deveop1.0,或按照版本命名versin1.0,ersin2.1等。
如果是新增功能可用feature,修補bug可用fix_bug;
2.在分支中提交修改,確定合併分支到master


$ git checkout master (回到主分支)
$ git merge 分支名 (合併分支。本地合併)
$ git push origin master(將主分支修改push到遠端,遠端合併)


 


三.版本回退

1.當已經提交修改,但是想回到修改前的樣子時,可使用版本回退

$ git reset --hard HEAD^ (查詢版本號)
HEAD is now at f8dce4b 完成成就介面設計及編碼,根據資料內容顯示功能實現//“f8dce4b是版本號,後面緊跟著的是commit註釋”
$ git reset --hard HEAD^
HEAD is now at 1bc0043 Merge branch 'master' of put-me-down

2.找到想要的那個版本的版本號後進行回退

$ git reset --hard f8dce4b(版本號)u
HEAD is now at f8dce4b 完成成就介面設計及編碼,根據資料內容顯示功能實現


四.merge時出現衝突

1.合併分支語句

$ git merge 分支名


2.在寫合併分支語句之前把要合併的分支的內容pull下來,如將主分支pull下來

$ git pull origin master

 

  • pull 會出現衝突,pull下來的版本比本地版本更新,可以用git status 看存在哪些衝突,開啟檔案進行修改,如果要儲存原來版本,可在修改前用下列語句儲存程式碼:
    (點選這裡)

  • 和分支進行合併的時候(git merge 分支名),會出現衝突,同樣用git status進行檢視衝突,或者執行程式碼看報錯情況,對衝突進行修改。修改後要用git status 檢視情況:

  • 看提示,要將修改的程式碼add,add後不能git commit -m "...",git push origin 分支名,這樣會報錯,提示存在未合併的檔案,不可提交,按照git status 的提示,將需要add的檔案都add ,

  • 然後用git commit 提交,會進入vim 編輯器,寫提交備註,
  • 將衝突都解決,並提交後,程式試執行,看是否能跑,能跑再push


五.vim編輯器的簡單使用

1.可用下列語句恢復


shift + c 鍵-- 進入編輯狀態
esc鍵 --退出編輯狀態
退出編輯狀態後後“:+wq”退出編輯器

 


六.儲存檔案

1.儲存

$ git stash save "...."


2.可用下列語句恢復

$ git stash apply