黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 Git合并和合并沖突

Git合并和合并沖突

更新時間:2021-12-23 10:42:05 來源:動力節點 瀏覽2224次

Git 中,合并是連接分叉歷史的過程。它將兩個或多個發展歷史連接在一起。git merge 命令可以幫助您獲取 git branch 創建的數據并將它們集成到單個分支中。Git merge 會將一系列提交關聯到一個統一的歷史記錄中。一般使用 git merge 來合并兩個分支。

“git合并”命令

git merge 命令用于合并分支。

git merge 命令的語法如下:

$ git merge  <查詢>

它可以在各種上下文中使用。一些如下:

場景 1:將指定的提交合并到當前活動的分支:

使用以下命令將指定的提交合并到當前活動的分支。

$ git merge  <提交>  

上面的命令會將指定的提交合并到當前活動的分支。您還可以通過在 中傳入分支名稱來將指定的提交合并到指定的分支。讓我們看看如何提交到當前活動的分支。

請參閱以下示例。我對我的項目文件newfile1.txt進行了一些更改,并將其提交到我的測試分支中。

復制要在活動分支上合并的特定提交并執行合并操作。請參閱以下輸出:

在上面的輸出中,我們已經合并了活動分支 test2 中的先前提交。

場景 2:將提交合并到主分支:

要將指定的提交合并到 master,首先要發現它的提交 id。使用 log 命令查找特定的提交 ID。

$git log  

請參閱以下輸出:

要將提交合并到 master 分支,請切換到 master 分支。

$ git checkout master  

現在,切換到分支“master”以對提交執行合并操作。使用 git merge 命令和 master 分支名稱。其語法如下:

$ git merge master  

請參閱以下輸出:

如上面的輸出所示,提交 ID 為2852e020909dfe705707695fd6d715cd723f9540的提交已合并到主分支中。master 分支中的兩個文件已更改。但是,我們已經在測試分支中進行了此提交。因此,可以合并任何分支中的任何提交。

打開新文件,您會注意到我們提交給測試分支的新行現在被復制到主分支上。

場景 3:Git 合并分支。

Git 允許將整個分支合并到另一個分支中。假設您在一個分支上進行了許多更改,并希望一次合并所有這些更改。Git 允許您這樣做。請參閱以下示例:

在給定的輸出中,我對 test 分支上的 newfile1 進行了更改。現在,我已經在測試分支中提交了這個更改。

現在,切換到要合并的所需分支。在給定的示例中,我已切換到 master 分支。執行以下命令將整個分支合并到活動分支中。

$ git merge <branchname> 

從給定的輸出中可以看出,分支 test2 的整個提交已合并到分支 master。

Git合并沖突

當兩個分支嘗試合并,并且同時在同一個文件中進行編輯時,Git 將無法確定要采用哪個版本進行更改。這種情況稱為合并沖突。如果發生這種情況,它會在合并提交之前停止,以便您可以手動解決沖突。

讓我們通過一個例子來理解它。

假設我的遠程存儲庫已被我的兩個團隊成員user1和user2克隆。user1 在我的項目索引文件中進行了如下更改。

借助 git add 命令在本地存儲庫中更新它。

現在提交更改并使用遠程存儲庫更新它。請參閱以下輸出:

現在,我的遠程存儲庫將如下所示:

它將顯示文件的狀態,例如由誰和何時編輯。

現在,與此同時,user2也更新索引文件如下。

User2 已添加并提交本地存儲庫中的更改。但是當他試圖將它推送到遠程服務器時,它會拋出錯誤。請參閱以下輸出:

在上面的輸出中,服務器知道該文件已經更新并且沒有與其他分支合并。因此,推送請求被遠程服務器拒絕。它會拋出一個錯誤消息,比如[rejected] failed to push some refs to 。它會建議您在推送之前先拉取存儲庫。請參閱以下命令:

在給定的輸出中, git rebase 命令用于從遠程 URL 中拉取存儲庫。在這里,它會在 中顯示類似合并沖突的錯誤消息。

解決沖突:

要解決沖突,需要知道沖突是否發生以及發生的原因。Git合并工具命令用于解決沖突。合并命令的使用如下:

$ git mergetool  

在我的存儲庫中,它將導致:

上面的輸出顯示了沖突文件的狀態。要解決沖突,只需按I 鍵進入插入模式并根據需要進行更改。按Esc 鍵, 退出插入模式。輸入:w! 在編輯器底部保存并退出更改。要接受更改,請使用 rebase 命令。它將按如下方式使用:

$ git rebase --continue  

因此,沖突已經解決。請參閱以下輸出:

在上面的輸出中,沖突已經解決,本地存儲庫與遠程存儲庫同步。如果大家想了解更多相關知識,可以關注一下動力節點的Java在線學習,里面的課程內容全面,從入門到精通,適合零基礎的小伙伴學習,希望對大家能夠有所幫助。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 成年人天堂| 久久亚洲综合 | 久草福利视频 | 欧美日本一区 | 男女日皮免费视频 | 成年黄页网站大全免费动漫 | 好吊色几万部永久免费视频 | 午夜毛片在线观看 | 日本一区深夜影院深a | 欧美激情视频一区 | 精品成人在线 | 野猫鲁24小时网址最新 | 91在线欧美 | 日韩免费一区二区 | 五月天婷婷免费视频 | 国产国语一级a毛片高清视频 | 欧美videosex娇小hd| 黄视频网站大全 | 精产国品一区 | 日日摸夜夜添夜夜 | 日日夜人人澡人人澡人人看免 | 日韩中文字幕在线免费观看 | 成人免费一级在线播放 | 另类异族videosex太狠了 | 色爱区综合五月激情 | 又爽又黄又紧的免费视频 | va亚洲va欧美va国产综合 | 香蕉视频网址 | 成人a大片在线观看 | 91探花国产综合在线精品 | 天天干影视| 日本欧美成人免费观看 | 国产片a国产片免费看视频 国产片黄色 | 国产91激情对白露脸全程 | 男人和女人日批视频 | 天天爽夜夜爽人人爽 | 久久亚洲成人 | 最近中文字幕mv免费视频 | 免费妞干网 | 视频一区二区三区在线观看 | 国产成人99|