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

git-在當(dāng)前分支做變基(rebase current onto selected)

這篇具有很好參考價(jià)值的文章主要介紹了git-在當(dāng)前分支做變基(rebase current onto selected)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

git rebase變基

初學(xué)git,在合并分支上必定會(huì)常用到 git merge 語(yǔ)法。git除了使用合并(merge)集成2個(gè)分支之間的更改,還有另外一種稱為rebase的方法。

git rebase <基礎(chǔ)分支>

rebase的作用是改變基點(diǎn)。rebase把當(dāng)前分支的基點(diǎn),由與基礎(chǔ)分支的共同祖先處,移動(dòng)到基礎(chǔ)分支的頭部位置處,然后以新基點(diǎn)為基礎(chǔ),重新提交當(dāng)前分支中的更改。

git rebase使用場(chǎng)景

Git中分支merge和rebase的適用場(chǎng)景及區(qū)別
參考URL: https://www.cnblogs.com/marblemm/p/7161614.html
git merge rebase的區(qū)別及應(yīng)用場(chǎng)景
參考URL: http://www.mamicode.com/info-detail-1774810.html

兩個(gè)使用場(chǎng)景是不一樣的,merge只是合并另外一個(gè)分支的內(nèi)容,rebase也合并另外一個(gè)分支的內(nèi)容,但是會(huì)把本分支的commits頂?shù)阶铐敹?/strong>

假設(shè)我們現(xiàn)在有3個(gè)分支

  • master分支:線上環(huán)境使用的分支
  • testing分支:測(cè)試環(huán)境使用的分支
  • my_feature分支:開發(fā)新功能的分支,也就是當(dāng)前分支

A. 假設(shè)我在my_feature上開發(fā)了一段時(shí)間,之后另外的同事開發(fā)的功能正式上線到master分支了,那么我可以在當(dāng)前的分支下rebase一下master分支,這樣我這個(gè)分支的幾個(gè)commits相對(duì)于master還是處于最頂端的,也就是說(shuō)rebase主要用來(lái)跟上游同步,同時(shí)把自己的修改頂?shù)阶钌厦?/strong>

B. 我在my_feature上開發(fā)了一段時(shí)間了,想要放到testing分支上,那就切到testing,然后merge my_feature進(jìn)來(lái),因?yàn)槭莻€(gè)測(cè)試分支,commits的順序無(wú)所謂,也就沒(méi)必要用rebase (當(dāng)然你也可以用rebase)

另外,單獨(dú)使用rebase,還有調(diào)整當(dāng)前分支上commits的功能(合并,丟棄,修改commites msg)

git rebase還是git merge?

在開發(fā)過(guò)程中使用git rebase還是git merge,優(yōu)缺點(diǎn)分別是什么?
參考URL: https://www.zhihu.com/question/36509119

兩個(gè)使用場(chǎng)景是不一樣的,merge只是合并另外一個(gè)分支的內(nèi)容,rebase也合并另外一個(gè)分支的內(nèi)容,但是會(huì)把本分支的commits頂?shù)阶铐敹?/strong>

merge 的話,會(huì)產(chǎn)生一個(gè)commit,記錄合并的操作,可能是沒(méi)有沖突自動(dòng)生成的merge commit,也可能解決沖突后自己編寫的 commit??傊嗔艘粋€(gè) commit。

支持merge多一點(diǎn),原因如下:

  • rebase過(guò)程中,一個(gè)commit出現(xiàn)沖突,下一個(gè)commit也極有可能出現(xiàn)沖突,一次rebase可能要解決多次沖突;
  • 合并的歷史脈絡(luò)(沖突)被物理消滅了
  • merge,合并結(jié)果不好看,一堆線交錯(cuò),但合并有沖突的話,只要解一次就行了;

來(lái)自網(wǎng)上:有人說(shuō):“團(tuán)隊(duì)里有新人且水平參差不齊的情況下,建議統(tǒng)一 git merge,不然容易出來(lái)麻花,過(guò)去解完麻花再傳授一番 git rebase 的原理,然后 git push -f 一發(fā)又有什么收益呢”。

為了追求Git的線好看,在團(tuán)隊(duì)合作中使用rebase說(shuō)輕點(diǎn)是舍本逐末,說(shuō)重了是對(duì)團(tuán)隊(duì)不負(fù)責(zé)任。個(gè)人以及本地項(xiàng)目無(wú)所謂。

