当前位置:   GIT > 正文

git checkout - *并跳过未跟踪的文件

git,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我试图在我的一个巨大的搞砸之后恢复文件.

git checkout -- *到目前为止工作得很好.除此之外,例如,在我的.gitignore文件中,我列出了"LICENSE.txt",它显然不仅适用于该名称的根级文件,而且适用于整个目录树中具有该名称的每个文件.

因此,当我git checkout -- *在wordpress文件夹中运行时,它会失败并显示错误:

错误:pathspec'blog/license.txt'与git已知的任何文件都不匹配

如何运行命令以使其仅适用于跟踪的文件?我的另一个选择是遍历每个文件夹并逐个恢复文件.

另请注意,license.txt不是我唯一被忽略的文件问题.有几十个.



1> Kent Shikama..:

如果我正确理解了您的问题,您希望将当前跟踪的所有文件重置为上一次提交,并保留未跟踪文件.

如果是这样,那么我会这样做.

第一种方式

如Porges在评论中所述.

首先取消暂存所有当前修改的文件:

git reset

然后将所有未分级的已修改文件重置为上一次提交.

git checkout -- .

第二种方式(仅限Git 1.7.7+)

首先,我将存储跟踪的文件如下:

git stash

然后我将存储未跟踪的文件,如下所示:

git stash -u

因此,现在您的堆栈上有两个存储块:一个在底部有跟踪文件,另一个在顶部有未跟踪文件.弹出跟踪文件如下(也就是应用堆栈中第二个的存储):

git stash apply stash@{1}

然后重置为上一次提交:

git reset --hard

最后,应用未跟踪的文件:

git stash apply

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/GIT/detail/12751
推荐阅读
相关标签
  

闽ICP备14008679号