У меня есть два git-репозитория, которые должны храниться в синхронизации, и к ним не может быть одновременно доступ. Один находится на работе, а один дома, и нет сетевого подключения.копия ветки от одного к другому репо
Как справиться с этой простой настройкой?
То, что я пробовал:
У меня есть клон, который «знает» как операции РЕПО и существуют на портативном жестком диске.
Допустим, кто-то создал новую ветку на «работе», и я хочу перенести ее в «дом» репо. Как это сделать?
Если я отображалась только git pull
я получаю следующее на моем клоне:
$ git branch --list --all
*master
origin/HEAD -> origin/master
origin/bugfix_component_condition_destruction_fail
origin/master
origin/remove_stoplist_copy_and_erase
Q: это только означает, что мой местный клон «знает», что есть эти перечисленные отрасли где-то и нет реальных данных нет на моем клоне ожидают также локального существующего, названного «мастером»?
Легко тянуть/нажимать мастер на оба репозитория. Но любой другой, похоже, не существует на моем местном клоне. Должен ли я отслеживать каждую удаленную ветвь локальным моим клоном, а затем передавать его другому репо?
В: Существует ли какой-либо типичный способ иметь дело с двумя репозиториями, чтобы получить их как в синхронизации, так и на обоих репозициях?
В: Есть ли уловка, чтобы получить всю информацию И ТАКЖЕ СОДЕРЖАНИЕ всех удаленных ветвей.
Для меня это немного грязно, что означает «клон» репо? Кажется, это не настоящий клон, а только некоторые метаданные и главная ветвь. Это правильно?
EDIT:
Если я начинаю gitk --all
я вижу все изменения, которые сделаны в отрасли. Похоже, что содержимое ветки находится в клоне.
Но если я:
$git checkout -b remove_stoplist_copy_and_erase --track remotes/origin/remove_stoplist_copy_and_erase
error: Not tracking: ambiguous information for ref refs/remotes/origin/remove_stoplist_copy_and_erase
Switched to a new branch 'remove_stoplist_copy_and_erase'
Так что я сделал:
$git checkout origin/remove_stoplist_copy_and_erase
$git checkout -b remove_stoplist_copy_and_erase
и теперь толкать его: $ мерзавец толчок --set-вверх по течению экс remove_stoplist_copy_and_erase
Я боюсь должен сделать все это вручную для всех ветвей на обоих пультах, чтобы синхронизировать оба. Есть ли какая-то «лучшая практика» для этой работы?
Если я сделал «git fetch - all' ow, чтобы иметь дело с клоном после этого? См. Мое редактирование в моем вопросе. Ваша информация для A2 не очень полезна. «Есть несколько способов» - это не ответ на вопрос, как что-то сделать. Один способ помог бы мне :-) То, что есть способ, совершенно ясно перед вашим ответом! – Klaus
@Klaus: Я согласен с тем, что мой A2 не был полезным ответом. Один из способов сделать это - заплатки (и извинения за связь за пределами площадки): https://ariejan.net/2009/10/26/how-to-create-and-apply-a-patch-with-git/ – TriskalJM
I «Не знаете, что вы подразумеваете под действием клонирования?» Теперь клон должен содержать всю информацию, которую имел исходный репо, поэтому вы относитесь к нему так же, как к удаленному, за исключением того, что изменения, которые вы делаете в клоне, должны быть нажаты. – TriskalJM