我目前在我的jenkins中有一个bash命令设置,它应该可以帮助我将文件添加到我的git。防止git在某些条件下压缩任何文件
我所做的是我检查自上次提交后发生更改的文件,然后压缩这些文件,将它们解压缩到一个目录中,并通过ssh将它们移动到我的服务器。只要我不通过我的提交删除文件,这可以毫无问题地工作。
当我删除一个文件时,它会尝试将该文件添加到zip文件中,然后导致错误,因为文件不再存在(显然)。
最初我的命令是这样的:
git archive --output=publish/update.zip HEAD $(git diff --name-only $PREVIOUS $CURRENT)
目前它看起来像这样:
git archive --output=publish/update.zip HEAD $(git diff --diff-filter=d --name-only $PREVIOUS $CURRENT)
什么--diff-filter=d
确实是从搜索中排除任何删除的文件。 不过,我做到这一点,只有在我提交归档命令删除的文件看起来像这样的时候:
git archive --output=publish/update.zip HEAD
所以会发生什么是有导致整个工作区与git后头部指定文件压缩并转移到服务器。 显然这不是我想要的。
有没有人有任何想法我可以解决这个问题?
我的整个bash命令看起来像this
你为什么要发送的文件(你是犯?)手动,而不是仅仅使用Git推/拉各自提交的? – rubenvb
,因为我不想碰任何服务器端。这是我可以在任意数量的站点和服务器上应用的解决方案。我有共享主机和VPS的人,什么不是,所以我觉得这是最好的方式 – NoSixties