What is the difference between Stop Tracking and Discard File in git SourceTree

前端 未结 2 1297
一向
一向 2021-02-03 21:06

I wanted to know what the difference is between discarding a file and and stop tracking a file in git using source-tree. If I deleted a file in my updated code and I want that f

相关标签:
2条回答
  • 2021-02-03 21:22

    In SourceTree, selecting "discard" on a file just throws away your local changes; stop tracking removes it from the repository. However, as long as you have deleted the file on your local drive, and you can see that deletion in the "Staged Files" section of SourceTree, it will be deleted in the repository as well when you commit.

    0 讨论(0)
  • 2021-02-03 21:43

    The one detail not covered by the first answer is that Stop Tracking does not delete the local file. It only removes it from source control.

    1. If you want to keep the file locally (maybe it's a .suo file storing Visual Studio settings that you decide shouldn't have been in source control) but remove it from the repository, you should use Stop Tracking. After this, if you see the file listed in Unstaged files, you can use right-click > Ignore... in SourceTree to update your .gitignore file to ignore the file in future.
    2. If you want to delete your file both locally and in the repository, you should use Remove. (to use the SourceTree term)
    3. Finally, if you only want to revert your local changes without
      changing the repository at all, use Discard.
    0 讨论(0)
提交回复
热议问题