介绍
当你克隆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上游以及如何设置上游分支?详细解析](https://www.lsbin.com/wp-content/uploads/2021/11/Creating-a-new-branch-using-git-checkout.png)
注意:从现在开始,活动分支被列为(<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上游以及如何设置上游分支?详细解析](https://www.lsbin.com/wp-content/uploads/2021/11/Set-upstream-branch-using-git-push-u.png)
测试分支现在有一个设置的上游分支。
方法二:使用别名设置上游分支
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上游以及如何设置上游分支?详细解析](https://www.lsbin.com/wp-content/uploads/2021/11/Change-upstream-branch-using-git-branch-u.png)
如何检查哪个 Git 分支正在跟踪哪个上游分支
Git如何设置上游分支?通过运行git branch
以下-vv
选项列出你的所有分支和分支跟踪:
git branch -vv
![什么是Git上游以及如何设置上游分支?详细解析](https://www.lsbin.com/wp-content/uploads/2021/11/List-all-branches-using-git-branch-vv.png)
的主支路具有的跟踪分支[原点/主]。该测试分公司拥有的跟踪分支[原产/全球]。在全球的分公司已没有跟踪的分支,因此没有上游分支。
注意:当前活动分支用星号 (*) 表示。
结论
如何设置Git上游分支?你现在应该知道上游分支是什么,它们是如何工作的,最重要的是,如何在 Git 中设置上游分支。
随意尝试并适应上游。你可以轻松地远程和本地删除的Git分支,并从仓库远程删除一个git。