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