首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git windows post pull

git windows post pull
EN

Stack Overflow用户
提问于 2011-06-09 08:55:02
回答 2查看 2.3K关注 0票数 1

我最近从svn转换过来的。我的服务器在Windows下(别怪我,这不是我的选择:}

我已经创建了一个包含两个分支"master“和”稳定“的repo。

在我的服务器上,我想从稳定分支获取文件。

我已经做到了:

代码语言:javascript
复制
git clone git://url/.git src
cd src
git checkout --track -b stable origin/stable

以前我有一个.bat脚本

代码语言:javascript
复制
cd my_repo_dir
svn update
echo APPLICATION_STAGE = 'production' > conf\__init__.py
net stop apache2.2
net start apache2.2

现在,它在git上起作用了。

代码语言:javascript
复制
cd my_repo_dir
git pull
echo APPLICATION_STAGE = 'production' > conf\__init__.py
net stop apache2.2
net start apache2.2

无论是成功的还是最新的,git pull之后都不会执行任何东西。它只是退出提示,没有任何警告。

我想到了钩子。我创建了:

代码语言:javascript
复制
.git/hooks/post-receive
.git/hooks/post-update

具有相同内容的两个文件:

代码语言:javascript
复制
echo APPLICATION_STAGE = 'production' > conf\__init__.py
net stop apache2.2
net start apache2.2

不,它也没有执行...也许我遗漏了解释声明行(*nix上的#!/bin/sh),但我不确定它在windows上是什么……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-09 09:55:40

几点:

  • 确保path上有git.exe。做一个where git,你必须得到像这样的东西

C:\Program Files (x86)\Git\bin\git.exe

如果正在使用git.cmd (从C:\Program Files (x86)\Git\cmd\git.cmd ),则必须执行call git pull才能继续执行。我会说将git.exe添加到path并开始使用它。

  • 即使在Windows上,你也必须有shebang - #!/bin/sh才能让钩子正常运行。

  • 如果你想让钩子在拉的时候运行,你可能想要使用post-merge钩子。当您推送到远程存储库时,post-receivepost-update会在它们上运行。
票数 3
EN

Stack Overflow用户

发布于 2011-06-09 09:21:21

git可能是实际可执行文件的批处理包装器。使用call git pull

而且这些钩子只有在从远程位置推送内容时才会触发,据我从文档中可以看出。所以它们在pull中被忽略了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6286982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档