Git 隐藏使用atlassian sourcetree所做的更改

Git 隐藏使用atlassian sourcetree所做的更改,git,atlassian-sourcetree,git-stash,Git,Atlassian Sourcetree,Git Stash,我在我的项目中更改了很多文件。我想藏2个文件,但我有点害怕犯错误,因为我从来没有这样做过 如果我现在就藏起来,它会只藏2个暂存文件吗? 如果我不标记保留阶段性更改,它会恢复到以前的状态吗? 这听起来可能很愚蠢,但最好先保存,然后再道歉。是的,但在这种情况下,隐藏意味着两种情况- 检查保留暂存更改:暂存文件仍将在暂存区域中,但所有修改的未保存文件都将被隐藏 不检查阶段性更改:您的所有文件都将被隐藏 这通常适用于Git,而不仅仅适用于SourceTree。隐藏更改时,将隐藏的项目是对工作副本和临时

我在我的项目中更改了很多文件。我想藏2个文件,但我有点害怕犯错误,因为我从来没有这样做过

如果我现在就藏起来,它会只藏2个暂存文件吗?

如果我不标记保留阶段性更改,它会恢复到以前的状态吗?
这听起来可能很愚蠢,但最好先保存,然后再道歉。

是的,但在这种情况下,隐藏意味着两种情况-

检查保留暂存更改:暂存文件仍将在暂存区域中,但所有修改的未保存文件都将被隐藏

不检查阶段性更改:您的所有文件都将被隐藏


这通常适用于Git,而不仅仅适用于SourceTree。隐藏更改时,将隐藏的项目是对工作副本和临时区域中跟踪文件的更改。这些更改将保存在存储中,并在工作副本和索引中恢复

当您选择在索引/暂存区域中保留更改时,这些更改仍将被隐藏,但Git也不会在暂存区域中还原它们。例如,如果您进行了几个不相关的更改,并且只希望运行其中一些更改的测试,而不希望这些不相关的更改影响测试,那么这非常有用

藏匿是安全的。如果你想找回隐藏的更改,你只需将它们从隐藏中弹出即可

但是,未跟踪的文件通常不会被隐藏。如果还想隐藏这些文件,则需要在命令行上向git stash传递一个附加选项SourceTree for Windows当前没有这样的选项。我不知道Mac版本是否也是如此:

git存储保存-包括未跟踪 或更短 吉特隐藏保存-u 另见 这个
我也在寻找一种方法,从我的工作副本中只隐藏一些项目,我偶然发现了这个问题。我找到了一个解决方案,在报告中提到了。我使用SourceTree版本3.3.8 for Windows进行了尝试,它对我很有用

要隐藏选定的文件,请执行以下操作:

暂存要隐藏的文件

然后隐藏所有文件,但确保“保留阶段性更改”是正确的 检查

现在,您只有要保存在当前工作区中的文件 抄袭

隐藏所有文件,取消选中“保留阶段性更改”


然后,您可以重新应用第一个存储,并丢弃要存储的文件。

您使用的是SourceTree for Windows还是Mac?回答第一个问题:不,您将存储未存储的文件,SourceTree仍然不支持这一点。即使从命令行隐藏,SourceTree也无法将未跟踪的文件显示为差异输出中的更改。我不会依赖SourceTree来实际带回未跟踪的文件,而是会从命令行执行git stash pop | apply。@kaskelotti git stash save-u工作,未跟踪的文件不会显示在SourceTree中的存储项中,但它们会在应用存储时出现。还有。。。。。。。。如果您在提交列表上方的左上角选择了当前分支,并且您不在创建隐藏的分支上,则左栏上的隐藏项不会显示。所以要让它出现。。。选择所有分支。小心不要运行'git reflog'语句,因为它很可能会删除您的所有存储。要检索这些文件,你必须使用命令行。如果你将未跟踪的文件放在后台,然后将其隐藏起来,这是有效的。