Answers:
由于您不打算在树中移动文件,因此您应该能够仅检出目录:
git checkout master -- dirname
git checkout master -- dirname; git add dirname; git commit -c $COMMIT_SHA1 --reset-author;
哪里$COMMIT_SHA1
可以像branch_a
并会提交其具有提交你想要的消息对象。我不知道如何用最新的更改以编程方式确定提交dirname
dirname
,但也会复制.gitignore
该master
分支中的所有文件。知道为什么吗?
cherry-pick
。它应用来自其他分支的提交,但是仅应用所需的提交中已更改的文件。
如果路径中没有空格,并且您和我一样对仅特定扩展名的文件感兴趣,则可以使用
git checkout otherBranch -- $(git ls-tree --name-only -r otherBranch | egrep '*.java')
git checkout master -- *.c