跳转到主要内容

一次性轻松更新多个git仓库

项目描述

gitup (the git-repo-updater)

gitup是一个用于一次性更新多个git仓库的工具。它足够智能,可以处理多个远程、脏的作业目录、分叉的本地分支、分离的HEAD以及更多。最初创建它是为了管理大量项目并处理间歇性互联网访问。

gitup应该在macOS、Linux和Windows上运行。您应该安装git的最新版本以及Python 2.7或Python 3。

安装

使用pip

pip install gitup

使用Homebrew

brew install gitup

从源码安装

首先

git clone git://github.com/earwig/git-repo-updater.git
cd git-repo-updater

然后,为所有人安装

sudo python setup.py install

或仅为您自己安装(确保您的PATH中包含~/.local/bin

python setup.py install --user

最后,只需删除git-repo-updater目录,即可完成!

注意:如果您使用Windows,您可能希望添加一个宏,以便在任何目录中调用gitup。请注意,C:\python27\指的是Python安装的目录

DOSKEY gitup=c:\python27\python.exe c:\python27\Scripts\gitup $*

用法

更新仓库有两种方式:您可以将它们作为命令参数传递,或将它们保存为“书签”。

例如

gitup ~/repos/foo ~/repos/bar ~/repos/baz

将自动从 foobarbaz git 仓库中拉取。此外,您还可以直接输入

gitup ~/repos

以自动更新该目录下的所有 git 仓库。

要添加书签,以下任一方式均可

gitup --add ~/repos/foo ~/repos/bar ~/repos/baz
gitup --add ~/repos

然后,要更新所有书签,只需运行 gitup 而不带参数

gitup

删除书签

gitup --delete ~/repos

查看您的当前书签

gitup --list

您可以混合使用书签和命令参数

gitup --add ~/repos/foo ~/repos/bar
gitup ~/repos/baz            # update 'baz' only
gitup                        # update 'foo' and 'bar' only
gitup ~/repos/baz --update   # update all three!

更新您当前目录下的所有 git 仓库

gitup .

您可以使用 --depth(或 -t)选项控制 gitup 在给定目录中查找仓库的深度,如果该目录本身不是 git 仓库,则可以这样做。 --depth 0 将完全禁用递归,这意味着提供的路径必须本身是仓库。 --depth 1 将向下递归一级(这是 0.5 版本之前 gitup 的旧行为)。 --depth -1 将无限递归,这不建议使用。默认值为 --depth 3

默认情况下,gitup 将获取仓库中的所有远程。传递 --current-only(或 -c)以使其仅获取当前分支跟踪的远程。

默认情况下,gitup 将尝试快速前移所有配置了上游的分支。它将始终跳过无法执行此操作的分支(例如,脏工作目录或需要合并/变基)。传递 --fetch-only(或 -f)以跳过此步骤,并仅获取远程。

在获取后,gitup 将 保留 上游不存在的外部跟踪分支。传递 --prune(或 -p)以删除它们,或在您的 git 配置中设置 fetch.pruneremote.<name>.prune 以默认执行此操作。

有关所有命令参数和缩写的完整列表

gitup --help

项目详情


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于 安装软件包 的信息。

源分发

gitup-0.5.1.tar.gz (11.8 kB 查看哈希

上传时间

构建分发

gitup-0.5.1-py3-none-any.whl (14.3 kB 查看哈希

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面