Как заметить входящий коммит удаления, если я не хочу, чтобы файлы были удалены? - PullRequest
1 голос
/ 19 апреля 2019

Предположим, я тяну из источника, где есть много новых коммитов, в том числе коммитов, которые удаляют файлы. Как легко найти файлы, чтобы я мог сделать 'git rm --cached' и заранее добавить их в .gitignore. Я удалил некоторые из моих специфических файлов конфигурации IDE таким образом.

Есть ли другое решение для такого сценария, кроме просмотра коммитов?

1 Ответ

2 голосов
/ 19 апреля 2019

Вы можете сделать это, если вы избегаете git pull.

Помните, что git pull означает run git fetch, затем выполните вторую команду Git . Шаг git fetch безопасен: просто запустите его самостоятельно. Команда second , обычно git merge, - это та, которая может удалить некоторые файлы вашего рабочего дерева.

Как только вы получите коммиты - это шаг git fetch - вы можете проверить коммитов, чтобы увидеть, удалят ли они какие-либо из ваших существующих отслеживаемых файлов. Для этого просто сравните ваш текущий индекс с целевым коммитом, который вы хотите объединить, с опцией --name-status:

git diff --cached --name-status origin/master

например. Вы можете добавить --diff-filter=D, чтобы специально проверить файлы, которые будут удалены , перейдя к origin/master.

Если это говорит о том, что ваши файлы будут удалены, вы можете сделать свой собственный git rm --cached, зафиксировать результат и повторить git diff, чтобы убедиться, что они больше не будут удалены при слиянии; затем просто запустите:

git merge origin/master

сделать вторую половину git pull.

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