我目前在我的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