git签出某些文件,尽管存在冲突
我经常发现自己只想签出树中的某些文件,但无法签出,因为我已经在本地修改了它们,不想麻烦地尝试合并(我不想合并任何东西-我只想要某些文件的git版本) 那么,如何强制签出,例如,“db backup*”,其中这些文件分散在一个目录结构上 e、 g 谢谢 r、git签出某些文件,尽管存在冲突,git,merge,git-checkout,Git,Merge,Git Checkout,我经常发现自己只想签出树中的某些文件,但无法签出,因为我已经在本地修改了它们,不想麻烦地尝试合并(我不想合并任何东西-我只想要某些文件的git版本) 那么,如何强制签出,例如,“db backup*”,其中这些文件分散在一个目录结构上 e、 g 谢谢 r、 git checkout对我来说很好,即使文件有修改。您得到的错误是什么,您试图运行的命令是什么?这可能会起作用: find . -name 'db-backup*' | xargs git checkout -- 有几种可能的解决方案,具
git checkout
对我来说很好,即使文件有修改。您得到的错误是什么,您试图运行的命令是什么?这可能会起作用:
find . -name 'db-backup*' | xargs git checkout --
有几种可能的解决方案,具体取决于您想做什么
- 如果要放弃更改,可以使用
git checkout -f <paths>...
- 如果您想在其他地方签出某些目录或文件子集,您可以使用
,如git archive主页“示例”部分所述:git archive
请注意,它将使用来自HEAD(lastcommit)的版本,而不是来自索引的版本,尽管通常不会有任何区别 实现这一点的另一种方法是使用git archive --format=tar --prefix=subdir/ HEAD:subdir | (cd /var/tmp/ && tar xf -)
的git checkout index
选项,尽管这可能被认为是黑客行为--temp
git stash
git checkout <paths>...
git show <file>
git archive --format=tar --prefix=subdir/ HEAD:subdir |
(cd /var/tmp/ && tar xf -)
git restore -s@ :(glob)db-backup*