Git检出某个版本中的某些文件修改

比如有两个分支Branch1  Branch2  现在在Branch2上的commit3上有 /src/aa.js需要被Branch1吸收过来

Branch2的commit记录如下
commit5 xxxx
commit4 xxx
commit3 /src/aa.js /src/bb.js
commit2
...

第一种方法(最简单易行)git checkout commit3 ./src/aa.js

第二种方法(体会过程)

我们需要先切到Branch2上
git checkout Branch2
然后我们跳转到这个需要检出文件的分支上
git checkout commit3
这时候会提示匿名分支的问题 
detached HEAD 状态
现在我们给截至到commit3版本的内容创建一个新分支叫until_commit3
git switch -c until_commit3

接着我们回到我们最开始自己的分支Branch1然后将until_commit3中的/src/aa.js拿过来

git checkout Branch1
git checkout until_commit3 /src/aa.js

如果我们需要在/src/aa.js上做出一些调整我们可以现在进行调整,又或者在之前那一步git checkout commit3之后我们调整了一些内容并执行了add 和 commit

我们保存我们改后的commit3到一个新分支,我们可以这样操作 git branch 新分支名 commitid
git branch gai_commit3 commit3
这样gai_commit3这个分支上就是我们魔改之后的commit3内容了,我们可以检出来魔改之后的aa.js
git checkout Branch1
git checkout gai_commit3 /src/aa.js