#git-repository #github #git #git-remote #local-git #gitlab #fork

app add-remote

一个交互式 CLI 工具,用于将远程分支添加到本地 Git 仓库

10 个稳定版本

3.0.3 2024年6月9日
3.0.1 2020年11月27日
2.2.2 2019年4月13日
2.0.1 2018年6月24日
0.9.0 2017年8月20日

#54开发工具

50 每月下载量

Apache-2.0 OR MIT

43KB
827

add-remote

一个交互式 CLI 工具,用于将远程分支添加到本地 Git 仓库。当在 Git 仓库中运行时,它会查询 GitLab 或 GitHub 以获取所有分支的完整列表,并为您提供添加一个本地别名的简单选项。添加的分支将只配置 pull-url;push-url 将被禁用。

Demonstration of add-remote

安装

cargo install add-remote

运行

只需将 cd 命令切换到 Git 仓库,然后运行 add-remote

配置

add-remote 将显示所有尚未本地复制的分支,然后询问您选择一个并提供一个别名。

首选分支

如果可能,它将提供默认选择(即按 回车 键选择),默认选择如下

  • 如果只有一个分支可用,则将其选中,否则
  • 如果主分支/源所有者尚未本地添加,则为主分支/源所有者,或者
  • 如果设置了 add-remote.preferredFork,则选择由 Git 配置值指示的分支,如果该分支尚未本地添加

您可以通过运行以下命令来设置 add-remote.preferredFork(例如,设置为 CasperLabs

git config --global --add add-remote.preferredFork CasperLabs

分支别名

选择要添加的分支后,您将被要求提供该分支的别名。同样,将提供一个默认值,选择如下

  • 如果这是主分支/源所有者,则使用已设置的 add-remote.mainForkOwnerAlias 的 Git 配置值,或者使用 "upstream"
  • 使用已设置的 add-remote.forkAlias 下面的别名映射中的 Git 配置值
  • 使用分支所有者的名称

您可以通过运行以下命令设置 add-remote.mainForkOwnerAlias(例如设置为 owner):

git config --global --add add-remote.mainForkOwnerAlias owner

默认别名可以通过运行以下命令添加到您的 .gitconfig 文件中的子键 add-remote.forkAlias.<owner's name>

git config --global --add add-remote.forkAlias.anthonywilliams Anthony
git config --global --add add-remote.forkAlias.hsutter Herb

个人访问令牌

要使用 add-remote 与任何 GitLab 仓库或私有 GitHub 仓库,您需要通过 git config 提供个人访问令牌。

对于 GitLab,请确保令牌有 "read_api" 范围,然后在您的 .gitconfig 中添加它:创建令牌

git config --global --add add-remote.gitLabToken <GitLab Token's Value>

对于 GitHub,请确保令牌有完整的 "repo" 范围,然后将它 与您的 GitHub 用户名一起 添加到您的 .gitconfig 中,用冒号 : 分隔:创建令牌

git config --global --add add-remote.gitHubToken <GitHub Username:GitHub Token's Value>

运行了这些 Git 配置命令后,您的 .gitconfig 应该包含以下内容

[add-remote]
    preferredFork = CasperLabs
    mainForkOwnerAlias = owner
    gitLabToken = <GitLab Token's Value>
    gitHubToken = <GitHub Username:GitHub Token's Value>
[add-remote "forkAlias"]
    anthonywilliams = Anthony
    hsutter = Herb

注意

add-remote 只能与托管在 GitLab 或 GitHub 上的项目一起使用。

许可证

许可方式如下之一

任选其一。

贡献

除非您明确表示,否则任何有意提交以包含在作品中的贡献,根据 Apache-2.0 许可证定义,应如上双许可,不附加任何额外条款或条件。

依赖项

~5–16MB
~227K SLoC