什么是Git上游以及如何设置上游分支?详细解析

2021年11月20日17:10:13 发表评论 4,317 次浏览

介绍

当你克隆Git 存储库或通过分支创建新功能时,你需要了解上游分支的工作方式以及如何设置它们。

如何设置Git上游分支本文概述了如何设置 Git 上游分支、如何更改它以及如何概览哪个 Git 分支正在跟踪哪个上游分支,包括相关的Git上游分支设置示例

先决条件

  • 安装和配置 Git
  • 在本地设置的克隆 Git 存储库或你自己的 Git 项目

注意:要安装 Git,请查看我们的教程:

  • 如何使用 Yum 或最新存储库在 CentOS 7 上安装 Git
  • 如何在 CentOS 8 上安装 Git
  • 如何在 Ubuntu 18.04 / 20.04 上安装 Git
  • 如何在 Windows 上安装和使用 Git
  • 如何在 Mac 上安装和开始使用 Git

什么是 Git 上游分支? 

使用河流类比来说明数据流,上游将你的数据发送回河流的来源。当你向上游发送内容时,你将其发送回存储库的原始作者。

使用git set upstream,你可以选择当前本地分支的流向。它允许你更改默认的远程分支。

如何在 Git 中设置上游分支

在 Git 中设置上游分支有两种方法:

  • 使用git push,如果你需要设置单个上游分支,这是最快的方法。
  • 使用短别名命令。如果你经常更改当前分支的流程,则此方法很有意义。

方法一:使用 Git Push 设置上游分支

如何设置Git上游分支?使用git push设置上游分支是在 Git 中设置上游分支的最直接方式。

注意:忘记了如何克隆存储库?使用我们的Git 命令备忘单刷新你的记忆。

1.创建一个新分支并为其命名。我们将我们的命名为test。使用checkout带有-b选项的命令切换到它:

git checkout -b <branch name>

出现 switch 分支 确认:

什么是Git上游以及如何设置上游分支?详细解析

注意:从现在开始,活动分支被列为(<branch name>)而不是(main)。在我们的例子中,它是(test)

2. Git上游分支设置示例:使用git push带有-u扩展名的命令设置上游分支或使用更长的版本--set-upstream。替换<branch name>为你的分支名称。

git push -u origin <branch name>

或者:

git push --set-upstream origin <branch name>

你会确认你的分支已设置为跟踪远程分支:

什么是Git上游以及如何设置上游分支?详细解析

测试分支现在有一个设置的上游分支。

方法二:使用别名设置上游分支

Git如何设置上游分支?不要在每次创建新分支时都执行这些命令,而是设置一个简短的别名命令。你可以修改现有的 Git 命令或创建 bash 命令。

1.通过git config以下--global命令配置全局别名命令:

git config --global alias.<alias name> "push -u origin HEAD"

或者使用alias以下命令创建 bash 别名命令:

alias <alias name> ='git push -u origin HEAD'

注意:推送到HEAD将推送到与当前分支同名的远程分支。

2. 键入以下命令运行你的全局别名:

git <alias name>

或者输入你的 bash 别名:

<alias name>

如何在 Git 中更改上游分支

如何设置Git上游分支?通过运行以下命令跟踪与你刚刚设置的分支不同的上游分支:

git branch  -u <remote/branch name>

Git上游分支设置示例,例子:

git branch  -u <origin/global>

终端打印出一条确认信息:

什么是Git上游以及如何设置上游分支?详细解析

如何检查哪个 Git 分支正在跟踪哪个上游分支

Git如何设置上游分支?通过运行git branch以下-vv选项列出你的所有分支和分支跟踪:

git branch -vv
什么是Git上游以及如何设置上游分支?详细解析

支路具有的跟踪分支[原点/主]。该测试分公司拥有的跟踪分支[原产/全球]。在全球的分公司已没有跟踪的分支,因此没有上游分支。

注意:当前活动分支用星号 (*) 表示。

结论

如何设置Git上游分支?你现在应该知道上游分支是什么,它们是如何工作的,最重要的是,如何在 Git 中设置上游分支。

随意尝试并适应上游。你可以轻松地远程和本地删除的Git分支,并从仓库远程删除一个git。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: