簡體   English   中英

git rebase vs merge。如果git rebase會使標簽丟失?

[英]Git rebase vs merge.If git rebase will make tags missing?

A-B-C-D-E-F     master
    \
     H-I-J      feature
       |
      tag v1.0

如果我reabse master feature怎么辦? tag1.0是否會丟失?

該標簽不會丟失,但可能不會執行您想要的操作。 這就是標簽將保留在I

A-B-C-D-E-F          master
    |     \
    \      H'-I'-J'  feature 
     H-I-J
       |
      tag v1.0

試試吧:

$ git init
$ for c in {A..F}; do touch $c; git add $c; git commit -m $c; done
$ git checkout -b feature HEAD^{/C}
$ for c in {H..J}; do touch $c; git add $c; git commit -m $c; done
$ git tag 'tag-v1.0' feature^{/I}

$ git log --graph --decorate --all --oneline
* d782b9d (HEAD -> feature) J
* c0df2db (tag: tag-v1.0) I
* 2a9fb01 H
| * 3018edf (master) F
| * e0eabe0 E
| * daab573 D
|/
* 8ebf4bb C
* 82be26d B
* 8379c01 A
$ git rebase master feature

$ git log --graph --decorate --all --oneline
* 091cf03 (HEAD -> feature) J
* 6327f84 I
* 69123dd H
* 3018edf (master) F
* e0eabe0 E
* daab573 D
| * c0df2db (tag: tag-v1.0) I
| * 2a9fb01 H
|/
* 8ebf4bb C
* 82be26d B
* 8379c01 A

筆記:

HEAD^{/C}引用消息與C匹配的HEAD 可獲得的最新提交,請參見gitrevisions

<rev>^{/<text>} ,例如HEAD^{/fix nasty bug}

版本參數的后綴^ ,然后是包含斜杠開頭的文本的大括號對,與下面的:/fix nasty bug語法相同,除了它返回可從<rev>訪問的最年輕的匹配提交。在^之前。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM