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

巧了我就是萌 提交于 2019-12-20 10:26:42

问题


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 file deleted on the repository too should I mark it as stop tracking or should I discard it during the commit process


回答1:


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.




回答2:


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.


来源:https://stackoverflow.com/questions/30857183/what-is-the-difference-between-stop-tracking-and-discard-file-in-git-sourcetree

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!