国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Git合并利器:Vimdiff使用指南

這篇具有很好參考價(jià)值的文章主要介紹了Git合并利器:Vimdiff使用指南。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

使用 vimdiff 作為 Git 的合并工具確實(shí)可能會(huì)讓新手感到困惑,但它是一個(gè)功能強(qiáng)大的工具,一旦掌握了它,就可以非常高效地進(jìn)行代碼合并和比較。以下是一個(gè)簡(jiǎn)短的教程,旨在幫助理解 vimdiff 的基本用法以及如何利用它來(lái)進(jìn)行 Git 合并。

Git配置

在開始之前,需要知道如何將vimdiff設(shè)置為Git的合并工具。具體步驟如下:

git config merge.tool vimdiff
git config merge.conflictstyle diff3
git config mergetool.prompt false

這將把Git設(shè)置為默認(rèn)的合并工具,在合并時(shí)顯示共同祖先,并禁用打開vimdiff的提示。

  • git config merge.tool vimdiff: 這會(huì)將 vimdiff 設(shè)置為默認(rèn)的合并工具。
  • git config merge.conflictstyle diff3: 這會(huì)告訴 Git 在合并沖突時(shí)顯示共同祖先的版本,這樣就可以看到兩個(gè)分支以及它們的共同起點(diǎn)的內(nèi)容。
  • git config mergetool.prompt false: 這會(huì)禁用打開合并工具時(shí)的提示,Git 將自動(dòng)打開 vimdiff 而不詢問(wèn)是否想要繼續(xù)。

完成這些設(shè)置后,當(dāng)運(yùn)行 git mergetool 命令來(lái)解決合并沖突時(shí),Git 將自動(dòng)使用 vimdiff 來(lái)打開有沖突的文件。

創(chuàng)建合并沖突

下面用一個(gè)例子舉例:

創(chuàng)建一個(gè)名為"zoo"的目錄,并進(jìn)入"zoo"目錄,然后初始化Git倉(cāng)庫(kù),最后新建一個(gè)animals.txt。

mkdir zoo  # 
cd zoo
git init
vi animals.txt

在文件中添加一些動(dòng)物信息后并保存:

cat
dog
octopus
octocat

之后提交該文件

git add animals.txt
git commit -m "Initial commit"

添加文件animals.txt到Git,提交文件,并附上消息"Initial commit"。

創(chuàng)建一個(gè)名為"octodog"的分支,并切換到"octodog"分支,并打開文件animals.txt,并將"octopus"改為"octodog"。

git branch octodog
git checkout octodog
vi animals.txt  # let's change octopus to octodog

添加文件animals.txt到Git,提交文件,并附上消息"Replace octopus with an octodog"。

git add animals.txt
git commit -m "Replace octopus with an octodog"

切換到"master"分支,打開文件animals.txt,并將"octopus"改為"octoman"。

git checkout master
vi animals.txt  # let's change octopus to octoman

添加文件animals.txt到Git,提交文件,并附上消息"Replace octopus with an octoman"。

git add animals.txt
git commit -m "Replace octopus with an octoman"

合并"octodog"分支到"master"分支。

git merge octodog  # merge octodog into master

此時(shí),會(huì)得到一個(gè)合并錯(cuò)誤:

Auto-merging animals.txt
CONFLICT (content): Merge conflict in animals.txt
Automatic merge failed; fix conflicts and then commit the result.

這表明在animals.txt文件中存在合并沖突。

使用vimdiff解決merge沖突

解決這個(gè)沖突可以輸入以下命令:

git mergetool

執(zhí)行上述命令后,Git會(huì)嘗試使用vimdiff作為合并工具來(lái)解決沖突。vimdiff會(huì)打開一個(gè)窗口,顯示兩個(gè)版本的文件,中間會(huì)有沖突標(biāo)記。需要手動(dòng)比較這兩個(gè)版本,并選擇一個(gè)解決方案來(lái)替換沖突的部分。使用 hjkl 鍵在窗口之間導(dǎo)航,使用 :diffget LOCAL、:diffget REMOTE:diffget BASE 來(lái)將對(duì)應(yīng)窗口的內(nèi)容復(fù)制到 MERGED 窗口中。解決沖突后,保存并關(guān)閉文件,Git會(huì)提示你提交沖突的解決結(jié)果。

git mergetool vimdiff,Git,git,vimdiff

