有时候我们需要从别的分支复制文件或者目录,这里总结一些简单的命令供查看。
假设我们的当前分支为branch1, 想要复制文件或者目录的分支为branch2, 两个分支下文件结构是不同的,具体如下:
branch1:
├── README.md
├── cpp
│ ├── include
│ │ └── test.hpp
│ └── src
│ └── test.cpp
└── python
└── setup.pybranch2:
├── README.md
└── java
└── test.java
└── main.java假设我们当前在branch1, 目录为仓库根目录,想要复制branch2 的 java/test.java` 到当前目录,执行下面的语句:
git checkout branch2 -- java/test.java⚠️注意:这里还是会创建一个java目录,而不是把test.java放到根目录下。
如果当前进入了cpp 子目录,后面的路径也需要改成相对路径:
git checkout branch2 -- ../java/test.java如果想要复制整个目录,也是一样的:
git checkout branch2 -- java此外还可以利用提交的hash值来复制文件,这样就会复制当次提交时候的文件内容:
git checkout 941b6dd java/test.java参考: