git:将文件从另一个分支签出到当前分支(不要将头切换到另一个分支)

git:将文件从另一个分支签出到当前分支(不要将头切换到另一个分支),git,branch,git-checkout,Git,Branch,Git Checkout,我想将另一个分支中存在的文件的不同版本加载到我的当前分支中 git help checkout显示: DESCRIPTION Updates files in the working tree to match the version in the index or the specified tree. If no paths are given, git checkout will also update HEAD to set the specified branch a

我想将另一个分支中存在的文件的不同版本加载到我的当前分支中

git help checkout
显示:

DESCRIPTION
   Updates files in the working tree to match the version in the index or
   the specified tree. If no paths are given, git checkout will also
   update HEAD to set the specified branch as the current branch.

是否有办法签出所有这些文件,但不签出更新头?

通过提供当前路径进行签出,

git签出其他分支名称--.

此操作类似于,但只是从“另一个方向”

作为@김민준 提到,这将覆盖任何未提交的更改。如果需要,请记住先将它们隐藏或提交到某个位置。

类似于,但使用较新的命令(需要Git 2.23或更高版本):

git还原--源=
#或
git还原-s
#示例:从分支“其他”加载所有文件
git restore-s其他。

引入这个新命令是为了将“签出分支”和“签出文件”从单个
git checkout
命令中分离出来。阅读更多信息:。

只需提醒一下,这将放弃您所有未限制的工作。事后看来很明显,但被狠狠地咬了一口:“(这是从您不想保留所有细节的功能分支执行合并的最简单的方法。。有点难找到,谢谢!您能解释一下-。实际上在做什么吗?”“在这里,没有参数的意思是“全部”?据我所知,Git使用
--
作为左边的命令和右边的文件globs之间的分隔符。这对我来说并不完全适用,使用Windows(可能还有其他区别?)我不得不使用
Git checkout--C:\path\to\changes\*
@BobbyA我不这么认为。1:问题和答案是关于其他的(分支和文件/文件夹名称冲突)。2:此问题较旧。我标记了错误的问题(多个选项卡),立即意识到,并撤消了标记。但我不知道有评论。我被抓住了!抱歉:)现在删除该评论,因为它具有误导性