Git:自动从远程仓库获取代码?

21

我发现使用命令行Git的一个让人烦恼的事情是必须手动将我的代码库与远程代码库同步。我经常被像"git status"这样的命令绊倒,(错误地)期望它报告我当前工作目录和GitHub上代码库之间的差异。(当然它实际上是报告当前工作目录和本地代码库之间的差异...)

有没有办法实现自动/隐式获取,以使远程代码库始终保持最新?我愿意为像git status、git merge等命令付出几秒钟的时间代价。

3个回答

10
zsh 中,有一个名为 git-auto-fetch 插件的GitHub链接。

当您在一个使用 git 初始化的目录中工作时,该插件会自动从所有远程库中获取所有更改。

只需将它加入到您的 .zshrcplugins 中即可。

10

其中之一命令已经内置。

git pull

进行获取和合并操作。

至于另一个问题,你需要定义自己的命令,比如

alias gitfu='git fetch; git status'

您可以掌控Shell。

根据您的配置,您可能需要为每个配置项提供密码或凭据。


3
嗯,那个确实还不错。在~/.gitconfig中使用别名 'stat = "!git fetch && git status"'。我想其他常用命令也可以这样重复。 - Steve Bennett
但是如果您的存储库有密码呢? - Muneeb Ahmad Khurram
2
然后您必须提供该密码。如果您使用的是ssh密钥,则无需为此和其他Git命令重复提供密码。 - joshp

6
如果你更喜欢使用像SourceTree这样的图形用户界面(GUI),那么有一个首选项选项可以每隔X分钟检查默认远程。你还可以在全局.gitconfig文件中的[alias]下设置全局别名,例如git fetch --all && git status(添加-s以获取简短状态)。或者可能是git stash && git pull && git stash apply && git status等,如果你当前有更改,请注意合并冲突。

是的,实际上我不是在寻找 GUI 解决方案。但我确实希望能够简化 Git 命令行体验。 - Steve Bennett
我认为这个Peepcode关于高级Git的视频非常不错。虽然不仅限于git命令,但这个dotfiles指南也可能激发一些想法。 - Winter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接