Git定期/在分支机构结账时自动获取

时间:2015-05-15 10:17:14

标签: git fetch git-checkout

我想要一些自动方法从我们的远程源服务器进行提取。 所以也许每次我切换分支时,git都会在切换之前自动对来自原点的所有分支进行提取...这样当我从本地“修复分支”移动到掌握它时,它会告诉我我的主人是在原始主人之后。

这可能吗?如果您需要知道我为什么要这样做,我的要求的更详细原因如下。

谢谢你们!

我在一个开发团队工作。当我向origin / master分支添加更改时,我也将更改上传到我们的FTP服务器(我们还没有在我们的服务器上设置git)

如果我创建一个“修复分支”并对文件进行更改...那么我想将这些文件保存为主文件。如果我只是将本地文件中的更改合并到我的本地主服务器而不进行提取,则可能会导致问题。 如果我忘记在上传文件之前从我们的来源引入更改,我可能会上传缺少修订版本的文件。 (我知道顽皮)

另外,我想尽快知道主人的任何更新,以便我可以将它们合并到我的“修复分支”中

3 个答案:

答案 0 :(得分:1)

一种选择是使用git别名:

git config --global alias.co "!f() { git fetch && git checkout $1; }; f"

如果您使用git co <branch>之类的别名,则会在结帐前进行提取。 (感谢Git alias with positional parameters演示如何执行此操作)

答案 1 :(得分:0)

Git没有任何内置的日程安排功能。您必须使用您的操作系统提供的任何内容:cron或Windows任务计划程序或编写批处理文件以进入睡眠,获取,睡眠,获取或其他任何内容。

答案 2 :(得分:0)

一个cron工作在这里有意义,但我打赌你也可以编写自己的客户端git hook来为你做这个。只要执行相应的git命令,它就会触发脚本。例如,考虑一下在每次运行git checkout时调用的post-checkout钩子。

http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks