我们有一个名为deploy
的远程分支,用于构建和测试部署脚本。毫不奇怪,部署脚本最终位于名为deploy
的目录中。既然目录deploy
在分支master
中,那么在进行初始克隆时,实际检查该分支是很麻烦的。
$ git clone bitbucket.org:/myplace/mything
$ cd mything
$ ls
deploy extensions installExtensions src tests
$ git branch -r | grep dep
origin/deploy
$ git checkout deploy
$ git branch
* master
$ git checkout origin/deploy
Note: checking out 'origin/deploy'.
You are in 'detached HEAD' state. [SNIP]
此时我应该创建一个名为deploy
的本地分支并将其设置为跟踪远程?是否有任何语法我可以给git所以它知道我想要签出远程分支,而不是本地路径?
答案 0 :(得分:10)
您可以使用以下任一命令创建一个指向远程分支的新本地分支(后者将立即将其检出):
git branch deploy origin/deploy
git checkout -b deploy origin/deploy
然而,这将不会设置当Git自动为远程分支创建分支时发生的跟踪功能。为此,您必须执行以下操作:
git branch -u origin/deploy
作为替代方案,您可以在一个命令中完成所有操作,这与Git自动执行的操作相同:
git checkout -b deploy --track origin/deploy
答案 1 :(得分:3)
我的解决方法是
git checkout deploy --