GIT 下载拉取请求文件已更改
GIT download pull request files changed
我试图在 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
将 $n 替换为 PR#。
这将给我所有更改文件的名称。
我怀疑这是一种有效的方法,并且相信应该有一些简单的方法可以只从 GIT PR 中获取更改的文件。
你能帮忙吗!!
您可以使用 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
但如您所见,这两种解决方案与您已经在做的非常相似。
我试图在 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
将 $n 替换为 PR#。
这将给我所有更改文件的名称。
我怀疑这是一种有效的方法,并且相信应该有一些简单的方法可以只从 GIT PR 中获取更改的文件。
你能帮忙吗!!
您可以使用 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
但如您所见,这两种解决方案与您已经在做的非常相似。