我想要一些自动的方法从我们的远程源服务器获取。因此,也许每次切换分支时,git都会在切换之前自动从原点对所有分支进行取回……这样,当我从本地"修复分支"移动到master时,它会告诉我,我的master在origin master之后。
这可能吗?如果你想知道我为什么想要这个,下面是我的要求的更详细的原因。
谢谢你们了!
我在一个开发团队工作。当我在我们的源/主分支中添加更改时,我也会将更改上传到我们的FTP服务器(我们还没有在我们的服务器上设置git)
如果我创建一个"修复分支"并对文件进行更改…然后我想把这些文件放到master中。如果我只是将本地文件中的更改合并到本地主文件中,而不进行fetch操作,这可能会导致问题。如果我在上传文件之前忘记引入原始版本的更改,那么我上传的文件可能缺少原始版本的修订。(顽皮的我知道)
我也想知道在主尽快的任何更新,以便我可以合并到我的"修复分支"
一个选择是使用git别名:
git config --global alias.co "!f() { git fetch && git checkout $1; }; f"
如果您使用像git co <branch>
这样的别名,它将在签出之前执行取回操作。(感谢带有位置参数的Git别名来演示如何做到这一点)
Git没有任何内置的调度功能。你必须使用你的操作系统提供的任何东西:cron或Windows任务调度程序或写一个批处理文件来休眠,获取,休眠,获取或其他。
cron作业在这里是有意义的,但我打赌您也可以编写自己的客户端git钩子来为您完成此工作。每当执行相应的git命令时,它就会触发一个脚本。例如,考虑一下在运行git签出时调用的签出后钩子。
http://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks