我正在尝试下载 GIT 中的 PULL REQUEST 中更改的文件以进行部署。
你能帮我找出最好的方法吗?
目前,开发是我的默认分支。
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
将$n替换为 PR#。
这将给我所有已更改文件的名称。
我怀疑这是有效的方法,并相信应该有一些简单的方法可以从 GIT PR 中仅获取更改的文件。
你能帮忙吗!!
您可以使用git archive
导出文件。除此之外,您只能过滤和导出更改的文件。您应该获得一个包含所有已更改文件的zip文件。
在您的情况下:
git archive -o update.zip pull_$n $(git diff --name-only develop pull_$n)
您也可以使用以下管道到焦油:
git diff --name-only develop pull_$n | xargs tar -czf ../update.tar.gz
但如您所见,这两种解决方案都与您已经在做的事情非常相似。