git archive --format=tar --remote [email protected]:repoid tagid | tar -xf -
更是把混帳回購協議從遠程「remoteid」「repoid」和出口回購的標籤「tagid」到當前目錄。但是,當我嘗試將其添加爲git alias命令時,它不起作用。它不會給我任何錯誤;它根本不會產生預期的結果。
混帳alias命令:
[alias] export1 = !sh -c 'git archive --format=tar --remote [email protected]$1:$2 $3 | tar -xf -' - export2 = !sh -c 'git archive --format=tar --remote $1 $2 | tar -xf -' -
稱爲
git export1 remoteid repoid tagid git export2 [email protected]:repoid tagid
我知道與其他命令別名工作結構只是沒有這個出口。例如:
[alias] deletetag = !sh -c 'git tag -d $1 && git push origin :refs/tags/$1' -
稱爲
git deletetag V1.01.000
將從本地回購和遠程回購起源刪除標記。
任何想法我做錯了,如何解決它將不勝感激。
好的,我發現了這個問題非常有趣的部分。只要您的當前目錄不在現有的git倉庫中,「export1」上面的git別名就會起作用。但是,如果您當前的目錄位於現有的git repo中,它會將文件導出到該現有repo的根目錄。所以現在的問題是:有沒有辦法獲得git別名的執行目錄?不幸的是,$ PWD返回了git repo root ... –