2015-09-12 2 views
1

Я клонировал репозиторий bitbucket, файлы были загружены в каталог. И я обнаружил, что были загружены только файлы основной (основной) ветви, в репозитории есть еще две ветки, и ни одна из коммитов из этих двух ветвей не была загружена во время клонирования. Когда я переключаюсь на эти ветки через git checkout, а терминал git pull говорит already up-to-date, но ничего из этих филиалов не обновляется. Даже проект не запущен из-за отсутствия этих обновлений. git загрузил проект, но не полностью, я использовал еще несколько команд, таких как $ git fetch origin other-branch && git merge other-branch из других вопросов переполнения стека, но никаких изменений. Я только начал использовать git, и знаю только несколько команд. Может ли кто-нибудь объяснить, как это решить? Я не знаю, дал ли я достаточно информации для объяснения. git branch -avv дал мне это:Git говорит, что ветви обновлены, пока они не являются

git branch -avv data-export dbc2e32 [origin/data-export] resolve conflicts and merge data-export to master * genset d93228b [origin/genset] Scoreboard with kilowatt hours master 4089eb8 [origin/master] allow 31h meter config remotes/origin/HEAD -> origin/master remotes/origin/data-export dbc2e32 resolve conflicts and merge data-export to master remotes/origin/genset d93228b Scoreboard with kilowatt hours remotes/origin/master 4089eb8 allow 31h meter config

ответ

0

Клонирование снова и только установка git remote add origin сделали помощи для этого

1

Эти ветви загружаются во время git clone.
Сделайте git branch -avv, вы увидите их: remotes/origin/abranch.
(abranch это просто пример здесь)

git checkout abranch будет автоматически связан с удаленным отслеживания ветви origin/abranch.

От git checkout:

If <branch> is not found but there does exist a tracking branch in exactly one remote (call it <remote>) with a matching name, treat as equivalent to

$ git checkout -b <branch> --track <remote>/<branch> 

Это объясняет:

When I switch to those branches via git checkout and use git pull terminal says already up-to-date.


В качестве выхода git branch -av показывает, A git checkout data-export или git checkout genset автоматически связаны эти локальные ветви к их вверх по течению коллеги, удаленные ветви отслеживания origin/data-export и origin/genset.

Их SHA1 идентичны, поэтому git fetch или git pull вернут «актуальный» ответ.

Как только фиксация выполняется в одной из этих ветвей, git push удастся обновить ту же самую ветку на удаленном origin репо.
См. full discussion here.

+0

'мерзавца проверки abranch' говорит следующее: об ошибке: pathspec«abranch»не совпадает ни файл (ы), известный мерзавец. – developer

+0

@developer вы написали «abranch»? Это просто пример. – VonC

+0

Но я не понимал, что делать здесь. Я сделал 'git chekcout ' перед отправкой вопроса, поэтому я сделал это снова, но что мне делать дальше? '$ git checkout -b --track /'? что означает '' означает? – developer

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