2016-03-25 47 views
3

: --Diff-filter ile silinmiş dosyalar hariç, HEAD olana kadar seçilen işlemden dağıtmak için dosyaları ayıklamak ve sıkıştırmak için Kaynak Ağacı özel Git eylemini kurmaya çalışıyorum .SourceTree özel eylem çalışmaz, ancak Git terminal penceresi aracılığıyla çalışır

archive -o deploy.zip HEAD $(git diff --name-only --diff-filter=ACMR $SHA)

Source Tree custom action screenshot

sorun bu Git komutu hatasız Git terminali pencereden mükemmel çalışıyor ama Kaynak Ağacında kullanmaya çalıştığınızda bu hatayı alıyorum olmasıdır. Ben bu sorunla ilgili sorunun ne olduğunu anlamaya çalıştım

Source Tree custom action error message screenshot

git archive -o deploy.zip HEAD $(git diff --name-only --diff-filter=ACMR fbf360c607b01fc8c504c9fcf98114eb4bc1896c) error: unknown option name-only

, ancak başarılı olamadı. Kaynak ağacında kimsenin bu veya benzeri bir sorunu olup olmadığını duymak isterim çünkü bana bir hata gibi görünüyor. peşin

sayesinde

Alkış

+0

Ben correctl tahmin ederse Windows'da çalıştırdığınıza göre lütfen "windows" etiketini eklemek için sorunuzu düzenleyin – max630

cevap

0

$ (...) iç komutu çalıştırır ve komut satırına yerine çıkışını ekler bash commands substitution vardır. SourceTree, komutları çağırmak için bash kullanmaz (Windows, değil mi?) Ve komutunuz değiştirilmez.

yerine yaklaşık böyle bir senaryo komutunuzla koymalıyız:

------ c: .. \ script.sh ----

#!/bin/sh 
git archive -o deploy.zip HEAD $(git diff --name-only --diff-filter=ACMR "$1") 


komut çalıştırmak için: [... \ bash.exe]
parametreleri: ve kaynak ağacından çağırmak kurmak [-cc: .. \ script.sh $ SHA1]

+0

Cevabınız için teşekkürler @ max630, çözümünüzü denedim ve ileriye doğru bir ilerleme var gibi görünüyor. Şimdi şu hatayı alıyorum: 'bash.exe -c C: /Users/SUBA/Documents/SourceTree/deploy.sh 110738aee6726fbef57370e4b5c63962c6530aa1 C: /Users/SUBA/Documents/SourceTree/deploy.sh: satır 2: git: komut bulunamadı –