我是git的新手,很抱歉,如果这个问题已经得到解答了。我很难找到答案。
我想忽略一组之前从未提交过的文件,并使用github应用程序选择它们并忽略它们。我转到另一个分支一段时间,当我回到我的分支时,我忽略的文件消失了。
这些文件是否已删除?
我使用git checkout切换回分支然后git status --ignored。我丢失的文件不存在。
答案 0 :(得分:4)
您可以使用git reflog --all
从Github应用程序在切换到其他分支之前自动隐藏被忽略的文件时获取SHA代码。请参阅https://stackoverflow.com/a/8865242/2970321。
例如,我使用应用程序(SHA /pr/364
)获取了拉取请求(2ba129d
)。在我切换回gh-pages
之前,它隐藏了我忽略的文件(SHA 36edfc6
)。
所以要恢复,我需要做的就是:
git checkout 36edfc6
我的文件神奇地重新出现,我可以安全地在其他地方手动存储它们,然后再切换回gh-pages
。
答案 1 :(得分:1)
git
不会删除它不关心的文件,除非明确告知这样做(在某些情况下由checkout -f
签出,或clean
) 。由于git
对它们一无所知,它也无法对它们进行再次保护。在移动并做可能有害的事情之前使用git stash
。仔细考虑哪些文件进入.gitignore
,将所有非自动生成的文件添加到版本控制中。
答案 2 :(得分:0)
好像您忽略了分支var mystring = "+test +remove +character";
mystring = mystring.replace(/\+/g, '');
alert(mystring);
中的文件,然后切换到分支A
,但没有忽略那里的文件。
如果仅忽略分支B
中的文件,而不忽略分支A
中的文件,则当它们从B
切换到B
时,它们将被删除。但是,如果您从A
切换到A
,它们应该重新出现。
如果从任何分支机构B
检出到X
,这是正常的git行为,将删除不在分支机构Y
中但在分支机构Y
中的所有文件。如果在X
中忽略了一个文件,但在Y
中却没有忽略该文件,那么您将遇到这种情况。
为防止文件被删除,可以将它们添加到其他分支机构X
的{{1}}文件中。