gpt4 book ai didi

git - 仅获取分支差异中的文件

转载 作者:太空狗 更新时间:2023-10-29 14:23:32 25 4
gpt4 key购买 nike

我在 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

--diff-filter选项允许您选择要列出的文件类型(在本例中为 [A]dded、[C]opied 和 [M]odified),因此如果您想确保所有修改都包含在 tar 文件中,您需要检查没有文件被删除或重命名:

git diff-tree -r --no-commit-id --name-only --diff-filter=DR
"firstCommitOfTheBranch"..HEAD

如果前面的命令返回一些文件名,您需要在服务器中手动重命名或删除它们。

关于git - 仅获取分支差异中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com