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

Git版本管理(02)patch操作和分支操作整理

這篇具有很好參考價值的文章主要介紹了Git版本管理(02)patch操作和分支操作整理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1 git patch操作

1.1 git diff比較

使用git diff用于顯示當(dāng)前工作區(qū)與暫存區(qū)或提交歷史之間的差異,如果使用它生成patch,則需要使用git apply命令來引入patch,比如:

$git diff A.cpp >commit.patch

1.2 git patch打包

使用git format-patch生成patch,如下所示:

# 打包最近的一個patch:
$git format-patch HEAD^
# 打包最近的兩個patch
$git format-patch HEAD^^
# 打包最近的三個patch
$git format-patch HEAD^^^
# 打包最近的n個patch
$git format-patch -n
# 打包版本n1與n2之間的patch
$git format-patch -n1 -n2
# 某次提交以后的所有patch,不包含此次提交,兩者等價
$ git format-patch -s 5d7c81a2b
$ git format-patch 5d7c81a2b

打包好后會生成0001-XXX.patch 這樣格式的patch,使用git am(自動提交) /git apply 來merge patch即可。

1.3 git am操作總結(jié)

@1 批量am操作

如果patch有很多且都是這種0001、0002,即由git format-patch批量生成,則直接執(zhí)行命令:

