亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問雙點“.”的區別是什么?和三點“…”在Git提交范圍內?

請問雙點“.”的區別是什么?和三點“…”在Git提交范圍內?

Git
青春有我 2019-08-02 11:02:18
雙點“.”的區別是什么?和三點“…”在Git提交范圍內?有些Git命令采用提交范圍,一種有效的語法是將兩個提交名稱與兩個點分開。..,另一個語法使用三個點。....兩者有什么不同?
查看完整描述

3 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊


這取決于您是否使用log命令或命令diff命令。在log箱子,在man git-rev-parse文件:

若要排除可從提交中訪問的提交,請使用前綴^表示法。例如,^r1 r2意味著從R2提交可到達的,但排除那些可從r1到達的提交。

這個集合操作經常出現,以至于它有一個縮寫。當您有兩個提交R1和R2(根據上面指定的修改中解釋的語法命名)時,您可以請求從R2可以到達的提交(不包括那些可以從r1到的提交),并且可以寫成“r1.r2”。

類似的表示法“R1.R2”被稱為R1和R2的對稱差,并被定義為“R1 R2-而不是$(git合并-基-所有r2)”。這是一組提交,可以從R1或R2之一訪問,但不能同時從兩者中訪問。

這基本上意味著您將得到在這兩個分支中的任何一個中的所有提交,而不是在這兩個分支中都得到的提交。

diff箱子,在man git-diff文件:

  git diff [--options] <commit>...<commit> [--] [<path>...]

      This form is to view the changes on the branch containing and up to
      the second <commit>, starting at a common ancestor of both
      <commit>. "git diff A...B" is equivalent to "git diff
      $(git-merge-base A B) B". You can omit any one of <commit>, which
      has the same effect as using HEAD instead.

有點模糊?;旧?,這意味著它只顯示了該分支與另一個分支之間的差異:它查找與您給出的第一個提交之間的最后一個普通提交,然后將第二個提交區分開來。與此分支相比,查看該分支中所做的更改是一種簡單的方法,而無需注意該分支中的更改。

這個..有點簡單:在git-diff案例,就像git diff A B就像A對B一樣logCase,它顯示了B中的所有提交,但A中沒有。



查看完整回答
反對 回復 2019-08-03
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

這個答案實際上是用一個簡潔的文本、例子和圖片來解釋這種區別。我更喜歡它比目前最高的投票的答案,它只是引用不明確的文件。(Tl;博士,多虧了這個答案,我才真正理解其中的不同之處。)



查看完整回答
反對 回復 2019-08-03
  • 3 回答
  • 0 關注
  • 538 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號