git - 将分支中的文件签出到不存在此文件的工作分支
问题描述
我有一个分支 (feature-4),我想在其中添加在另一个分支 (feature-5) 中提交的子文件夹 (src/peripherals/dma) 中的所有文件。
签出的分支是 feature-4,不包含文件夹 src/peripherals/dma(src/peripherals 确实存在)
我的一位同事确实将用于 dma 的代码推送到了他的 feature-5 分支中。
正如 git checkout 的手册和此链接 (jasonrudolph.com)中所述,git checkout 应该这样做,但既没有给出文件的路径,也没有给出文件夹的路径。
$ git branch
* feature-4
feature-5
master
$ git checkout feature-5 src/peripherals/dma/dma_config.c
error: pathspec 'src/peripherals/dma/dma_config.c' did not match any file(s) known to git
daimonion@ZBOOK-004 MINGW64 ~/K4G1/src/peripherals/dma (feature-4)
$ ls -al
total 4
drwxr-xr-x 1 daimonion 1049089 0 Sep 4 09:13 ./
drwxr-xr-x 1 daimonion 1049089 0 Sep 4 09:13 ../
-rw-r--r-- 1 daimonion 1049089 0 Sep 4 09:13 dma_config.c
我认为 git 有问题,因为该文件不存在,但即使我将一个空的 dma_config.c 提交给分支 feature-4,它也会给出相同的错误。
git 如何将一些文件从一个分支“合并”到它们不存在的分支?
提前致谢
问候 daimonion
解决方案
这不是问题,即使当前分支上不存在文件,您也可以很好地从另一个分支签出文件。
一个可能的原因可能是您的本地版本feature-5
不是最新的(因此还没有提交需要的文件),请务必
git checkout feature-5
git pull
在重试您的命令之前。
此外,pathspecs 应该在前面--
,所以
git checkout feature-5 -- src/peripherals/dma/dma_config.c
推荐阅读
- javascript - 有没有办法跟踪 JS 使用 PYTHON / SELENIUM 完成的重定向?
- c++ - 在c ++中返回运算符=重载的对象
- c# - 在c#中检索网页html内容
- html - 如果嵌套元素继承了最大宽度样式,如何使嵌套元素跨越整个屏幕宽度?
- c# - AJAX 在 MVC 中调用 Web 表单
- javascript - 类组件与功能组件渲染内的箭头函数?表现明智
- c++ - 使用 boost fusion 获取结构名称
- mysql - Galera Mysql wsrep_cluster_status 保持断开连接
- reactjs - 如何在同一级别的组件之间传递东西?
- ansible - 我们可以重新格式化ansible变量输出值并再次存储在变量中吗?