Git开源工具gh、git-hg、Gitalist、hg-git介绍

以下为你介绍的Git开源工具都可用在Linux系统上:gh(Github 命令行客户端)、git-hg(在 Git 中检查和跟踪 Mercurial 的项目)、Gitalist(Web 的 Git 浏览器)、hg-git(Mercurial 的 Git 插件)。

1、gh(Github 命令行客户端)

Git开源工具gh、git-hg、Gitalist、hg-git介绍

gh 是一个用 Go 语言开发的 Github 命令行客户端。

注:Go中实现的快速GitHub命令行客户端从v2.2.0开始,gh已合并到hub中,未来的发展将在github / hub中进行。

下载地址:https://github.com/jingweno/gh

2、git-hg(在 Git 中检查和跟踪 Mercurial 的项目)

git-hg 包含一组脚本用来在 Git 中检查和跟踪 Mercurial 的项目,支持 Push 操作。

依存关系:

必须在$PATH中安装Mercurial(hg)和python。

安装:

将/path/to/this/checkout/bin添加到$PATH,或将符号路径/path/to/this/checkout/bin/git-hg添加到$PATH的目录中。

或者,您可以执行:

$ make

$ sudo make install

在/usr/local中安装脚本和所有必需的快速导出文件(您可以通过传递PREFIX=/usr来进行两次调用来更改目标)

用法:

克隆一个hg repo,包括通过HTTP的仓库:

$ git-hg clone http://some/random/hg/repo [local-git-repo-name]

从hg仓库获取更新:

$ git-hg fetch

或可选:

$ git-hg pull # same as git-hg-fetch && git merge hg/branch_name

从hg检出新分支:

$ git-hg checkout branch_name

将更改推回hg,也可以推回特定的目的地:

$ git-hg push [destination]

结构体:

.git/hgcheckout-包含指定回购协议的未经授权的签出。

.git/hgremote-包含来自Mercurial的裸git repo克隆,将其作为远程“hg”添加到基本repo中。

下载地址:https://github.com/cosmin/git-hg

3、Gitalist(Web 的 Git 浏览器)

Git开源工具gh、git-hg、Gitalist、hg-git介绍

Gitalist 是一个基于浏览器的 Git 资料库浏览器。

主要特点:

支持多库。

支持多分支。

提交的比较。

Atom feeds。

Color coded commit history。

Gitweb.cgi URL compatibility。

下载地址:https://github.com/broquaint/Gitalist

4、hg-git(Mercurial 的 Git 插件)

Git开源工具gh、git-hg、Gitalist、hg-git介绍

hg-git 是一个 mercurial 的插件,用于实现将 mercurial 中的提交直接转到 git 上。

用法:

您可以通过运行hg clone <url> [dest]从Hg克隆Git存储库。例如:

$ hg clone git://github.com/schacon/hg-git.git

Hg-Git会克隆存储库并将其转换为Hg存储库。

如果要克隆github存储库以供以后推送(或通过ssh访问的任何其他存储库),则需要将ssh url转换为具有显式协议前缀的格式。例如,具有推入权限的git url:

git@github.com:schacon/hg-git.git

会读:

git+ssh://git@github.com/schacon/hg-git.git

(请注意主机后从冒号切换到斜线!)

您的克隆命令将如下所示:

$ hg clone git+ssh://git@github.com/schacon/hg-git.git

如果从现有的Hg存储库开始,则必须在您具有push访问权限的地方建立一个Git存储库,在.hg/hgrc文件中为其添加路径条目,然后从内部运行hg push [name]您的存储库。例如:

$ cd hg-git # (an Hg repository)

$ # edit .hg/hgrc and add the target git url in the paths section

$ hg push

这会将您的所有汞数据转换为Git对象,并将其推送到Git服务器。

现在,您已经有了一个可以从Git存储库中推入/拉出的Hg存储库,您可以使用hg pull来获取更新:

$ hg pull

这将拉下与此同时已推送到服务器的所有提交,并为您提供可以合并的新头。

Hg-Git也可以用于将Mercurial存储库转换为Git。您可以使用通过SSH、HTTP或HTTPS访问的本地存储库或远程存储库。使用以下命令转换存储库(假定您正在$HOME中运行它):

$ mkdir git-repo; cd git-repo; git init; cd ..

$ cd hg-repo

$ hg bookmarks hg

$ hg push ../git-repo

必须使用hg书签来防止出现问题,否则hg-git会将其推送到当前已签出的分支,这会使Git感到困惑。这将在Git存储库中创建一个名为hg的分支。要获得master的更改,请使用以下命令(仅在第一次运行时才需要,以后只需使用git merge或rebase即可):

$ cd git-repo

$ git checkout -b master hg

要将新的变更集导入到Git存储库中,只需重新运行hg push命令,然后在Git存储库中使用git merge或git rebase即可。

下载地址:https://github.com/schacon/hg-git

注明

以上就是Git开源工具gh、git-hg、Gitalist、hg-git的介绍内容,这些Git开源工具都能使用在Linux操作系统中。

栏目相关文章