tft每日頭條

 > 生活

 > git合并分支策略

git合并分支策略

生活 更新时间:2025-02-10 15:05:16

使用git init 命令創建一個本地倉庫

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)1

得到的文件結構如下圖:

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)2

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)3

使用git status 命令查看工作區狀态

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)4

git add 命令添加工作區文件到倉庫

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)5

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)6

分别修改f.txt文件兩次,每次增加一行代碼後保存,然後運行git add f.txt

我們發現每次文件修改保存後,隻要文件有變化,就會在objects目錄下有新的文件夾生成,其實這裡就是存放我們每次文件的記錄的。經測試文件沒有修改,運行git add f.txt是沒有變化的。

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)7

提交文件(git commit)

git commit -m "first"

-m參數是備注的意思後面跟着我們這次提交的備注信息。

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)8

提交後查看工作區狀态

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)9

git log查看日志

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)10

查看提交詳情(git show)

git show 24acb470df451a7b6c97d9bc64ff971ce7403d72

git diff命令查看文件不同

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)11

第一行運行時沒有任何結果,因為我們剛comiit(提交)了代碼,所以工作區與倉庫的内容沒有不同。當我們将e.txt文檔增加了一行aaaa後,運行git diff将會看到對比後的結果。

git reset命令恢複工作區到指定的更新點

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)12

運行命令git reset --hard c551ecc634efc9e1339f2e35347d4ff704ce1615

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)13

這時我們在打開f.txt,e.txt發現文件内容的确恢複到當時内容的情況了。

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)14

git branch -l查看分支命令

git中分支的意思是以當前master為基準開出一個新的分支,倉庫在創建時就有一個默認分支master.如下圖:

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)15

下面我們根據實例看一下到底分支是怎麼起作用的

創建我們創建一個倉庫,然後在工作區創建一個a.txt文檔,添加一行内容:111,然後添加到索引區(add),然後提交(commit)。

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)16

創建新的分支

git branch b1

切換到新的分支

git checkout b1

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)17

這時我們分支b1裡保存的就是從master複制來的文件快照,當我們切換到分支b1後修改一下a.txt增加一行内容:222,然後add(添加到索引區),然後再commit(提交)

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)18

以上部分我們分支b1和分支master内容就不相同了.其中master中的a.txt還是隻有一行内容:111

我們先checkout 到master下

git checkout master

然後打開a.txt查看内容如下:

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)19

然後我們切換到b1分支下

git checkout b1

然後打開a.txt查看内容如下:

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)20

以上就演示了git神奇的分支功能,我們可以在代碼某一個版本後,開一個分支,繼續編寫另一套程序。最常見的應用場景之一就是我們比如在做好一套web框架後,基于這個框架開分支編寫具體的應用程序。

分支的合并

上面說了分支可以将多套代碼分别管理的功能,當然git中分支的強大功能還不局限于此。下面我們讨論一下分支的合并功能。

接着上面的步驟,我們在分支b1中給a.txt内容增加了一行:222,那麼現在master中a.txt内容還是:111,如果我們想把b1分支合并來,那怎麼做?答案是使用git merge命令。

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)21

這時在master下查看a.txt内容與b1分支查看文件内容都是同樣的兩行内容了。(也就是實現了把b1分支下的文件内容合并到了mater下)

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)22

關于分支沖突的産生

如果說上一步合并前,我們修改master分支下的a.txt,我們增加了一行内容:aaa,并提交了。這時如果我們運行合并命令時,會有出錯提示:

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)23

因為我們這時master分支下a.txt内容為:

111

aaa

而b1分支下a.txt内容為:

111

222

因而在合并時出現了沖突

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)24

至于 沖突的處理,我們繼續看

git合并分支策略(git命令使用理解及分支的創建合并沖突問題解決)25

如上圖,出現沖突後,git已經在出現沖突的文件裡給我們标記好沖突的位置及内容,我們修改好文件後,使用git add 然後git commit把修改好的文件提交到我們的master分支裡即可。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved