Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 仅获取分支差异中的文件_Git_Bitbucket_Git Diff - Fatal编程技术网

Git 仅获取分支差异中的文件

Git 仅获取分支差异中的文件,git,bitbucket,git-diff,Git,Bitbucket,Git Diff,我在Bitbucket有一个帐户 我创建了一个分支,只想下载该分支中的文件 如果我转到Bitbucket并单击分支,然后单击Diff。。。我可以看到一长串我编辑过的文件,但不能直接下载它们 如果我先下载然后再下载分支,它显然会给我整个项目(不仅仅是分支中修改的文件) 有什么想法吗 我希望能够做到这一点的原因 因为我发现如果我使用git并拥有这些分支。。。这些文件要么在我的本地计算机上,要么在Bitbucket中 当我对分支版本感到满意时,我需要将新文件更改上传到我们的服务器 如果只有这些文件就好

我在Bitbucket有一个帐户

我创建了一个分支,只想下载该分支中的文件

如果我转到Bitbucket并单击分支,然后单击Diff。。。我可以看到一长串我编辑过的文件,但不能直接下载它们

如果我先下载然后再下载分支,它显然会给我整个项目(不仅仅是分支中修改的文件)

有什么想法吗

我希望能够做到这一点的原因

因为我发现如果我使用git并拥有这些分支。。。这些文件要么在我的本地计算机上,要么在Bitbucket中

当我对分支版本感到满意时,我需要将新文件更改上传到我们的服务器

如果只有这些文件就好了,因为这样我就可以简单地把它们放到filezilla中,然后上传到我们的服务器上

其他注释

我现在在我的开发分支上,在一个项目的一个存储库下,我可以将该分支中的每个文件上传到我的服务器上。但是因为上传到服务器的速度太慢(20分钟),所以最好只上传受影响的文件。。。加快速度

相关问题:


如果您已经在本地克隆了存储库,您可以从此本地存储库而不是从bitbucket导出这些文件,如果我正确理解了您的问题,也可以解决您的问题,因为缓慢的部分是将这些文件上载到其他服务器。
要导出所需文件,您需要当前分支的第一个提交id,然后可以使用diff tree列出受影响的文件,然后使用tar命令导出它们:

git diff-tree -r --no-commit-id --name-only --diff-filter=ACM
      "firstCommitOfTheBranch"..HEAD | xargs tar -rf exportedFiles.tar
该选项允许您选择要列出的文件类型(在本例中为[A]dded、[C]opied和[M]odified),因此,如果要确保所有修改都包含在tar文件中,则需要检查是否没有删除或重命名的文件:

git diff-tree -r --no-commit-id --name-only --diff-filter=DR
      "firstCommitOfTheBranch"..HEAD 
如果前面的命令返回一些文件名,则需要在服务器中手动重命名或删除它们