我正在努力了解有关 GIT 的一些信息。
我们有一个包含许多分支的存储库。我可以获取其中一个分支的本地副本(git checkout -b ...),进行一些更改,然后将它们推回。但是,如果我未能标记分支的末尾,那么其他用户如何获得分支的负责人?当他们使用 git checkout 来获取分支时,他们会在分支点获取代码 - 而不是该分支的头部。
我在这里想念什么?
编辑:我很晚才加入这个项目,并参与了 CVS 到 GIT 的转换。我假设 FOO_3_4_0001... 标记沿分支的所有标记点以 FOO_3_4_0001_INITIAL 开始。我该如何检查?
编辑2:感谢所有提供答案的人。事实证明,标签 FOO_3_4_0001 不在 3.4 分支上,这就是我一直缺少的。我已经安排好了私刑派对。
@goseb,没用。我试过这个:
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 分支知道我已经获得了最新的代码那个分支?