Я клонировал репозиторий, после чего кто-то еще создал новую ветку, над которой я хотел бы начать работать. Я прочитал руководство, и оно кажется невероятно простым. Странно, что это не работает, и все сообщения, которые я нашел, говорят о том, что я поступаю правильно. Поэтому я подвергну себя критике, потому что с этим должно быть что-то явно не так:
Правильное действие , кажется , что
git fetch
git branch -a
* master
remotes/origin/HEAD --> origin/master
remotes/origin/master
git checkout -b dev-gml origin/dev-gml
На этом этапе возникает проблема, по какой-то причине после того, как git fetch
я не вижу удаленную ветку dev-gml. Почему нет? Если я клонирую репозиторий заново, он есть, поэтому, безусловно, существует удаленная ветка:
$ mkdir ../gitest
$ cd ../gitest
$ git clone https://github.com/example/proj.git
Cloning into proj...
remote: Counting objects: 1155, done.
remote: Compressing objects: 100% (383/383), done.
remote: Total 1155 (delta 741), reused 1155 (delta 741)
Receiving objects: 100% (1155/1155), 477.22 KiB | 877 KiB/s, done.
Resolving deltas: 100% (741/741), done.
$ cd projdir
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/dev-gml
remotes/origin/master
Я пытался git update
, git pull
, git fetch --all
, git pretty-please
во всех возможных перестановках ...
+refs/heads/master:refs/remotes/origin/master
с master
вместо*
git config --get remote.origin.fetch
производит? Если это не так+refs/heads/*:refs/remotes/origin/*
, то, вероятно, так и должно быть.