2017-02-07 5 views
0

Я создал локальную ветвь, добавил несколько файлов и нажал их на удаленный. Когда я впервые ввел свои изменения, я использовал: git push origin test1 - где test1 - это имя моего филиала. В дальнейшем я внес дополнительные изменения и просто сделал git push. Нужно ли указывать удаленное имя каждый раз, когда я нажимаю или настраивается после первого нажатия?Git - нажатие локальной ветви на удаленный

Кроме того, когда я git branch -vv, я вижу следующее:

master 6727062 [origin/master] .. 
    test c745cca .. 
* test1 4bd622d .. 
    testx 2fbfdfc .. 

Я ожидал test1 ветви для отслеживания удаленного test1, но я не вижу, что здесь.

Что мне недостает?

+1

Возможный дубликат [Сделать существующий филиал Git удаленным филиалом?] (Http://stackoverflow.com/questions/520650/make-an-existing-git-branch-track-a-remote-branch) –

ответ

1

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

  1. -u/--set-upstream Указать в качестве аргумента git push.

    Вам не нужно указывать пульт для push или pull после этого, если вы не хотите использовать другой пульт. git push test1 всегда будет указывать на источник. Вы все равно можете использовать git push upstream test1, если хотите нажать на другой пульт.

  2. Укажите -t/--tracking к git checkout после того как вы сделали свой первоначальный толчок:

    git checkout -t origin/test1 
    

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

  3. вручную настроить удаленное отслеживание с помощью git branch -u/--set-upstream:

    git branch -u test1 origin/test1 
    

Вы можете найти более подробную информацию в этом отличном ответ: https://stackoverflow.com/a/10002469/2988730

+0

Благодарю. но я вижу, что git push проходит отлично. Итак, где эти коммиты высаживаются на пульт? – Sharanbr

+0

@Sharanbr. Проблема заключается не в том, что ваш толчок не работает. Это значит, что ваш локальный филиал не настроен на то, чтобы нажать и потянуть на конкретную удаленную ветвь. Флаг -u устанавливает это для вас, поэтому вам не нужно писать все это вручную, и вы видите результат в 'git branch -vv' –

-1

Вам необходимо оформить свой test1 филиал первым для того, чтобы нажмите на нее изменения.

использовать эту команду ..

git checkout <branch name> 

в вашем случае,

git checkout test1 
+0

Это неверно. Вы можете нажать любую фиксацию на любую удаленную ветку, независимо от того, что вы проверили локально. – Vampire

+0

Это неправда. Вы можете в любой момент нажать любую удаленную ветку из любой локальной ветви. Единственное, что вы можете проверить, это настроить отслеживание, но OP уже прошел этот шаг. –

0

Если вы толкаете -u (а.к.а. --set-upstream) трекинг настроен, как вы ожидаете. Если нет, то нет. Вы можете установить это при следующем нажатии или использовать git branch --set-upstream-to=test1 test1.

Смежные вопросы