Я изо всех сил пытаюсь понять что-то о GIT.
У нас есть хранилище с несколькими ветками в нем. Я могу получить локальную копию одной из этих веток (git checkout -b ...), внести некоторые изменения и затем вернуть их обратно. Однако, если мне не удается пометить конец ветви, как другие пользователи получают заголовок ветви? Когда они используют git checkout для извлечения ветви, они получают код в точке ветви, а не в заголовке этой ветви.
Что мне здесь не хватает?
РЕДАКТИРОВАТЬ: Я пришел в этот проект поздно и был вовлечен в преобразование CVS в GIT. Я предполагаю, что FOO_3_4_0001 ... помечает все точки отметки вдоль ветви, начатой с FOO_3_4_0001_INITIAL. Как я могу проверить?
РЕДАКТИРОВАТЬ 2: Спасибо всем, кто предоставил ответы. Оказывается, тега FOO_3_4_0001 не было в ветке 3.4, и это то, чего мне не хватало все время. Я уже устроил вечеринку линчевания.
@ ghoseb, не работал. Я попробовал это:
16:19:29 (1) foo $ git checkout --track -b FOO_3_4_0001_INITIAL origin/FOO_3_4_0001_INITIAL
Branch FOO_3_4_0001_INITIAL set up to track remote branch refs/remotes/origin/FOO_3_4_0001_INITIAL.
Switched to a new branch "FOO_3_4_0001_INITIAL"
16:19:36 (1) foo $ git branch
* FOO_3_4_0001_INITIAL
master
16:19:39 (1) foo $ git pull
remote: Counting objects: 68, done.
remote: Compressing objects: 100remote: % (59/59), done.
remote: Total 61 (delta 18), reused 0 (delta 0)
Unpacking objects: 100% (61/61), done.
From ssh://***
f0c5a5f..99f6c1e master -> origin/master
Already up-to-date.
16:19:42 (1) foo $
В этот момент я проверил изменения, внесенные в эту ветку, и ее там нет. Если я проверю код с меткой FOO_3_4_0001_RC5a, мое изменение там.
Хорошо, больше информации для @Dustin и @ mipadi.
Когда я запускаю git branch -r
, я вижу:
16:12:02 (1) foo $ git branch -r
origin/FOO_3_3_0001_BUILT_VF_BRANCH
origin/FOO_3_4_0001_INITIAL
origin/FOO_3_5_0000_RC5
origin/FOO_3_5_0001_BRANCH
origin/HEAD
origin/master
origin/origin
16:12:05 (1) foo $
И если я посмотрю на список тегов, я вижу среди прочего:
16:12:05 (1) foo $ git tag -l
FOO_3_4_0000_RC1
FOO_3_4_0000_RC2
FOO_3_4_0000_RC2b
FOO_3_4_0000_RC3
FOO_3_4_0000_RC4
FOO_3_4_0000_RC4b
FOO_3_4_0000_RC5
FOO_3_4_0000_RELEASE
FOO_3_4_0000_TC1
FOO_3_4_0000_TC2
FOO_3_4_0001_RC2
FOO_3_4_0001_RC3
FOO_3_4_0001_RC4
FOO_3_4_0001_RC5
FOO_3_4_0001_RC5a
FOO_3_4_0001_TC1
16:14:33 (1) foo $
Задача, с которой я столкнулся, заключается в том, чтобы знать, какой последний код в ветке FOO_3_4_0001_INITIAL.
Теперь в этом случае я знаю, что это FOO_3_4_0001_RC5a, но если я не знаю (как это иногда бывает у некоторых наших разработчиков), как мне проверить, что ветка origin_FOO_3_4_0001_INITIAL знает, что у меня последний код в этой ветке?