有时我希望能够从回购中获取(通过克隆)。但是,当我这样做,然后更改为本地分支以引入远程分支时,git假设我想采用主分支并将其集成。我该如何避免这种情况?我确信我可以通过一系列不同的动作/命令实现我想要的目标。
我想说当我想在辅助机器上的特定分支上工作时,我通常遇到这种情况。
更新:
我在辅助机器上运行以下命令,我只想在实验分支上工作
git clone http://somewhere.com/something.git
git branch experiment
git checkout experiment
git pull origin experiement
答案 0 :(得分:2)
每个分支都需要指向某个提交。如果您没有指定任何内容,git branch
将新分支指向与HEAD相同的提交。
您希望分支指向origin/experiment
:
git clone http://somewhere.com/something.git
cd something
git branch experiment origin/experiment
git checkout experiment
...或
git clone http://somewhere.com/something.git
cd something
git checkout -b experiment origin/experiment
或者,因为git足够聪明,可以知道在这种情况下你要做什么......
git clone http://somewhere.com/something.git
cd something
git checkout experiment
所有这些都会做同样的事情(创建指向origin/experiment
的新分支)。他们还会将分支设置为 track origin/experiment
,因此push和pull将来往于该远程分支。
答案 1 :(得分:0)
如果您只想从遥控器或遥控器获取分支而不合并任何东西,您可以只做
git fetch --all
或
git fetch [remote]
我通常只是打开git gui并点击遥控器> fetch> [remote]然后我用
gitk --all
查看远程分支机构的操作。
如果我想......我可以合并......
git pull表示获取+合并