git SourceTree中停止跟踪和丢弃文件有什么区别

时间:2015-06-16 00:45:20

标签: git atlassian-sourcetree

我想知道丢弃文件和使用source-tree停止在git中跟踪文件之间的区别。如果我在更新的代码中删除了一个文件,并且我希望在存储库中删除该文件,那么我应该将其标记为停止跟踪,还是应该在提交过程中将其丢弃

2 个答案:

答案 0 :(得分:50)

第一个答案未涵盖的一个细节是停止跟踪不会删除本地文件。它只从源代码控制中删除它。

  1. 如果你想在本地保存文件(也许是存储的.suo文件 您决定的Visual Studio设置不应该在源代码中 控制)但是从存储库中删除它,你应该使用停止跟踪。在此之后,如果您看到 Unstaged files 中列出的文件,则可以使用右键单击>在SourceTree中忽略... 以更新.gitignore文件,以便将来忽略该文件。
  2. 如果要在本地和存储库中删除文件, 你应该使用删除。 (使用SourceTree术语)
  3. 最后,如果您只想在没有
    的情况下还原本地更改 更改存储库,请使用放弃

答案 1 :(得分:28)

在SourceTree中,选择文件中的“discard”只会丢弃您的本地更改;停止跟踪将其从存储库中删除。但是,只要您删除了本地驱动器上的文件,并且可以在SourceTree的“Staged Files”部分中看到该删除,那么当您提交时,它也将在存储库中删除。