git如何在归档文件中存储来自2个分支的不同文件

git如何在归档文件中存储来自2个分支的不同文件,git,Git,我是GIT新手,学习了一些教程,并且创建了master分支和另一个工作分支,我正在其中处理一项任务 我已经在本地机器上创建了这个。我的客户没有git或任何东西。所以当我必须更新服务器时。我确实创建了一个rar文件,包含所有更新的文件并上传它们 我正在处理一个任务(分支a)并将其上传到服务器。后来客户要求我回滚(这是主分支)。假设更改的文件是新分支中的a、b、c、d(我已上载),并且主节点上有a到Z文件。我又调回了总店。现在我需要得到旧的a,b,c,d文件,这样我就可以上传到服务器上 我已经安装了

我是GIT新手,学习了一些教程,并且创建了master分支和另一个工作分支,我正在其中处理一项任务

我已经在本地机器上创建了这个。我的客户没有git或任何东西。所以当我必须更新服务器时。我确实创建了一个rar文件,包含所有更新的文件并上传它们

我正在处理一个任务(分支a)并将其上传到服务器。后来客户要求我回滚(这是主分支)。假设更改的文件是新分支中的a、b、c、d(我已上载),并且主节点上有a到Z文件。我又调回了总店。现在我需要得到旧的a,b,c,d文件,这样我就可以上传到服务器上

我已经安装了龟GIT和GitGUI。我已经选中了TortoiseGit的比较分支选项,它显示了修改过的文件。当我导出时,它只保存文件名


我的问题是。如何在zip/rar存档中从两个分支获取不同的文件,保持文件夹结构完整。

您可以使用
git diff--name only master working_branch
获取已更改的文件名,并通过您最喜爱的存档程序传递这些文件

还有一个问题,您无法轻松地从远程删除文件。选项
--diff filter
可能有帮助,即
git diff--name only--diff filter=D master working_branch
将列出在working_branch中删除的文件

编辑:这取决于您想要使用的归档程序。以下内容似乎适用于Cygwin的:


修补程序将包含添加和修改的文件。

谢谢您的命令,您是否可以告诉我如何将它们添加到具有完整目录结构的存档中。您的编辑很好,但如何在zip中获得修改文件的旧版本:)主控有A到Z文件,分支有A、B、C更新。我需要Master中的A、B、C来恢复备份或回滚文件如果old==Master,则签出Master并使用各种
--diff-filter
选项(可能是
--diff-filter=M
)。
git archive --format=zip -o diff_archive.zip HEAD `git diff --name-only master..HEAD`
git archive --format=zip -o diff_archive.zip HEAD `git diff --name-only master..HEAD`