總結(jié):支持merge多一點(diǎn),團(tuán)隊(duì)合作建議用merge。一般私有的用rebase,公開的用merge。(如果團(tuán)隊(duì)成員對(duì)于git的分支管理并不嫻熟,那我推薦使用merge。)**開源項(xiàng)目中,我們一般會(huì)推薦commitor在提交PR前做一次rebase。**審核通過(guò)后,PR的commit list會(huì)合并成一個(gè)patch打到主分支中。所以無(wú)論是不是做過(guò)rebase,最終表現(xiàn)在master上都只是一個(gè)獨(dú)立的commit。

git-在當(dāng)前分支做變基(rebase current onto selected)

在當(dāng)前分支做變基

Rebase Current onto Selected: 在當(dāng)前分支做變基。(將所選分支提交加入到當(dāng)前分支)

變基也是將一個(gè)分支的代碼整合到另外一個(gè)分支。跟merge功能類似,但也存在著很大的不同。變基可以把提交線整合得更加是一條直線。

git-在當(dāng)前分支做變基(rebase current onto selected)

$ git checkout dev
$ git rebase master

如上,我在dev分支,我選擇吧 dev變基 到main,意思就是把main和合并到到dev和merge功效差不多,不同的是我們的commit提交就是置于最新的頂端。

總結(jié):我們當(dāng)前在哪個(gè)分支,選擇某個(gè)分支,操作merge或者rebase都是把別人分支的東西合并到我當(dāng)前的分支上。

使用總結(jié)

我們可以在自己獨(dú)立的分支上,把代碼變基到協(xié)作分支上,這樣既不影響和別人的協(xié)作,也可以讓自己的分支更加的簡(jiǎn)潔。

在本地分支中使用 rebase 來(lái)合并主分支的改動(dòng),是為了讓你的本地提交記錄清晰可讀。(當(dāng)然, rebase 不只用來(lái)合并 master 的改動(dòng),還可以在協(xié)同開發(fā)時(shí) rebase 隊(duì)友的改動(dòng)。)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-495296.html

