Articles of git

如何运行脚本来确定cmd.exe或gnu mingw shell是否在运行

我想写一个脚本,在Windows 7平台上运行一些git命令。 用户安装了git工具,或者至less是MINGW – 用于Windows的极简主义GNU。 麻烦的是一些用户从MINGW32 shell和其他cmd.exe运行。 使用MINGW32 shell的示例shell: $ echo $SHELL /bin/sh 使用cmd.exe的示例shell >echo %COMSPEC% C:\Windows\system32\cmd.exe 有没有什么办法可以从我的初始脚本确定shell,然后可能运行一个Windowsbatch file或其他的Unix脚本? 或者另一个想法是假设用户将使用git bash,只需检查$ SHELL是/ bin / sh。 这更容易吗?

在Windows下的Git钩子

我有以下代码在钩子post-receive中的工作目录结帐: #!/bin/sh git –work-tree=d:/websites/__gitweb –git-dir=d:/_gitrepo.git/ checkout -f 不幸的是,似乎没有工作。 但是,当我在Windows命令行(cms)中input这个命令时,该命令可以正常工作: git –work-tree=d:/websites/__gitweb –git-dir=d:/_gitrepo.git/ checkout -f 我已经检查了权限和执行属性,但没有。 更新: 我想我越来越近了。 现在我知道问题是什么,但我不知道为什么会发生这种情况。 挂钩实际上正在触发,但我收到此消息: remote: Starting copy from repository to work tree… remote: fatal: Not a git repository: 'd:/_gitrepo.git/' remote: Finished. 我试图改变d:的path到整个networkingpath,但它仍然无法正常工作。 如果我去远程存储库,我做了一个git日志,更改是在那里,如果我用sh运行钩子,它的工作原理。 为什么它明确表示它不是git仓库?

无法在Windows上提交更新索引

我有一个名为post_deploy的可执行文件,在推送后在我的OpenShift设备上运行,但它不可执行,所以我跑了: git update-index –chmod=+x .openshift/action_hooks/post_deploy 但每次我做了一个git add提交文件,该文件将失去可执行权限。 如果我试图做一个commit ,git会告诉我没有什么可以提交的。 我最终不得不popup到Cygwin得到它的工作,但我怎么能得到这个窗口的命令提示符工作?

从Windows 7上的可执行文件的MySQLDump

我试图转储一个MySQL数据库调用一个wsh jscript文件,但它不工作。 我有这个代码,用git shell调用,它完美的工作: # If something fails, exit with status other than 0 set -e # select dump directory cd "$(git rev-parse –show-toplevel)" # first, remove our original schema rm -f "WebShop\DataBase\backup.sql" # generate a new schema exec "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" –skip-comments -u root –password=root webshopdb |sed 's$),($),\n($g' > "WebShop\DataBase\backup.sql" 我在WSH中尝试了几乎相同的代码,但它仅返回转储文件的标题,并且不会创build该文件。 我不知道什么是错误的,或者如何debugging代码…:S var […]

用Windows程序保存文件会使Cygwin中的Git跟踪文件模式更改

我目前正在用Cygwin,Cygwin的Git和Windows下的Windows编辑器进行开发。 从本地Windows程序保存文件使Cygwin中的文件可执行是非常烦人的。 我想跟踪文件模式,因为我们有Unix可执行文件,但是从Windows更新文件只是不应该改变现有的模式。 在第一次提交文件之前,我会接受在Cygwin中设置一次filemode。 我读了https://cygwin.com/cygwin-ug-net/using-filemodes.html,但我在NTFS上,我不知道ACL将如何影响文件权限。 在将/etc/fstab添加到/etc/fstab并没有停止ls -l将文件从Windows更新为可执行文件。 这两种方法似乎是可能的: 即使从Windows更新,使Cygwin保留现有文件的原始x位。 configurationGit忽略文件模式更改只为已经存在的文件。 我真的想在添加Unix可执行文件时保存x标志,这就是为什么git config core.fileMode false 不是解决scheme 。 这将所有文件保存为不可执行文件。 (抱歉,所有的强调,但在做研究时,我读了太多的文章,愉快地丢弃所有的x位信息,并考虑它的解决scheme) 什么是两种方法的解决scheme? 我更喜欢第一个,因为它感觉更干净。 更新:因为我开始使用Komodo编辑而不是Geany文件不再得到x位。 不同的Windows程序保存文件显然有一些区别。 这几乎解决了我的问题,但我认为Geany也必须有一个解决scheme。