上述窗口看起來(lái)很迷糊,其實(shí)很好理解,下面解釋一下都有什么。從左到右,從上到下:

  1. LOCAL:
    • 這是當(dāng)前分支(通常是執(zhí)行 git merge 命令時(shí)所在的分支)的文件內(nèi)容。
    • 在合并過(guò)程中,這代表了您的最新更改。
  2. BASE:
    • 這是兩個(gè)分支的共同祖先的文件內(nèi)容。
    • 它顯示了自從兩個(gè)分支從共同點(diǎn)分開以來(lái),發(fā)生了哪些變化。
  3. REMOTE:
    • 這是試圖合并進(jìn)來(lái)的分支的文件內(nèi)容。
    • git merge 命令中,`` 就是這里的 REMOTE
  4. MERGED:
    • 這是合并后的文件內(nèi)容將顯示的地方。
    • 目標(biāo)是將 LOCALREMOTE 的更改合并到這個(gè)窗口中,以解決所有沖突。

假設(shè)想要保留“octodog”的更改(來(lái)自REMOTE)。為此,將光標(biāo)移動(dòng)到MERGED文件(Ctrl + w, j),然后移動(dòng)到合并沖突區(qū)域。接著,可以選擇保留LOCAL版本、BASE版本或REMOTE版本中的哪一部分,或者合并這些內(nèi)容。完成后,保存并關(guān)閉文件,Git會(huì)提示你提交沖突的解決結(jié)果。

:diffget RE

這會(huì)將REMOTE中相應(yīng)的更改添加到MERGED文件中,也可以:

`:diffg RE` - 從REMOTE獲取內(nèi)容
`:diffg BA` - 從BASE獲取內(nèi)容
`:diffg LO` - 從LOCAL獲取內(nèi)容

這些命令允許快速地從一個(gè)特定的版本中獲取內(nèi)容,并將其應(yīng)用于MERGED區(qū)域。一旦解決了所有的沖突,保存并關(guān)閉文件,Git會(huì)提示提交沖突的解決結(jié)果。

保存文件并退出(快速寫入并退出多個(gè)文件的方法是::wqa)。一旦解決了所有沖突并保存了文件后運(yùn)行git commit,完成這些步驟后,就成功地解決了合并沖突,并將更改提交到了 Git 倉(cāng)庫(kù)。

git mergetool vimdiff,Git,git,vimdiff

以下是一些其他的命令:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-857216.html

  • 使用:diffthis命令來(lái)打開兩個(gè)版本之間的差異,這樣可以更清楚地看到差異。
  • 使用:nextdiffto命令來(lái)切換到下一個(gè)差異,這樣可以逐步解決多個(gè)沖突。
  • 使用:diffoff命令來(lái)關(guān)閉差異顯示,這樣可以更專注于編輯。
  • 使用:diffmerge命令來(lái)合并兩個(gè)版本,這將覆蓋當(dāng)前的MERGED區(qū)域。
  • 使用:diffmergeoff命令來(lái)關(guān)閉合并顯示,這樣可以回到正常的編輯模式。

參考

  • https://www.rosipov.com/blog/use-vimdiff-as-git-mergetool/

