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

时间:2013-06-04 10:01:29

标签: git

我是GIT的新手,学到了很少的教程,我创建了主分支和其他工作分支,我正在处理任务。

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

我正在处理任务(分支A)并将其上传到服务器。后来客户端让我回滚(这是主分支)。假设更改的文件是新分支中的a,b,c,d(我已经上传)并且master上有A到Z文件。我换回主分公司。现在我需要获得旧的a,b,c,d文件,以便我可以将它们上传到服务器。

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

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

2 个答案:

答案 0 :(得分:1)

您可以使用git diff --name-only master working_branch获取已更改的文件的名称,并通过您最喜欢的归档文件进行管道传输。

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

编辑:这取决于您要使用的归档器。以下似乎适用于Cygwin的zip package

git diff --name-only --diff-filter=AM master working_branch | zip patch.zip -@

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

答案 1 :(得分:0)

git archive --format=zip -o diff_archive.zip HEAD `git diff --name-only master..HEAD`
相关问题