我是 git 新手,如果这个问题已经得到解答,我很抱歉。我很难找到这个问题的答案。
我想忽略一组以前从未提交过的文件进行提交,并使用 github 应用程序选择它们并忽略它们。我切换到另一个分支一段时间,当我回到我的分支时,我忽略的文件不见了。
这些文件被删除了吗?
我使用 git checkout 切换回分支,然后使用 git status --ignored 。我丢失的文件不存在。
我是 git 新手,如果这个问题已经得到解答,我很抱歉。我很难找到这个问题的答案。
我想忽略一组以前从未提交过的文件进行提交,并使用 github 应用程序选择它们并忽略它们。我切换到另一个分支一段时间,当我回到我的分支时,我忽略的文件不见了。
这些文件被删除了吗?
我使用 git checkout 切换回分支,然后使用 git status --ignored 。我丢失的文件不存在。
您可以通过使用git reflog --all获取 SHA 代码来执行此操作,当 Github 应用程序在切换到另一个分支之前自动隐藏您忽略的文件时。请参阅https://stackoverflow.com/a/8865242/2970321。
例如,我/pr/364使用应用程序 (SHA ) 获取了一个拉取请求 ( 2ba129d)。在我切换回之前gh-pages,它隐藏了我忽略的文件(SHA 36edfc6)。

所以要恢复,我需要做的就是:
git checkout 36edfc6
我的文件神奇地重新出现了,我能够安全地将它们手动存放在其他地方,然后再切换回gh-pages。
git不会删除它不关心的文件,除非明确告知这样做(checkout -f在某些情况下通过签出或clean)。由于git对他们一无所知,它也无法恢复他们。git stash在四处走动和做可能有害的事情之前使用。仔细考虑哪些文件进入.gitignore,将所有非自动生成的文件添加到版本控制中。
看起来您忽略了 branch 中的文件A,然后切换到 branchB但没有忽略那里的文件。
如果您只忽略 branch 中的文件A而不忽略 branch 中的文件,那么当从 切换回B时它们会被删除。但是,如果您从 切换回 ,它们应该会重新出现。BAAB
如果您从任何分支结帐X到Y,这是正常的 git 行为,所有不在分支中Y但在分支中的文件X都将被删除。如果一个文件在 中被忽略,Y但在 中没有X,那么你就有这种情况。
为了防止您的文件被删除,您可以将它们添加到.gitignore您其他分支的文件中B。