В ветке Git Checkout есть много неотслеживаемых файлов. - PullRequest
1 голос
/ 04 ноября 2019

Условие

В моем репозитории Git есть две ветви:

  • master
  • release-1.0

Основная ветка находится перед release-1.0 , и в этом репо используется язык программирования Golang, и я использую каталог поставщика, поэтому каталог поставщика в master имеет много файлов, отсутствующих в release-1.0 ответвлении.

Проблема

Проблема в том, когда я извлекаю release-1.0 ответвлениеиз master ответвления, я получаю много неотслеживаемых файлов в рабочем каталоге, например:

[root@Chine]# git status | head
# On branch release-1.0
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       vendor/github.com/GeertJohan/
#       vendor/github.com/PuerkitoBio/
#       vendor/github.com/appscode/
#       vendor/github.com/beorn7/
#       vendor/github.com/coreos/prometheus-operator/
#       vendor/github.com/daaku/

Есть ли способ оформления заказа с автоматическим удалением неотслеживаемых файлов? У меня есть git checkout -h проверить некоторые аргументы, но не нашел ничего полезного.

Мой обходной путь:

# git rm -rf vendor
# git reset --hard origin/release-1.0

обновлен по адресу: 2019-11-14

послесравните некоторые файлы, я выясню причину, по которой это происходит:

Проблема в том, что в master ветке у меня есть добавление vendor каталога в мой git ignoПеречень, и в release-1.0 это не так.

После следования комментариям ниже, я пытаюсь git clean -fd , это работает. Но я до сих пор не понимаю, почему после проверки появляются неотслеживаемые файлы release-1.0 .

1 Ответ

0 голосов

Вы можете использовать git checkout -f (или git checkout --force ). Читайте об этом здесь

-f --force При переключении веток продолжайте работу, даже если индекс или рабочее дерево отличается от HEAD. Это используется, чтобы выбросить локальные изменения. При проверке путей из индекса не допускайте сбоев при незакрытых записях;вместо этого необработанные записи игнорируются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...