我正试图在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中仅获取已更改的文件。
可以请你帮忙!
答案 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
但是您可以看到,这两种解决方案都与您已经在做的非常相似。