Могу ли я восстановить только один файл из множества измененных так, как это было до фиксации? - PullRequest
1 голос
/ 08 апреля 2019

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

commit 518cf1750987d789786c7f2f095e4c892fc9bc1f

File: J/Views/CardsTab/CardsTab.xaml

Глядя на историю в Github, кажется, она переписала многие изменения, которые я делал.

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

Ответы [ 2 ]

0 голосов
/ 08 апреля 2019

Вы можете использовать git checkout для сброса файла в рабочем каталоге до состояния, в котором он находился в конкретном коммите.

Если я правильно понимаю, «плохим» коммитом было 518cf1750987d789786c7f2f095e4c892fc9bc1f, и вам нужно сбросить файл, чтобы он был таким, каким он был до этого. Итак, командная строка, которую вы ищете, это:

git checkout 518cf1750987d789786c7f2f095e4c892fc9bc1f^ -- J/Views/CardsTab/CardsTab.xaml

, что означает «получить мне файл J / Views / CardsTab / CardsTab.xaml, как это было в коммите до 518cf1750987d789786c7f2f095e4c892fc9bc1f (^ является ссылкой на родителя коммита).

GL!

0 голосов
/ 08 апреля 2019

Вы можете попробовать программно сбросить коммит, в котором файлы, которые вы хотите, изменили, используя команду: git reset --soft commitid , После этого вы можете использовать следующую команду для сброса этого единственного файла в ГОЛОВКУ, как считаете нужным.

Вы можете использовать следующую команду для сброса изменений для определенного файла в индекс:

 git checkout -- CONTRIBUTING.md

Следующая команда сбросит файл в HEAD, обновит и рабочую копию, и индекс в HEAD:

git checkout HEAD -- CONTRIBUTING.md

Ссылка: https://git -scm.com / документы / ГИТ-контроль

Или другой метод, который, я думаю, сработает:

  1. Мягкий сброс коммита, в котором есть изменения в файлах, которые вы хотите редактировать
  2. Снова зафиксируйте файлы, которые вы не хотите редактировать, оставив только свои J/Views/CardsTab/CardsTab.xaml
  3. Сбросить ветку до последнего коммита

Это должно оставить вашу рабочую ветку чистой только с вашими желаемыми изменениями.

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