Git rebase против слияния. Если git rebase сделает метки отсутствующими? - PullRequest
0 голосов
/ 26 ноября 2018
A-B-C-D-E-F     master
    \
     H-I-J      feature
       |
      tag v1.0

что если я reabse master feature?Будет ли отсутствовать тег 1.0?

1 Ответ

0 голосов
/ 26 ноября 2018

Тег не будет отсутствовать, но он, вероятно, не будет делать то, что вы хотите.То есть тег останется на 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} ссылка на самый последний коммит, доступный изHEAD, чье сообщение соответствует C, см. gitrevisions :

<rev>^{/<text>}, например, HEAD^{/fix nasty bug}

Суффикс ^ к параметру ревизии,сопровождаемая парой скобок, которая содержит текст во главе с косой чертой, аналогична синтаксису :/fix nasty bug, приведенному ниже, за исключением того, что она возвращает самый младший соответствующий коммит, достижимый с <rev> до ^.

...