$git am  ./patch/*.patch

注意:這里的*.patch需要是生成時就做了自動排序的,比如git format-patch批量生成。

如果有如下報錯:

git/rebase-apply/patch:272730: trailing whitespace.
struct gpio_pins {    
.git/rebase-apply/patch:272752: trailing whitespace.
    
.git/rebase-apply/patch:272814: trailing whitespace.
    gpio_direction_output(data->ipd_hall_en,1);    
.git/rebase-apply/patch:272841: trailing whitespace.
        
.git/rebase-apply/patch:272874: trailing whitespace.
    printk(KERN_ERR"GpioCtl_open\n");    
warning: squelched 39 whitespace errors
warning: 44 lines add whitespace errors.

則執(zhí)行:

$git am --whitespace=fix 0001-xxx.patch

會自動修復(fù)一部分 whitespace errors

@2 沖突修復(fù)

如果git am時報錯,如下所示:

warning: quoted CRLF detected
Applying: update code
error: patch failed: LINUX/android/kernel/ship_prebuilt/secondary_kernel/scripts/.asn1_compiler.cmd:1
error: LINUX/android/kernel/ship_prebuilt/secondary_kernel/scripts/.asn1_compiler.cmd: patch does not apply
error: patch failed: LINUX/android/kernel/ship_prebuilt/secondary_kernel/scripts/.bin2c.cmd:1
error: LINUX/android/kernel/ship_prebuilt/secondary_kernel/scripts/.bin2c.cmd: patch does not apply
...

那么接下怎么做呢?先執(zhí)行

$git apply --reject 0001-xxx.patch

這時會在文件目錄下產(chǎn)生 .rej 后綴的文件,里面就是無法自動合并的沖突,需要手動修改。手動修改正確后再將rej文件刪除即可。

因為屬于modified狀態(tài),因此需要執(zhí)行

$git add xxx

操作之后再繼續(xù)執(zhí)行
?

$git am --continue

就這樣,直到所有patch都正確merge即可。

1.4 git diff和git format-patch的區(qū)別

git diff和git format-patch是Git中用于生成補(bǔ)丁和差異的命令,它們之間的主要區(qū)別如下:

  • git diff:git diff命令用于顯示當(dāng)前工作區(qū)與暫存區(qū)或提交歷史之間的差異??梢燥@示文件的修改內(nèi)容,包括添加、刪除和修改的行??梢允褂貌煌倪x項和參數(shù)來控制差異的顯示方式,比如顯示具體的文件差異、忽略空白字符等。git diff通常用于查看尚未暫存或提交的更改,以幫助你了解當(dāng)前工作區(qū)的狀態(tài)和修改內(nèi)容。
  • git format-patch:git format-patch命令用于生成補(bǔ)丁文件(patch files),它將一系列提交轉(zhuǎn)換為可應(yīng)用的補(bǔ)丁文件。git format-patch會為每個提交創(chuàng)建一個單獨的補(bǔ)丁文件,每個補(bǔ)丁文件包含了該提交的所有修改內(nèi)容。生成的補(bǔ)丁文件一般以.patch擴(kuò)展名結(jié)尾,可以通過郵件或其他方式傳遞給他人,以便他們應(yīng)用這些補(bǔ)丁到他們的代碼庫中。補(bǔ)丁文件包含了修改的具體內(nèi)容,包括添加、刪除和修改的行,以及與之相關(guān)的提交信息。git format-patch命令可以使用不同的選項和參數(shù)來控制生成補(bǔ)丁文件的方式,比如指定要處理的提交范圍、生成多個補(bǔ)丁文件等。

總結(jié)來說:git diff用于顯示當(dāng)前工作區(qū)與暫存區(qū)或提交歷史之間的差異,用于查看尚未暫存或提交的更改。git format-patch用于將提交轉(zhuǎn)換為補(bǔ)丁文件,每個補(bǔ)丁文件包含了一個提交的所有修改內(nèi)容,用于傳遞和應(yīng)用補(bǔ)丁。這兩個命令在不同的場景下有不同的用途,根據(jù)你的需求選擇適合的命令來查看差異或生成補(bǔ)丁。文章來源地址http://www.zghlxwxcb.cn/news/detail-774226.html

2 git分支操作

2.1 基本操作

# 在master分支下保證當(dāng)前代碼與線上同步。
$git pull origin master 
# 查看遠(yuǎn)程分支
$git branch -r
# 查看本地和遠(yuǎn)程的所有分支
$git branch -a

2.2 新建 / 切換分支

#新建分支
$git branch <分支名> 
#切換到新建的分支
$git checkout/switch <分支名> 
#優(yōu)化操作,創(chuàng)建分支的同時再切換到該分支
$git checkout -b <分支名> 

2.3 提交分支到遠(yuǎn)端

# 把本地分支推到遠(yuǎn)端,讓遠(yuǎn)端也有一個你的分支,用來后面提交你的代碼
$git push origin <分支名> 

2.4 合并分支

# 合并分支,在當(dāng)前分支下將 <分支>合并到當(dāng)前分支,合并沖突后手動解決沖突
# 解決后使用git commit -m "Merge branchname into current branch"來完成了分支的合并操作
# 如果有沖突則需要先解決沖突再最后提交,其中
# 介于 <<<<<<<HEAD 和 ======= 之間的內(nèi)容是代碼塊1中內(nèi)容,
# 介于 ======= 和 >>>>>>> 之間的內(nèi)容是代碼塊2中內(nèi)容。
$git merge <分支名>

2.5 刪除分支

# 刪除分支,注意,只有當(dāng)該分支的修改已經(jīng)合并到其他分支時,才能被安全地刪除。如果分支的修改尚未合并,可以使用強(qiáng)制刪除的命令
git branch -d <分支名>  
# 分支的修改尚未合并,強(qiáng)制刪除分支
git branch -D <分支名>   

2.6 重命名本地分支

$git branch -m <oldbranch> <newbranch>

到了這里,關(guān)于Git版本管理(02)patch操作和分支操作整理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • GIT —— 基本操作,分支管理,遠(yuǎn)程操作

    最近找實習(xí),在完善簡歷,遂發(fā)一發(fā)存貨,有待持續(xù)完善,我認(rèn)為這部分非常的有意義 創(chuàng)建 配置 將配置生效于 當(dāng)前機(jī)器的 所有倉庫 刪除配置/刪除全局配置 .git :版本庫,不允許手欠做任何修改! stage/ 或 index/ :暫存區(qū),索引 gitcode/ : 工作區(qū) 修改的工作區(qū)內(nèi)容會寫入**對

    2024年02月11日
    瀏覽(21)
  • Chromium的Git版本分支合并、切換等管理

    源碼同步 1)git 初始配置 2)創(chuàng)建目錄 3)拉取代碼 fetch chromium 4)同步依賴庫 gclient sync 5)源碼更新 進(jìn)入src目錄,運行 git rebase-update。 同步完成后再運行g(shù)clinet sync -D 更新第三方庫等。 遠(yuǎn)程tag 創(chuàng)建本地相應(yīng)版本支使用命令: git checkout -b 114.0.5735.134 114.0.5735.134 后面需要運行

    2024年02月08日
    瀏覽(20)
  • git diff兩個分支有差異git merge卻顯示沒有可以合并的內(nèi)容

    git diff兩個分支有差異git merge卻顯示沒有可以合并的內(nèi)容

    problem: 用git diff可以發(fā)現(xiàn)兩個分支還是有很多不一樣的地方,可用git merge顯示not something we can merge 輸入gitk查看,發(fā)現(xiàn)preview已經(jīng)在這個分支前面了。。。雖然不太懂,但這樣是沒辦法將preview合并當(dāng)前分支的,只能這個分支合并preview。。。 解決:因為也不會別的解決方法,因

    2024年02月12日
    瀏覽(40)
  • git補(bǔ)丁操作:git生成patch和應(yīng)用patch

    git補(bǔ)丁操作:git生成patch和應(yīng)用patch

    一、生成patch 1、拉取代碼倉 2、在clone到本地的代碼目錄中,例如對README.md文件進(jìn)行了修改。然后使用 git status 命令查看工作目錄和暫存區(qū)的狀態(tài)。 ? (示例修改是在README.md文件開頭添加了如下內(nèi)容) ? 3、生成patch ? 查看README.patch的內(nèi)容(可以用Notepad++) ? 二、應(yīng)用patch

    2024年02月12日
    瀏覽(28)
  • Git 分支管理:優(yōu)化版本控制與應(yīng)急處理的關(guān)鍵策略

    在 Git 中,分支是主倉庫的新/獨立版本。 假設(shè)你有一個大型項目,需要對其進(jìn)行設(shè)計更新。 沒有使用 Git 時: 復(fù)制所有相關(guān)文件以避免影響實時版本 開始進(jìn)行設(shè)計工作,并發(fā)現(xiàn)代碼依賴于其他文件中的代碼,這些文件也需要更改! 復(fù)制相關(guān)文件,確保每個文件依賴項引用正

    2024年03月09日
    瀏覽(22)
  • 如何通過TortoiseGit工具查看Git管理的版本分支圖

    如何通過TortoiseGit工具查看Git管理的版本分支圖

    先上一張圖: 選中倉庫,鼠標(biāo)右擊 - TortoiseGit - (版本分支圖)Revision graph,即可打開版本分支圖。 紅色:當(dāng)前分支,也就是當(dāng)前正在使用的分支。 綠色:本地分支,也就是存在于本地 Git 倉庫中的分支,它們存儲在你的計算機(jī)上。 粉紅:遠(yuǎn)端分支,也就是存在于遠(yuǎn)程 Git 倉庫

    2024年02月04日
    瀏覽(112)
  • 【小吉帶你學(xué)Git】idea操作(2)_版本和分支的相關(guān)操作

    【小吉帶你學(xué)Git】idea操作(2)_版本和分支的相關(guān)操作

    ??專欄【Git】 ??喜歡的詩句:更喜岷山千里雪 三軍過后盡開顏。 ??音樂分享【Counting Stars 】 歡迎并且感謝大家指出小吉的問題?? 編譯環(huán)境可能因為idea的版本不同而不同,請以實際的為準(zhǔn)。 將IDEA與Git集成有很多用處,它能夠為開發(fā)人員帶來許多便利和優(yōu)勢。以下是將

    2024年02月14日
    瀏覽(27)
  • Git的常用命令,及還原文件的指定版本,及分支管理

    Git的常用命令,及還原文件的指定版本,及分支管理

    一.git 常用命令 二.還原文件的指定版本(從版本庫中恢復(fù)文件) 怎么查看最后一次提交id 顯示下面的結(jié)果 然后使用下面命令,就會恢復(fù)之前的修改 三.分支管理 創(chuàng)建分支分為兩種情況 一.第一種情況 創(chuàng)建倉庫時就把分支創(chuàng)建出來 2.第二種情況 已有倉庫,在創(chuàng)建分支 3.修改分

    2024年02月11日
    瀏覽(39)
  • 五、Git本地倉庫基本操作——分支管理

    五、Git本地倉庫基本操作——分支管理

    我們在初始化git倉庫的時候,會默認(rèn)創(chuàng)建一個master分支,HEAD指針這時就會默認(rèn)執(zhí)行master分支。當(dāng)我們在master分支提交(commit)了更新之后,master分支就會指向當(dāng)前當(dāng)前最新的commit??聪聢D比較好理解: 但是隨著時間的推移,我們可能會一個版本在原來的基礎(chǔ)上改動很大,或

    2024年02月04日
    瀏覽(27)
  • Git學(xué)習(xí)(一)基于本地操作:Git初識、Git安裝(Linux-ubuntu)、Git 基本操作、分支管理

    Git學(xué)習(xí)(一)基于本地操作:Git初識、Git安裝(Linux-ubuntu)、Git 基本操作、分支管理

    目錄 Git 初識 Git 安裝(Linux-ubuntu) Git 基本操作 創(chuàng)建 Git 本地倉庫 配置 Git 認(rèn)識工作區(qū)、暫存區(qū)、版本庫 添加文件 查看 .git 文件 修改文件 版本回退 撤銷修改 情況一:對于工作區(qū)的代碼,還沒有 add 情況二:已經(jīng) add ,但沒有 commit 情況三:已經(jīng) add ,并且也 commit 了? 刪除文

    2024年04月08日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包