Подтвердить что ты не робот

В чем разница между Stop Tracking и Discard File в git SourceTree

Я хотел знать, какова разница между отбрасыванием файла и прекращением отслеживания файла в git с использованием исходного дерева. Если я удалю файл в обновленном коде, и я хочу, чтобы этот файл был удален в репозитории, я должен отметить его как отслеживание останова или я должен отбросить его во время процесса фиксации.

4b9b3361

Ответ 1

В SourceTree, выбрав "discard" в файле, просто удаляет локальные изменения; stop tracking удаляет его из репозитория. Однако, пока вы удалили файл на своем локальном диске, и вы можете увидеть это удаление в разделе "Staged Files" в SourceTree, оно также будет удалено в репозитории, когда вы его совершите.

Ответ 2

Одна деталь, не охваченная первым ответом, заключается в том, что Остановка отслеживания не удаляет локальный файл. Он удаляет его только из исходного элемента управления.

  • Если вы хотите сохранить файл локально (возможно, он хранит файл .suo Настройки Visual Studio, которые вы решили, не должны были быть в источнике ), но удалите его из репозитория, вы должны использовать Остановка отслеживания. После этого, если вы видите файл, указанный в неустановленных файлах, вы можете использовать щелчок правой кнопкой > Игнорировать... в SourceTree, чтобы обновить ваш файл .gitignore, чтобы игнорировать файл в будущем.
  • Если вы хотите удалить свой файл как локально, так и в репозитории, вы должны использовать Удалить. (использовать термин SourceTree)
  • Наконец, если вы хотите только вернуть свои локальные изменения, не используя вообще изменив репозиторий, используйте Отменить.