到了這里,關(guān)于git-在當(dāng)前分支做變基(rebase current onto selected)的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【Git】如何使用sourcetree進(jìn)行rebase操作(變基)

    【Git】如何使用sourcetree進(jìn)行rebase操作(變基)

    注:接下來(lái)的演示操作仍將以SourceTree這個(gè)可視化工具為例。 個(gè)人感覺rebase這個(gè)功能有點(diǎn)多余,其實(shí)merge操作已經(jīng)覆蓋了它的功能??赡芫褪菫榱俗屨麄€(gè)commit看起來(lái)更順暢一下,沒(méi)有那么多的旁路分支,不那么雜亂。雖然個(gè)人不是很喜歡這個(gè)功能,但是很多開源庫(kù)的作者再你提

    2024年02月04日
    瀏覽(30)
  • Git撤銷本次pull rebase(變基) 回退到pull前的代碼

    Git撤銷本次pull rebase(變基) 回退到pull前的代碼

    ?執(zhí)行以下代碼后,版本回退到之前的版本,怎么恢復(fù)? 1.輸入命令查看本地記錄 列表記錄: 2.找到本次rebase之前的id:53106a6 3.執(zhí)行命令回退 4.執(zhí)行命名取消rebase狀態(tài) ? 5.恢復(fù)現(xiàn)場(chǎng) ? ?

    2024年02月16日
    瀏覽(20)
  • VSCode種git rebase分支沖突解決無(wú)法繼續(xù)rebase

    VSCode種git rebase分支沖突解決無(wú)法繼續(xù)rebase

    情景: ? ? ? ? 常規(guī)來(lái)說(shuō)我們git開分支開發(fā)完新功能之后,提交之前rebase dev分支,然后合并到dev上算是開發(fā)完成。 問(wèn)題還原: ? ? ? ? 在開發(fā)完之后執(zhí)行如下指令: ???????? 1.執(zhí)行變基操作:git rebase dev。 //這一步出現(xiàn)沖突vscode上處理沖突,點(diǎn)擊添加(相當(dāng)于add,下圖

    2024年02月17日
    瀏覽(23)
  • 【隨筆】Git 基礎(chǔ)篇 -- 分支與合并 git rebase(十)

    【隨筆】Git 基礎(chǔ)篇 -- 分支與合并 git rebase(十)

    ?? 所屬專欄:【Git】 ?? 作??者:我是夜闌的狗?? ?? 個(gè)人簡(jiǎn)介:一個(gè)正在努力學(xué)技術(shù)的CV工程師,專注基礎(chǔ)和實(shí)戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識(shí)的地方,喜歡的話請(qǐng)三連,有問(wèn)題請(qǐng)私信 ?? ?? ?? 您的點(diǎn)贊、關(guān)注、收藏、評(píng)論,是對(duì)我最大

    2024年04月14日
    瀏覽(22)
  • 【隨筆】Git 高級(jí)篇 -- 推送主分支 git rebase & git fetch(三十三)

    【隨筆】Git 高級(jí)篇 -- 推送主分支 git rebase & git fetch(三十三)

    ?? 所屬專欄:【Git】 ?? 作??者:我是夜闌的狗?? ?? 個(gè)人簡(jiǎn)介:一個(gè)正在努力學(xué)技術(shù)的CV工程師,專注基礎(chǔ)和實(shí)戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識(shí)的地方,喜歡的話請(qǐng)三連,有問(wèn)題請(qǐng)私信 ?? ?? ?? 您的點(diǎn)贊、關(guān)注、收藏、評(píng)論,是對(duì)我最大

    2024年04月23日
    瀏覽(29)
  • git分布式管理-頭歌實(shí)驗(yàn)合并遠(yuǎn)程分支、rebase、儲(chǔ)藏

    git分布式管理-頭歌實(shí)驗(yàn)合并遠(yuǎn)程分支、rebase、儲(chǔ)藏

    任務(wù)描述 在軟件開發(fā)中,通常會(huì)在版本庫(kù)中創(chuàng)建多個(gè)不同的分支進(jìn)行開發(fā)。例如,最基本的可以有一個(gè)測(cè)試版分支和一個(gè)正式版分支,其中測(cè)試版分支用來(lái)完成最新功能代碼的開發(fā)與測(cè)試,正式版則用于管理即將發(fā)布的版本。 如果某個(gè)版本通過(guò)了測(cè)試,就需要將其推到正式

    2024年03月12日
    瀏覽(136)
  • Git分支的合并策略有哪些?Merge和Rebase有什么區(qū)別?關(guān)于Merge和Rebase的使用建議

    Git分支的合并策略有哪些?Merge和Rebase有什么區(qū)別?關(guān)于Merge和Rebase的使用建議

    參考:《Git 權(quán)威指南》、《Git團(tuán)隊(duì)協(xié)作》、快手git管理 (1)工作區(qū)域 首先來(lái)介紹介紹下Git的工作區(qū)域,分為 工作區(qū) 、 暫存區(qū) 和 倉(cāng)庫(kù)區(qū) ,每個(gè)區(qū)域的轉(zhuǎn)換關(guān)系如上圖所示。 工作區(qū)(workspace) :就是我們平時(shí)本地存放項(xiàng)目代碼的地方; 暫存區(qū)(index/stage) :用于臨時(shí)存放

    2024年02月04日
    瀏覽(14)
  • git合并代碼命令 分支合并代碼 cherry-pick merge rebase區(qū)別

    1.cherry-pick 需要注意 暫存未提交的更改 暫存更改: 使用git stash或git stash push命令暫存當(dāng)前工作目錄和暫存區(qū)的更改。你可以提供一個(gè)消息作為參數(shù),以便更容易地識(shí)別stash項(xiàng): 執(zhí)行cherry-pick: 現(xiàn)在,你的工作目錄是干凈的,可以安全地執(zhí)行cherry-pick操作了。找到你想要cherry

    2024年04月12日
    瀏覽(20)
  • git 基于當(dāng)前分支創(chuàng)建新分支

    要基于當(dāng)前分支創(chuàng)建一個(gè)新分支,可以按照以下步驟進(jìn)行: 首先,確保你處于想要基于其創(chuàng)建新分支的當(dāng)前分支上。 確保當(dāng)前分支的更改已經(jīng)提交并推送到倉(cāng)庫(kù)中。 使用以下命令創(chuàng)建新分支: 這個(gè)命令將會(huì)創(chuàng)建一個(gè)名為 新分支名 的新分支,并且你會(huì)自動(dòng)切換到這個(gè)新分支

    2024年04月26日
    瀏覽(26)
  • git基于當(dāng)前分支創(chuàng)建新分支

    git基于當(dāng)前分支創(chuàng)建新分支

    在當(dāng)前分支下,新建分支 推送到遠(yuǎn)程倉(cāng)庫(kù) 將本地分支和遠(yuǎn)程分支關(guān)聯(lián) 方法二 :用編輯器創(chuàng)建新分支 vscode 點(diǎn)擊左下角分支,編輯器上方出現(xiàn)“從...創(chuàng)建分支”,直接創(chuàng)建新分支。分支代碼推送到遠(yuǎn)程即關(guān)聯(lián)遠(yuǎn)程分支 ??

    2024年02月09日
    瀏覽(87)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包