2015-11-20 3 views
0

У меня есть локальная ветвь в моем хранилище песочницы, которая называется local-branch, которая отслеживает удалённую ветвь с именем remote-branch. Я создал местный филиал таким образом:git - Нажатие локальной ветви на ветку удаленного отслеживания родителя

$ git checkout -b local-branch remotes/origin/remote-branch 

Я создал ветку от local-branch под названием dev-branch:

$ git checkout -b dev-branch local-branch 

Затем я совершил некоторые изменения в dev-branch и теперь хочу, чтобы подтолкнуть ее вверх к ветви от remote-branch , Там он проверяется, одобряется и затем объединяется в remote-branch. После этого мне нужно git pull на моем local-branch, чтобы синхронизировать его с remote-branch.

Я пытаюсь сделать следующее, но это не работает.

$ git push remotes/origin/remote-branch local-branch 

я вижу следующее сообщение об ошибке:

fatal: 'remotes/origin/remote-branch' does not appear to be a git repository 
fatal: Could not read from remote repository. 

Please make sure you have the correct access rights and the repository exists. 

Но я могу видеть хранилище, когда я бегу:

$ git branch -a 
+0

Похожывает: '$ git push origin local-branch' works. – CppNoob

ответ

1

Протолкнуть local-branch из хранилища в remote-branch на удаленном origin, использование

git push origin local-branch:remote-branch 

Основываясь на том, как вы создали local-branch в своем ответе, git должен был настроить его для отслеживания origin/remote-branch. В этом случае достаточно удалить git pull, а local-branch будет достаточно для синхронизации.

Ваш рабочий процесс сложный. Я предлагаю искать способы упрощения, которые включают меньше имен для каждой данной ветви.

+1

Вся «локальная ветвь» избыточна, поскольку она не используется как рабочая ветвь. Достаточно просто создать 'dev-branch', из которого всегда указывалось указание« remote-branch ». Затем просто «git push origin dev-branch», когда это делается с рабочей веткой. Я предполагаю, что есть некоторые недоразумения в отношении того, что означает ветви в Git: ветки не относятся к другим ветвям, только коммиты, которые, в свою очередь, связывают с их родителями. Нет ссылки от родителя к ребенку. Для этого потребуется переписать последнюю фиксацию на новую фиксацию. Какая причина, почему «оборванные» обвинения являются плохими. – sendaran

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