2011-05-08 41 views
1

所以,我想知道是否有辦法編寫一個批處理文件,打開cmd窗口中的git bash,並調用某些git函數,就像一個宏。是否有可能做到這一點?我知道我可以在cmd窗口中調用「C:\ Program Files文件(x86)\ Git \ bin \ sh.exe --login -i」來在窗口中運行git bash,並且我設法做到了這一點一個批處理文件,但在sh.exe進程結束之前它不會執行任何操作。是否可以爲Git Bash創建批處理文件?

這可能嗎?我怎樣才能做到這一點?

注意:我發現這個:Reading Git commands using Batch(.BAT) file。這傢伙這樣說:

海所有,最後,我用下面的代碼ssippet得到了我的question.By的解決方案,我們可以用BAT文件"c:\Program Files\Git\cmd\git.cmd" pull > c:\platform.txt" vthe上面的代碼從BAT文件使用,而不是使用Git拉運行的Git或者git push和任何使用GIT Bash的git命令。感謝所有張貼您的寶貴意見和部分答案

但是對我來說,沒有git.cmd可執行......如果合併了問題或東西,我只會用寫入.txt文件.. 。但是在Git/bin中有一個git.exe可執行文件。顯然它會讓我做所有的git函數,比如添加,推送,提交,合併等等。所以我有兩個問題:我需要將批處理文件改變目錄到本地repo,然後調用git.exe從那裏?因爲它不會讓我做git cd。另外,假設我在cmd窗口中輸入了git fetch upstream。如果我輸入git merge upstream/master,那麼它是否會記得它之前提取的內容?

+0

我認爲那傢伙正在討論批處理文件,其內容在[@Robert Massaioli's]下的評論主題中討論過(http://stackoverflow.com/questions/5077254/reading-git-commands-using-batch-蝙蝠文件/ 5077283#5077283)回答。 – 2011-05-08 02:17:51

+3

幫我一個忙,放棄cmd.exe船:) – ralphtheninja 2011-05-08 08:38:22

回答

1

從Windows批處理文件通過git bash運行git幾乎肯定不是你真正想做的事情。我假設你正在討論msysgit,並且你似乎試圖解決安裝中缺少git.cmd文件的問題。如果你缺少這個文件,那麼你的安裝被破壞,我建議你重新安裝。您會注意到安裝程序中有一個選項可以將git放入PATH以便從cmd.exe運行。

修復安裝後,git的工作方式與cmd.exe的工作方式基本相同,但由於Windows和cmd.exe的特殊字符,需要注意一些注意事項。所以是的,你的提取和合並的例子將工作得很好。

如果您想要在git存儲庫上進行操作,您需要位於存儲庫中,或者根據需要將GIT_DIR環境變量設置爲.git目錄。