GitHub Desktop: почему мои две созданные ветви не синхронизируют свое содержимое из главной ветви друг с другом? - PullRequest
0 голосов
/ 16 октября 2018

Я установил GitGub Desktop на два компьютера и тестирую его.Я создал две ветви: DESKTOP и LAPTOP, чтобы назначить тестовое рабочее пространство для обоих устройств.Я создал папку в каждой из них под названием «Новая папка» и дал этой папке в обеих ветвях другой пустой текстовый файл.Краткое описание того, что должно быть видно в данный момент:

DESKTOP для ветви:

  • Git-репозиторий
    • Новая папка
      • Новый рабочий стол File.txt

Филиал LAPTOP:

  • Git-репозиторий
    • Новая папка
      • Новый ноутбукFile.txt

Я слил обе ветви в ветку MASTER на Github.com, которая показывает оба созданных пустых текстовых файла в ветке MASTER "Каталог новой папки ".

Меня смущает то, что, когда я вытягиваю ветку MASTER в одну из ветвей DESKTOP и LAPTOP, файл, уникальный для обеих, не перетягивается в другую.По сути, я ожидаю, что мои ветки теперь будут выглядеть так после извлечения из MASTER:

DESKTOP для веток:

  • Git-репозиторий
    • Новая папка
      • Новый рабочий стол File.txt
      • Новый ноутбук File.txt

Ветка LAPTOP:

  • Gitрепозиторий
    • Новая папка
      • Новый рабочий стол File.txt
      • Новый ноутбук File.txt

НО, этого не произошло.Почему то, что было объединено из одной ветви в MASTER, не было перенесено в другую ветку, которая была извлечена из MASTER, когда Master содержит файл из другой ветви?Почему файл из LAPTOP не был синхронизирован с моей веткой DESKTOP?Почему файл из DESKTOP не был синхронизирован с моей веткой LAPTOP?

1 Ответ

0 голосов
/ 16 октября 2018

Origin - это удаленный репозиторий (если хотите, «сервер», в данном случае ваш репозиторий GitHub).Как сказал @TheWolf: Когда вы вытягиваете, вы вытягиваете только те изменения ветки, в которой находитесь.Вытягивание ветки LAPTOP приведет только к изменениям из ветви LAPTOP в origin (она же удаленный репозиторий) в ветку LAPTOP в репозитории на вашем ноутбуке.

Имея это в видупростой pull (только извлекающий текущую извлеченную ветку) никогда не применит изменения из других ветвей, то есть не будет применять изменения из удаленной ветви master к вашей ветви LAPTOP.

Вы делаетевам не нужно использовать разные ветви для того, чего вы хотите достичь: если вы работаете непосредственно с веткой master, все три ветви master будут синхронизированы (посредством толчков и вытягиваний) между вашими тремя репозиториями (репозитарием на переносном компьютере)., настольный компьютер и репозиторий GitHub).

Советую прочитать дальше о git ветвлении и git в gereral.Хорошие источники можно найти на информационном сайте Git Tag , например, очень хорошая Git book .

...