我和我的同事正在同一存储库上工作。我们已将其分为两个分支,每个分支在技术上均适用于不同的项目,但是它们具有相似之处,因此有时我们需要master
从返回* branch
。
但是,我有branch
。我的同事该如何专门拉那个分支?
git clone
仓库的A似乎并没有在本地为他创建分支,尽管我可以看到它们在最终推动后仍处于混乱状态。
另外,当我最初创建分支时,我也做了-b checkout
。那有什么不同吗?
$ git branch -r
origin/HEAD -> origin/master
origin/daves_branch
origin/discover
origin/master
$ git fetch origin discover
$ git checkout discover
这些是我运行的命令。但这绝对是行不通的。
我希望能够检出该分支,然后从各种协作者或工作站将分支的更改推回并提交。
您需要创建一个跟踪远程分支的本地分支。以下命令将创建一个名为daves_branch的本地分支,以跟踪远程分支origin / daves_branch。当您进行更改时,远程分支将被更新。
对于最新版本的Git:
git checkout --track origin/daves_branch
--track
是简写形式,git checkout -b [branch] [remotename]/[branch]
其中[remotename]是起源,而[branch]是相同的两倍,在这种情况下是daves_branch。
对于Git 1.5.6.5,您需要:
git checkout --track -b daves_branch origin/daves_branch
对于Git 1.7.2.3及更高版本,这已经足够(它可能更早开始,但这是我很快就能找到的最早的确认):
git checkout daves_branch
请注意,对于最新的Git版本,此命令将不会创建本地分支,而会将您置于“分离的HEAD”状态。如果要本地分支,请使用该--track
选项。
完整的详细信息在这里:3.5 Git分支-远程分支,跟踪分支
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句