Git學習記錄-分支&更改提交(二)

分支

顯示分支一覽表

git branch
在這裏插入圖片描述
*表示當前我們所處的分支

創建&切換分支

git checkout -b

  • 切換到feature-A分支,並進行提交
    git checkout -b feature-A
    該語句等同於如下兩條命令:
    1.git branch feature-A
    2.git checkout feature-A
    在分支feature-A中修改文件,採用如下的方式,將會添加修改到feature-A分支中,而不會影響master分支:
    git add + 文件
    git commit -m “Add feature-A”
    (注意:如果不提交修改,直接切換到master分支,將會把修改同步到master中)
  • 切換回主分支
    git checkout master
  • 切回到上一個分支
    git checkout -

特性分支

(特性分支,集中實現單一特性(主題),除此之外不進行任何作業的分支)

主幹分支

通常將master分支作爲主幹分支,主幹分支中並沒有開發到一半的代碼,可隨時供人查看。擁有多個版本時,主幹分支也有多個。

合併分支

git merge
首先切換到主幹分支
git checkout master
合併分支,加上–on-ff參數在歷史記錄中明確記錄下本次分支合併
在這裏插入圖片描述
保存並退出後,feature-A中的內容就保存到master中了
在這裏插入圖片描述

以圖表形式查看分支

git log --graph
在這裏插入圖片描述

更改提交的操作

回溯歷史版本

git reset

  • 回溯到feature-A分支前
    要讓倉庫的HEAD(指向當前分支中最新一次提交的指針)、暫存區、當前工作樹回溯到指定狀態,使用:
    git reset --hard + 目標時間點的哈希值
  • 創建fix-B特性分支
    git checkout -b fix-B
    在這裏插入圖片描述
  • 推進至feature-A分支合併後的狀態
    git reflog -> 查看當前倉庫的操作日誌。
    git log 只能查看以當前狀態爲終點的歷史日誌
    在這裏插入圖片描述

git reset --hard + 指定時間節點的哈希值
在這裏插入圖片描述

消除衝突

  • 合併fix-B
    在這裏插入圖片描述
    feature-Af分支的更改與fix-B分支的更改發生了衝突。
  • 查看並解決衝突部分
    在這裏插入圖片描述
    =======之上是當前HEAD的內容,下面是要合入的內容
    處理衝突
    在這裏插入圖片描述
  • 提交衝突解決之後的內容
    git add 與 git commit
    在這裏插入圖片描述

更改提交信息

git commit --amend ,修改上一條提交信息
在這裏插入圖片描述
在這裏插入圖片描述

壓縮歷史

git rebase -i

  • 創建feature-c分支
    git checkout -b “faeture-c”
    git commit -am “修改信息”(一次性完成add和commit)
  • 修正拼寫錯誤
    在文件中修改拼寫錯誤之後,再次git commit -am “修改信息”
  • 更改歷史
    git rebase -i HEAD~2
    在這裏插入圖片描述
    將Fix typo的歷史記錄壓縮到Add feature-c的歷史記錄中,將左側的pick部分刪除,改寫爲fixup。
    在這裏插入圖片描述
  • 合併至master 分支
    git checkout master
    git merge --no-ff feature-c
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章