天天看點

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上去的分支關聯
    git分支與版本管理、版本回退、沖突解決記錄

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 ,将檔案都加進去,最後一次git commit ,git push origin --

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到遠端,遠端合并)
           
git分支與版本管理、版本回退、沖突解決記錄

三.版本回退

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 檢視情況:
    git分支與版本管理、版本回退、沖突解決記錄
  • 看提示,要将修改的代碼add,add後不能git commit -m "...",git push origin 分支名,這樣會報錯,提示存在未合并的檔案,不可送出,按照git status 的提示,将需要add的檔案都add ,
    git分支與版本管理、版本回退、沖突解決記錄
  • 然後用git commit 送出,會進入vim 編輯器,寫送出備注,
  • 将沖突都解決,并送出後,程式試運作,看是否能跑,能跑再push
    git分支與版本管理、版本回退、沖突解決記錄

五.vim編輯器的簡單使用

1.可用下列語句恢複

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

六.儲存檔案

1.儲存

$ git stash save "...."           

2.可用下列語句恢複

$ git stash apply