到了這里,關(guān)于Git合并利器:Vimdiff使用指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vscode中g(shù)it使用指南

    要使用 git clone 命令來(lái)克隆(下載)一個(gè)Git項(xiàng)目,你需要知道項(xiàng)目的遠(yuǎn)程倉(cāng)庫(kù)URL。以下是如何使用 git clone 的基本步驟: 打開終端或命令行窗口。 切換到你想要將項(xiàng)目克隆到的目標(biāo)目錄。你可以使用 cd 命令進(jìn)入目標(biāo)目錄。例如,如果要將項(xiàng)目克隆到你的用戶主目錄下: 運(yùn)行

    2024年02月03日
    瀏覽(27)
  • git使用指南——以gitlab為例

    git使用指南——以gitlab為例

    注冊(cè)gitlab 自行注冊(cè) 新建項(xiàng)目 選擇新建一個(gè)空白的項(xiàng)目 clone項(xiàng)目地址到本地 執(zhí)行完之后,會(huì)在目錄下生成如下內(nèi)容: 進(jìn)入里面,選擇.git,要上傳的內(nèi)容(資料或代碼復(fù)制到該目錄下): 選擇上傳分支 如果不選擇上傳的分支,會(huì)默認(rèn)上傳到master分支上面 新建分支 打開項(xiàng)目頁(yè)

    2024年01月24日
    瀏覽(49)
  • git入門指南:新手快速上手git(Linux環(huán)境如何使用git)

    git入門指南:新手快速上手git(Linux環(huán)境如何使用git)

    目錄 ?前言 1. 什么是git? 2. git版本控制器 3. git在Linux中的使用 安裝git 4. git三板斧 第一招:add 第二招:commit 第三招:push 5. 執(zhí)行狀態(tài) 6. 刪除 總結(jié) ? ????????Linux的基本開發(fā)工具介紹完畢,接下來(lái)介紹一下Linux環(huán)境下如何使用git,以及git到底是什么?它和gitee和github之間有

    2024年02月03日
    瀏覽(37)
  • 2、Git使用不完全指南:Git客戶端的使用及使用Token認(rèn)證方式提交代碼詳解(詳細(xì)圖文)

    2、Git使用不完全指南:Git客戶端的使用及使用Token認(rèn)證方式提交代碼詳解(詳細(xì)圖文)

    本篇介紹如何在Windows、Linux下安裝Git客戶端以及從遠(yuǎn)程代碼倉(cāng)庫(kù)拉取代碼。以及介紹2023如何從GitHub上獲取Token令牌、使用Pycharm通過(guò)Token令牌從本地push上傳倉(cāng)庫(kù)的方法,用來(lái)解決推送代碼報(bào)Push failed The requested URL returned error:403的錯(cuò)誤問(wèn)題。 Windows 1、 安裝 Git 和 TortoiseGit Git 下載

    2024年02月15日
    瀏覽(25)
  • 一文學(xué)會(huì)git常用命令和使用指南

    一文學(xué)會(huì)git常用命令和使用指南

    背景:最近有剛?cè)肼毠镜男』锇閭兛偸窃趃it使用過(guò)程中一系列問(wèn)題,而且問(wèn)題很多都是低級(jí)問(wèn)題。所以我覺(jué)得有必要分享一個(gè)帖子,和大家學(xué)習(xí)一下。找了一下公司git管理規(guī)范文檔,發(fā)現(xiàn)文檔的描述不是很好理解,而且已經(jīng)和現(xiàn)在的管理方式有一定的出入。所以我自行總結(jié)

    2024年02月14日
    瀏覽(28)
  • 從零開始:Git 上傳與使用指南

    從零開始:Git 上傳與使用指南

    Git 是一種非常強(qiáng)大的版本控制系統(tǒng),它可以幫助您在多人協(xié)作開發(fā)項(xiàng)目中更好地管理代碼版本,并確保每個(gè)團(tuán)隊(duì)成員都能及時(shí)地獲取最新的代碼更改。在使用 Git 進(jìn)行版本控制之前,您需要先進(jìn)行一些設(shè)置,以確保您的代碼能夠順利地與遠(yuǎn)程倉(cāng)庫(kù)同步。 (然后打開CMD,看一下

    2024年01月25日
    瀏覽(16)
  • 1、Git使用不完全指南:GitHub的使用詳解

    1、Git使用不完全指南:GitHub的使用詳解

    GitHub 是一個(gè)以開源為基礎(chǔ)的社交化編程平臺(tái),開發(fā)者可以在上面分享代碼、協(xié)同開發(fā)、交流等。下面我們來(lái)講一下如何使用 GitHub。 注意:后續(xù)技術(shù)分享,第一時(shí)間更新,以及更多更及時(shí)的技術(shù)資訊和學(xué)習(xí)技術(shù)資料 ,將在公眾號(hào) CTO Plus 發(fā)布,請(qǐng)關(guān)注公眾號(hào): CTO Plus 首先,我

    2023年04月10日
    瀏覽(23)
  • Mac上使用git指南--持續(xù)補(bǔ)充

    一般來(lái)說(shuō),mac自帶git,可以通過(guò)git --version來(lái)查看是否安裝了git。 如果沒(méi)有安裝通過(guò)Git官網(wǎng)https://git-scm.com進(jìn)行安裝。Homebrew安裝完成后,執(zhí)行brew install git即可安裝最新版本Git。M1芯片ARM版Homebrew會(huì)把程序安裝到/opt/homebrew/Cellar路徑下,而Intel芯片的Mac則會(huì)被安裝到/usr/local/Homeb

    2024年02月02日
    瀏覽(21)
  • Git入門使用到遠(yuǎn)程倉(cāng)庫(kù)全指南

    Git入門使用到遠(yuǎn)程倉(cāng)庫(kù)全指南

    本文是面向零基礎(chǔ)者的Git入門教程,內(nèi)容較為基礎(chǔ)簡(jiǎn)單,主要來(lái)源于各種資料整合以及個(gè)人使用經(jīng)驗(yàn),僅作基本了解性介紹。內(nèi)容基本涵蓋Git常用操作,以各種命令為中心,逐一解釋其用法和注意事項(xiàng)。另附在VScode利用其輔助功能使用Git的介紹。 Git是一個(gè)開源的分布式版本控

    2024年02月04日
    瀏覽(27)
  • Git 可視化工具 Fork 使用指南

    Git 可視化工具 Fork 使用指南

    轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/zhaoyanjun6/article/details/125135486 本文出自【趙彥軍的博客】 最近遇到一個(gè)新項(xiàng)目,經(jīng)過(guò)數(shù)年的積累,大概有 30000 個(gè)分支,用可視化工具打開直接卡死。 由于分支實(shí)在是太多了,一般的可視化工具,直接卡死,比如 Sourcetree 就直接卡死,測(cè)試了

    2024年01月25日
    瀏覽(29)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包