git добавить удаленную ветку

139

Я хочу добавить пульт и ветку этого пульта.

Я сделал git remote add <newname> <url>, тогда я сделал, git fetch --allно git branch -aне показывает ни одной ветви пульта. Мой .git / config показывает добавленный пульт.

Может кто-нибудь помочь мне?

Rai
источник
2
Что происходит, когда ты git fetch remote branch:branch && git co branch?
Сами Диндан

Ответы:

280

Я не уверен, пытаетесь ли вы создать удаленную ветку из локальной ветки или наоборот, поэтому я выделил оба сценария, а также предоставил информацию о слиянии удаленной и локальной веток.

Создание пульта под названием "github":

git remote add github git://github.com/jdoe/coolapp.git
git fetch github

Список всех удаленных филиалов:

git branch -r
  github/gh-pages
  github/master
  github/next
  github/pu

Создайте новую локальную ветку (test) из удаленной ветки github (pu):

git branch test github/pu
git checkout test

Объедините изменения из удаленной ветви github (pu) с локальной веткой (test):

git fetch github
git checkout test
git merge github/pu

Обновите удаленную ветку github (pu) из локальной ветки (test):

git push github test:pu

При создании новой ветви на удаленном компьютере используется тот же синтаксис, что и при обновлении удаленной ветви. Например, создайте новую удаленную ветку (бета) на github из локальной ветки (test):

git push github test:beta

Удалить удаленную ветку (pu) из github:

git push github :pu
Дэвид М. Сыздек
источник
Есть ли способ создать локальную ветку без указания имени, чтобы она автоматически принимала то же имя, что и удаленная ветка?
Dubslow
@Dubslow git checkout --track github/pu, смотрите здесь
Хинрих
25

Вы можете проверить, правильно ли вы настроили удаленную настройку и имеете ли вы соответствующие разрешения для

git ls-remote origin

если вы назвали свой удаленный "происхождение". Если вы получаете сообщение об ошибке, вы, вероятно, неправильно настроили свою безопасность, например, загрузили свой открытый ключ на github. Если все настроено правильно, вы получите список удаленных ссылок. Сейчас

git fetch origin

будет работать, исключая любые другие проблемы, такие как отключение сетевого кабеля.

Как только вы это сделаете, вы можете получить любую ветку, которую хотите, чтобы указанная выше команда

git checkout some-branch

это создаст локальную ветвь с тем же именем, что и удаленная ветка, и проверит ее.

Адам Димитрук
источник
6

Я проверил то, что @Samy Dindane предложил в комментарии к OP.

Я верю, что это работает, попробуйте

git fetch <remote_name> <remote_branch>:<local_branch>
git checkout <local_branch>

Вот пример для вымышленного удаленного репозитория с именем fooфилиала, в barкотором я создаю локальный филиал, barотслеживающий удаленный:

git fetch foo bar:bar
git checkout bar
Джейсон
источник
5

Вот полный процесс создания локального репо и отправки изменений в новую удаленную ветку

  1. Создание локального хранилища: -

    Изначально пользователь мог создать локальный репозиторий git.

    $ git init : - Это сделает локальную папку как репозиторий Git,

  2. Ссылка на удаленную ветку : -

    Теперь задача - связать локальный репозиторий git с удаленной главной веткой.

    $ git remote add RepoName RepoURL

    использование: git remote add []

  3. Протестируйте пульт

    $ git remote show ---> Показать имя удаленного

    $ git remote -v ---> Отображение удаленных веток

  4. Теперь нажмите на пульт

    $git add . ----> Добавить все файлы и папки как git staged '

    $git commit -m "Your Commit Message" - - -> Зафиксировать сообщение

    $git push - - - -> Подтолкнуть изменения в верхнем течении

павана
источник
Это всего лишь инструкции для общего случая использования git. Я не вижу в этом ответе ничего конкретного для задаваемого вопроса.
Hack-R
2

Если удаленная ветвь уже существует, то вы можете (вероятно) сойти с рук ..

git checkout branch_name

и git будет автоматически настроен для отслеживания удаленной ветви с тем же именем на источнике.

Сэм Мерфи
источник