【问题标题】:GIT - Save down both branch and master files from commited branch where different from masterGIT - 从提交的分支中保存分支和主文件,其中与主文件不同
【发布时间】:2021-09-21 14:35:24
【问题描述】:

我一直在使用 Tortoise Git,今天开始学习 GITbash 命令,以帮助执行比较不属于 master 分支的已更改文件的任务。

使用

$cp -pv -parents $(git diff MyBranch..Master --name-only) C:/Temp

这会将文件本地保存到我的机器上,这些文件已更改并且是来自 master 的文件(如果我反转分支,结果相同),不确定我如何从提交的本地分支获取文件。

然后我想从 Mybranch 本地保存文件,目的是拥有两组文件,以便我可以使用 windows 软件比较文件差异。

我可以通过显示单个文件

$git show master:MFile > C:/Temp

如果我传入 diff 命令,它只能查看一个文件,我认为这是 show 命令的限制。

使用 Git 命令,我可以获取本地分支中已更改并已提交的文件以及来自 master 的相同文件,即每个文件有 2 个副本,主副本和本地分支中已提交的文件,但是没有合并到master,谢谢。

【问题讨论】:

  • 您在寻找git difftool 吗?试试git difftool -d master myBranch
  • 我正在尝试从 master 和本地分支获取文件列表,以便我可以使用其他工具,因为使用 GIT url 来查看差异或 Tortoise Git 使用的 difftool 不是好到无法比拟。如果从 master 更改了 6 个文件,我想保存 naster 并更改提交的文件以使用超越 compare 之类的工具,这对于更清楚地查看差异非常有用。
  • 我的意思是:git difftool 是为此特定目的而制作的:在外部差异查看器中打开差异。例如,请参阅 this other questionthis page on scootersoftware.com 以获取设置说明,然后尝试运行 git difftool -d master myBranch

标签: git


【解决方案1】:

除了difftool,另一种方法是git worktree(即我present here

您可以为两个不同的分支在两个不同的文件夹中恢复同一个克隆存储库的两个副本。

这允许您使用任何您想要的差异工具(无论是否来自 Git),并比较任何文件,每个文件都来自各自的分支。

【讨论】:

    猜你喜欢
    • 2021-09-28
    • 2018-07-06
    • 2014-09-19
    • 2012-01-25
    • 2014-10-02
    • 2020-04-12
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多