是否可以为Git Bash制作批处理文件?

时间:2011-05-08 01:26:04

标签: git command-line macros batch-file

所以,我想知道是否有办法编写一个批处理文件,在cmd窗口中打开git bash并调用某些git函数,就像一个宏。是否有可能做到这一点?我知道我可以在cmd窗口中调用“C:\ Program Files(x86)\ Git \ bin \ sh.exe --login -i”在窗口内运行git bash,我已经设法用一个批处理文件,但是直到sh.exe的进程结束它才会执行任何操作。

这可能吗?我怎么能这样做?

注意:我发现了这个:Reading Git commands using Batch(.BAT) file。那家伙说:

  Hai All,最后我得到了我的问题的解决方案。通过使用下面的代码ssippet,我们可以使用BAT文件"c:\Program Files\Git\cmd\git.cmd" pull > c:\platform.txt"使用BAT文件而不是使用git pull或git push运行Git上面的代码使用GIT Bash的任何git命令。感谢所有发布您的宝贵意见和部分答案

但是对我来说没有git.cmd可执行文件......我只会在合并出错或者什么的时候使用写入.txt文件...但是Git / bin中有一个git.exe可执行文件。显然它会让我做所有git函数,如添加,推送,提交,合并等。所以我有两个问题:我是否必须将批处理文件更改目录到本地仓库然后调用git.exe从那里?因为它不会让我做git cd。另外,假设我在cmd窗口中键入git fetch upstream。如果我输入git merge upstream/master,那么它会记住之前提取的内容吗?

2 个答案:

答案 0 :(得分:1)

从Windows批处理文件中通过git bash运行git几乎肯定不是你真正想要做的。我假设您正在谈论msysgit,并且您似乎正在尝试解决安装中缺少git.cmd文件的问题。如果你遗漏了这个文件,那么你的安装就会中断,我建议你重新安装。您会注意到安装程序中有一个选项可以将git放在PATH中以便从cmd.exe运行。

一旦你修复了你的安装,git将从cmd.exe或与bash一样或多或少地工作,但由于Windows和cmd.exe特殊字符会引起一些警告。所以是的,你的fetch和merge示例会正常工作。

如果你想在git存储库上运行,你需要在存储库中或根据需要将GIT_DIR环境变量设置为.git目录。

答案 1 :(得分:0)

在这里查看我的答案:Using msysGit from MinGW and vice versa

也可能适用于你。使用“调整路径环境”中的第三个或第二个选项将为您提供git.cmd,您可以直接从cmd运行该选项。