首页 > 小技巧 > git skip worktree文件恢复

git skip worktree文件恢复

2017年10月20日 发表评论 阅读评论

从远程pull文件一致报error: Your local changes to the following files would be overwritten by merge:
提示有文件未commit,可是本地已经无文件可,后来发现提示未提交这些文件都是skip worktre文件,需要恢复取消skipwork状态,然后暂存本地的修改,再进行pull远程文件就可以了。

把所有标记为skip worktree的问价取消标记命令:

git ls-files -v 显示所有文件的状态
grep -i ^S cut -c 3- 提取从第三个字符开始到结尾,去掉状态只保留路径
tr '\012' '\000'替换换行符 (\012) 为 (\000)
xargs -0 git update-index --no-skip-worktree 把以0分割的路径字符传给 git update-index --no-skip-worktree 取消

忽略修改,从而不用提交到库里面。
git update-index --assume-unchanged /path/file

如果想恢复该文件,可以用
git update-index --no-assume-unchanged /path/file 来恢复跟踪

除非注明,本站文章均为: nginx.cn原创,转载请注明本文地址: http://www.nginx.cn/4707.html

--完--

分类: 小技巧 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.