我一直在使用Tortoise Git,今天开始学习GITbash命令,以帮助执行比较不属于主分支的更改文件的任务。
使用
$cp -pv -parents $(git diff MyBranch..Master --name-only) C:/Temp
这将文件本地保存到我的机器上,这些是已经更改的文件,并且是来自master的文件(如果我反转分支,结果相同),不确定我如何从提交的本地分支获取文件。
我想把这个文件从Mybranch本地保存下来,这样我就可以用windows软件来比较文件的差异。
我可以通过
显示单个文件$git show master:MFile > C:/Temp
如果我传入diff命令,它只能查看一个文件,我认为这是show命令的限制。
使用Git命令,我可以得到本地分支中已经提交的修改文件和来自master的相同文件,即每个文件有两个副本,主副本和来自本地分支的已提交但未合并到master的文件,谢谢。
除了difftool
,还有另一种方法是git worktree
(我在这里介绍)
您可以在两个不同的文件夹中为两个不同的分支恢复同一个克隆存储库的两个副本。
允许您使用任何您想要的diff工具(来自Git或非Git),并比较任何文件,每个文件都来自各自的分支。