GIT下载拉取请求文件已更改

时间:2018-10-01 20:59:29

标签: git git-pull git-diff git-fetch

我正试图在GIT的PULL REQUEST中下载已更改的文件以用于部署。

您能帮我找出最好的方法吗?

目前,develop是我的默认分支。

git clone https://mygitreposerver.net/EWE/mygitrepo.git

cd mygitrepo

git fetch origin pull/$n/head:pull_$n

git diff --name-only develop pull_$n

mkdir ../mygitrepo-modified

cp --parents $(git diff --name-only develop pull_$n) ../mygitrepo-modified

用PR#代替$ n。

这将为我提供所有已更改文件的名称。

我怀疑这是一种有效的方法,并且相信应该有一些简单的方法可以从GIT PR中仅获取已更改的文件。

可以请你帮忙!

1 个答案:

答案 0 :(得分:1)

您可以使用git archive导出文件。除此之外,您可以仅过滤和导出更改的文件。您应该获得一个包含所有更改文件的zip文件。

在您的情况下:

git archive -o update.zip pull_$n $(git diff --name-only develop pull_$n)

您还可以使用以下方法通过管道将其传输到tar:

git diff --name-only develop pull_$n | xargs tar -czf ../update.tar.gz

但是您可以看到,这两种解决方案都与您已经在做的非常相似。