Извлечение, выдавливание и выборка файлов с помощью Git

Тяните и толкайте

Используйте этот рабочий процесс для работы с Git™ проектом, подключенным к удаленному репозиторию. С Git происходит двухэтапный рабочий процесс: фиксация локальных изменений, а затем нажатие на удаленный репозиторий. В проекте единственный доступ к удаленному репозиторию осуществляется через кнопки Pull, Push и Fetch. Все другие действия используют локальный репозиторий (такие как Check for Modifications, Compare to Ancestor и Commit). Эта схема представляет рабочий процесс Git.

  1. Чтобы получить последние изменения, на вкладке Project, в разделе Система контроля версий, нажмите Pull. Pull извлекает последние изменения и объединяет их в текущую ветвь.

    Примечание

    Прежде чем вы сможете объединиться, вы должны зарегистрировать файлы модели как двоичные, чтобы предотвратить вставку Git маркеров конфликтов. Смотрите Register Model Files with Система Контроля Версий Tools.

  2. Чтобы создать ветви для работы, на вкладке Project, в разделе Система контроля версий, нажмите Branches. Создайте ветви в диалоговом окне «Ветви», как описано в разделе «Ветви» и «Объединить файлы с Git».

  3. Когда вы хотите зафиксировать изменения, выберите представление Измененные файлы, чтобы просмотреть файлы, и на вкладке Project, нажмите Commit. Изменения привязаны к текущей ветви в локальном репозитории. Сведения о текущей ветви см. на панели Git. Вы видите сообщение Ahead когда вы фиксируете локальные изменения, которые были перемещены перед удаленной ветвью отслеживания.

  4. Чтобы отправить локальные фиксации в удаленный репозиторий, на вкладке Project, в разделе Система контроля версий, нажмите Push.

  5. Появится сообщение, если вы не можете перенести изменения непосредственно, так как репозиторий перешел. Щелкните Fetch, чтобы извлечь изменения из удаленного репозитория. Объедините ветви и разрешите конфликты, а затем можно подтолкнуть изменения. См. «Извлечение», «Выборка» и «Слияние».

Извлечение, выборка и объединение

Используйте Fetch для получения изменений и объединения вручную. Вместо этого используйте Pull, чтобы извлечь последние изменения и объединить их в текущую ветвь.

Примечание

Прежде чем вы сможете объединить ветви, необходимо зарегистрировать файлы модели как двоичные, чтобы предотвратить вставку Git маркеров конфликтов. Смотрите Register Model Files with Система Контроля Версий Tools.

Pull извлекает последние изменения и объединяет их в текущую ветвь. Если вы не уверены, что поступит из репозитория, используйте fetch, чтобы изучить изменения, и затем объедините изменения вручную.

Pull может оказаться неудачным, если у вас возникнут конфликты. При сложном изменении может потребоваться создать ветвь из источника, внести некоторые изменения совместимости, а затем объединить эту ветвь в главную ветвь отслеживания.

Чтобы извлечь изменения из удаленного репозитория, щелкните Fetch на вкладке Project.

Fetch обновляет все исходные ветви в локальном репозитории.

Примечание

При нажатии кнопки Fetch файлы песочницы не изменяются. Чтобы увидеть изменения других, необходимо объединить изменения источник с локальными ветвями.

Проверьте панель Git на наличие информации о текущей ветви относительно удаленной ветви отслеживания в репозитории. Когда вы увидите сообщение Behindнеобходимо объединить изменения из репозитория в локальную ветвь.

Например, если вы находитесь в главной ветви и хотите получить изменения из главной ветви в удаленном репозитории:

  1. Нажмите Fetch.

    Наблюдайте за сообщением на панели Git, Behind /origin/master. Необходимо объединить изменения из репозитория в локальную ветвь, используя Branches.

  2. Нажмите Branches.

  3. В диалоговом окне « Ветвях» в списке Branches выберите origin/master.

  4. Нажмите Merge. Это объединяет изменения источника ветви в главную ветвь в изолированной программной среде.

  5. Закройте диалоговое окно « Ветви». Наблюдайте сообщение на панели Git теперь говорит Coincident with /origin/master. Теперь можно просмотреть извлеченные и объединенные изменения из удаленного репозитория в локальных файлах песочницы.

При извлечении и объединении может потребоваться устранить конфликтующие изменения. Если слияние ветвей вызывает конфликт, который Git не может разрешить автоматически, диалоговое окно ошибки сообщает, что не удалось выполнить автоматическое слияние. Разрешите конфликты перед продолжением. См. «Разрешение конфликтов».

Выдавливание пустых папок

Используя Git, вы не можете добавить пустые папки в систему контроля версий, поэтому не можете выбрать Push, а затем клонировать пустую папку. Можно создать пустую папку в проекте, но если вы нажимаете изменения и затем синхронизируете новую песочницу, то пустая папка не появляется в новой песочнице. Можно вместо этого запустить Check Project, который создает пустую папку для вас.

Кроме того, чтобы перенести пустые папки в репозиторий для синхронизации других пользователей, создайте gitignore файл в папке, а затем извлеките изменения.

Использование Git Stash

Сохраните незафиксированные изменения для дальнейшего использования путем создания Git stash. Используйте заслонки для:

  • Храните измененные файлы без их фиксации.

  • Легко перемещать изменения в новую ветвь.

  • Просмотрите и исследуйте изменения в тайнике.

Чтобы создать и управлять заделками, на вкладке Project, в разделе Source Control, нажмите Stashes. В диалоговом окне Stashes:

  • Чтобы создать заначку, содержащую измененные в данный момент файлы, нажмите кнопку New Stash.

  • Чтобы просмотреть измененные файлы в заначке, выберите заначку под Available Stashes. Щелкните правой кнопкой мыши измененные файлы, чтобы просмотреть изменения или сохранить копию.

  • Чтобы применить стойку к текущей ветви и удалить ее, нажмите кнопку Pop.

  • Чтобы применить заначку и сохранить ее, нажмите Apply.

  • Чтобы удалить заначку, нажмите Drop.

Похожие примеры

Подробнее о