2013-02-01 52 views
0

我正在寫一個批處理文件來自動將我修改過的文件添加到git中的暫存區域。從另一個目錄執行git add

批處理文件位於我的開發/工具目錄中,因爲它是第一個參數,所以需要將git repo的目錄。

這是我的時刻代碼:

@echo OFF 

IF "%1"=="" (
    echo No directory supplied... 
    goto :exit 
) ELSE (
    echo Adding all modified files to staged area for %1 
    git add %1 
) 

:exit 

然而,當我在開發/ tools目錄並運行./test.bat ../temp我得到以下輸出:

添加的所有修改過的文件到../temp的舞臺區域

致命:不是git存儲庫(或任何父目錄):.git

如何執行'git add'。在一個位於目前我不在使用批處理命令的目錄中的回購?

+0

嘗試'CD%1'過嗎? – lcs

回答

1

做一個cd %1首先你執行git的運行`git的添加%1`前加

+0

有效,但如何在此之後返回到原始目錄? –

+0

如果您需要返回原始目錄,請先執行'pushd%1',然後執行'popd%1'。手動頁pushd/popd可在這裏:http://technet.microsoft.com/en-us/library/cc771180.aspx – gerrytan

+0

這只是爲Windows 8不是嗎? –