Клонирование ветки без объединения основной ветки - PullRequest
0 голосов
/ 10 января 2012

Иногда я хочу иметь возможность вытащить из репо (через клон). Но когда я делаю это и затем переключаюсь на локальную ветвь для извлечения удаленной ветки, git предполагает, что я хочу взять основную ветку и интегрировать ее. Как мне избежать этого? Я уверен, что могу достичь того, чего хочу, с помощью другой серии действий / команд.

Я бы сказал, что обычно сталкиваюсь с этим, когда хочу работать в определенной ветке на дополнительном компьютере.

обновление
Я запускаю следующие команды на дополнительном компьютере, где я хочу работать только в экспериментальной ветке

git clone http://somewhere.com/something.git    
git branch experiment    
git checkout experiment   
git pull origin experiement    

Ответы [ 2 ]

2 голосов
/ 10 января 2012

Каждая ветвь должна указывать на некоторый коммит.Если вы ничего не указали, 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).Они также установят ветку на дорожку origin/experiment, поэтому push и pull будут в и из этой удаленной ветви.

0 голосов
/ 10 января 2012

Если вы хотите получать ветки только с пульта или пульта без объединения чего-либо, вы можете просто сделать

git fetch --all

или

git fetch [remote]

Я обычно просто открываю git guiи нажмите «пульты»> «извлекать»> [remote], а затем я использую

gitk --all 

, чтобы посмотреть, что делается в удаленных ветвях.
Затем я могу объединиться, если захочу ... git pull означает aвыборки + сливаться

...