Подтвердить что ты не робот

"git источник переадресации" vs. "git rebase origin/master"

Я не понимаю разницы между git rebase origin и git rebase origin/master. В моем случае я дважды клонировал репозиторий git. В первом клоне я должен использовать git rebase origin, а в другом клоне я должен использовать git rebase origin/master.

Пример: http://paste.dennis-boldt.de/2011/05/11/git-rebase

4b9b3361

Ответ 1

Здесь лучший вариант:

git remote set-head -a origin

Из документации:

С -a пульт запрашивается для определения его HEAD, затем $GIT_DIR/remotes//HEAD устанавливается в одну ветвь. например, если удаленная HEAD указана на следующем, "git удаленное задание-head-a-a" установит $GIT_DIR/refs/remotes/origin/HEAD в refs/remotes/origin/next. Это будет работать, только если refs/remotes/origin/next уже существует; если он не должен быть выбран первым.

Это действительно было довольно долго (начиная с версии 1.6.3); не знаю, как я пропустил это!

Ответ 2

git rebase origin означает "rebase из ветки отслеживания origin", а git rebase origin/master означает "rebase from branch master of origin"

У вас должна быть ветвь отслеживания в ~/Desktop/test, что означает, что git rebase origin знает, в какую ветвь origin нужно переустановить. Если ветвь отслеживания не существует (в случае ~/Desktop/fallstudie), git не знает, в какую ветвь origin он должен принимать и не выполняется.

Чтобы исправить это, вы можете сделать существующий трек ветки master origin/master с помощью

git branch --set-upstream master origin/master

Ответ 3

Вы можете создать новый файл под [.git\refs\remotes\origin] с именем "HEAD" и поместить в него содержимое "ref: refs/remotes/origin/master". Это должно решить вашу проблему.

Кажется, клон из пустого РЕПО приведет к этому. Возможно, в пустых репозиториях нет HEAD, потому что не существует объекта фиксации.

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

git log --remotes --branches --oneline --decorate

чтобы увидеть разницу между каждым репозиторием, в то время как "проблема" не имеет "origin/HEAD"

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

git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/master