Как отменить отслеживание удаленной ветви в git? - PullRequest
4 голосов
/ 25 января 2012

Я случайно отцепил свою основную ветку от мастера отслеживания происхождения, я думаю. Раньше я мог запускать git pull и git push, и он знал бы, что я имел в виду git push origin master, но теперь это не так, и я думаю, что он отслеживает другую ветку, потому что git push origin master работает нормально (все обновлено ) и git push говорит мне, что не может перемотать изменения вперед.

Вот как выглядит мой git branch -a:

ianstormtaylor:nib Storm$ git branch -a
* master
  original
  transforms
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/sizing
  remotes/origin/transforms

Не уверен, что это remotes/origin/HEAD -> origin/master испорченная часть.

Я думаю, что все это произошло из-за вызова git merge origin sizing, когда я собирался сделать git merge sizing (пока на мастере).

Кто-нибудь знает, что происходит и может помочь? Я просто хотел бы вернуться к настройке удаленного отслеживания по умолчанию, которую создает git clone.

Ответы [ 4 ]

3 голосов
/ 25 января 2012

Все, что вам нужно в вашем git config (выполните git config -e для редактирования), это:

[remote "origin"]
   fetch = +refs/heads/*:refs/remotes/origin/*
   url = /Users/me/test.git
[branch "master"]
   remote = origin
   merge = refs/heads/master

Если оно есть, git push от мастера будет эквивалентно git push origin master

Часть remotes/origin/HEAD -> origin/master просто говорит, что HEAD удаленного источника является главной ветвью (источника) и в порядке.

1 голос
/ 25 января 2012

Вы можете использовать

git branch --set-upstream my_branch origin / my_branch

В качестве альтернативы

git push -u originmy_branch

См. Git: Почему мне нужно делать --set-upstream все время? для более подробной информации.

1 голос
/ 25 января 2012

Полагаю, вы можете отредактировать файл .git / config или установить конфигурацию, используя

git config branch.master.remote origin
git config branch.master.merge refs/heads/master

В качестве альтернативы, заново создайте основную ветку, используя опцию -t (--tracking)

* 1007.* Оба должны привести к разделу, похожему на this в вашем .git/config:
[branch "master"]
    remote = origin
    merge = refs/heads/master
1 голос
/ 25 января 2012

У меня было такое несколько раз - и хотя я не уверен в точной причине, я не верю, что это из-за вашей ошибки. Скорее просто git pull является ярлыком для самой последней удаленной ветви, и забыто, что является самой последней веткой.

Выполнение git pull origin master обычно обновляет настройку и сбрасывает все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...