国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

7.9 Rerere

2018-02-24 15:22 更新

Rerere

git rerere?功能是一個(gè)隱藏的功能。 正如它的名字 “reuse recorded resolution” 所指,它允許你讓 Git 記住解決一個(gè)塊沖突的方法,這樣在下一次看到相同沖突時(shí),Git 可以為你自動(dòng)地解決它。

有幾種情形下這個(gè)功能會(huì)非常有用。 在文檔中提到的一個(gè)例子是如果你想要保證一個(gè)長(zhǎng)期分支會(huì)干凈地合并,但是又不想要一串中間的合并提交。 將?rerere?功能打開(kāi)后偶爾合并,解決沖突,然后返回到合并前。 如果你持續(xù)這樣做,那么最終的合并會(huì)很容易,因?yàn)?rerere?可以為你自動(dòng)做所有的事情。

可以將同樣的策略用在維持一個(gè)變基的分支時(shí),這樣就不用每次解決同樣的變基沖突了。 或者你將一個(gè)分支合并并修復(fù)了一堆沖突后想要用變基來(lái)替代合并 - 你可能并不想要再次解決相同的沖突。

另一個(gè)情形是當(dāng)你偶爾將一堆正在改進(jìn)的特性分支合并到一個(gè)可測(cè)試的頭時(shí),就像 Git 項(xiàng)目自身經(jīng)常做的。 如果測(cè)試失敗,你可以倒回合并之前然后在去除導(dǎo)致測(cè)試失敗的那個(gè)特性分支后重做合并,而不用再次重新解決所有的沖突。

為了啟用?rerere?功能,僅僅需要運(yùn)行這個(gè)配置選項(xiàng):

$ git diff-tree -p rack_remote/master

也通過(guò)在特定的倉(cāng)庫(kù)中創(chuàng)建?.git/rr-cache?目錄來(lái)開(kāi)啟它,但是設(shè)置選項(xiàng)更干凈并且可以應(yīng)用到全局。

現(xiàn)在我們看一個(gè)簡(jiǎn)單的例子,類似之前的那個(gè)。 假設(shè)有一個(gè)像這樣的文件:

#! /usr/bin/env ruby

def hello
  puts 'hello world'
end

在一個(gè)分支中修改單詞 “hello” 為 “hola”,然后在另一個(gè)分支中修改 “world” 為 “mundo”,就像之前一樣。

重置揭密?看到的?reset?來(lái)回滾分支。

$ git reset --hard HEAD^
HEAD is now at ad63f15 i18n the hello

我們的合并被撤消了。 現(xiàn)在讓我們變基特性分支。

$ git checkout i18n-world
Switched to branch 'i18n-world'

$ git rebase master
First, rewinding head to replay your work on top of it...
Applying: i18n one word
Using index info to reconstruct a base tree...
Falling back to patching base and 3-way merge...
Auto-merging hello.rb
CONFLICT (content): Merge conflict in hello.rb
Resolved 'hello.rb' using previous resolution.
Failed to merge in the changes.
Patch failed at 0001 i18n one word

現(xiàn)在,正像我們期望的一樣,得到了相同的合并沖突,但是看一下?Resolved FILE using previous resolution?這行。 如果我們看這個(gè)文件,會(huì)發(fā)現(xiàn)它已經(jīng)被解決了,而且在它里面沒(méi)有合并沖突標(biāo)記。

$ cat hello.rb
#! /usr/bin/env ruby

def hello
  puts 'hola mundo'
end

同樣,git diff?將會(huì)顯示出它是如何自動(dòng)地重新解決的:

$ git diff
diff --cc hello.rb
index a440db6,54336ba..0000000
--- a/hello.rb
+++ b/hello.rb
@@@ -1,7 -1,7 +1,7 @@@
  #! /usr/bin/env ruby

  def hello
-   puts 'hola world'
 -  puts 'hello mundo'
++  puts 'hola mundo'
  end

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)