Git 分支管理和版本控制

2021-09-12 02:19:36 字數 2610 閱讀 2330

git 分支管理

幾乎每一種版本控制系統都以某種形式支援分支。使用分支意味著你可以從開發主線上分離開來,然後在不影響主線的同時繼續工作。

建立和切換分支命令

git branch  //後面不跟引數時,表示檢視當前所有的分支

git branch (branchname) //建立分支

git checkout (branchname) //切換分支

git checkout -b (branchname) //建立分支並切換到新分支

新建立的分支跟原來的分支是一樣的,比如我們從master分支執行git branch test 命令,那麼test分支的內容就跟master分支一樣,但是如果我們切換到test分支中做修改,提交等操作,是不會影響master分支的內容的,從而讓我們能夠在不同分支中做事,並來回切換。一般我們建議是保留主分支的穩定性,公共的修改統一提交主分支master,主分支來做**的維護工作。建立的分支就做個性化的需求專案。

刪除分支

git branch -d (branchname)
合併分支
//將testbranch分支的內容合併到當前分支

git merge testbranch

git rebase testbranch

兩個使用場景是不一樣的,merge只是合併另外乙個分支的內容,rebase也合併另外乙個分支的內容,但是會把本分支的commits頂到最頂端

具體區別請參考zhangyulin54321部落格:

解決衝突

在rebase的過程中,也許會出現衝突(conflict). 在這種情況,git會停止rebase並會讓你去解決 衝突;在解決完衝突後,用"git add"命令去更新這些內容的索引(index), 然後,你無需執行 git-commit,只要執行:

git rebase--continue
git rebase--abort
衝突**說明:

<<<<<<< head

runoob.com

新增加一行

*****==

www.runoob.com

>>>>>>> change_site

<<<<<<< 到 *****== 裡面的內容為當前分支的原始分支的內容

*****== 到 >>>>>>> 裡面的內容為需要合併進來的分支的內容

檢視提交歷史

git log

在使用 git 提交了若干更新之後,又或者轉殖了某個專案,想回顧下提交歷史,我們可以使用git log命令檢視。

執行 git log 命令後的內容:

commit 088e0543244833e446f1dff67cb5a6a865a4a0ec

merge: a57c09b ab03264

author: zdd date: tue jan 29 11:17:54 2019 +0800

merge branch 'main_0119' into gms_0129

commit a57c09bbe1e3a1425da96aae03ae51d7250413a4

merge: fa6e4ad 7ea4562

author: zdd date: sat dec 15 10:04:59 2018 +0800

merge branch 'main_1219' into gms_1219

commit ab03264c606894963e01047e9e8772cfd82004d1

author: zdd date: thu dec 6 14:00:31 2018 +0800

updating security string for oc-mr1 to 2019-01-05

commit 就是我們每次提交自動生成的雜湊值,我們在檢視版本會用到這個雜湊值。

檢視歷史記錄的簡潔的版本git log --oneline

git log --oneline

088e054 merge branch 'main_0119' into gms_0129

a57c09b merge branch 'main_1219' into gms_1219

ab03264 updating security string for oc-mr1 to 2019-01-05

查詢指定使用者的提交日誌可以使用命令:git log --author
git log --author=zdd --oneline

088e054 merge branch 'main_0119' into gms_0129

a57c09b merge branch 'main_1219' into gms_1219

fa6e4ad merge branch 'main_1119' into gms_1119

e232fb4 merge branch 'main_1019' into gms_1019

d14f076 merge branch 'main_0919' into gms_0919

Git的版本和分支管理

1 2 3 本地的分支管理 建立分支,你可以使用 git branch dev 這就建立了乙個dev development之意 更好的,選擇使用下面的方法建立兩個分支 dev,建立後會自動切換到新建立的分支,git checkout b dev 要切回master分支怎麼辦?使用 git chec...

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,建立後會自動切換到...