迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 > Git >

Git 推送到另一个名称不同的分支

作者:迹忆客 最近更新:2023/03/30 浏览次数:

git push 具有丰富的选项,可让你使用 Git 的全部功能。其中之一是它的 source:destination refspecs 参数。

我们使用这些 git push 到具有我们选择的名称的特定分支。最后,我们将看到一些用例,如果我们 git push 一个新分支而不是进入与我们本地名称相同的分支,我们会在工作流程中获得巨大收益。


git push 命令及其丰富的选项集

Git 并不限制我们使用简单的 git push 命令简单地推送到远程。相反,它为我们提供了几个强大的选项来让我们实现我们想要的结果。

其中两个是 [remote_repe][src:dst] refspecs 参数。

让我们看看这些参数如何帮助我们 git push 到另一个分支。

git push [remote_repo] [refspecs]

[remote_repo] 指的是我们本地系统中的远程仓库。大多数时候,这个名字是 origin

[refspecs]git push 到特定分支的有趣参数键。我们将在本文结尾处详细查看 refspecs

它的格式为:src:dst,其中 src 指的是我们要推送的本地分支。dst 是对我们要推入的远程分支的引用(或名称)。

它默认与 src 参数同名,但我们可以通过显式提供 dst 值来选择 git push 到特定分支。

我们首先设置一个本地仓库并将其链接到远程仓库。然后,我们还在本地仓库上创建一个新分支。

带有未推送分支的本地仓库

没有功能分支的远程

我们的远程仓库在本地没有 feature_branch

我们现在将 feature_branch 推送到另一个具有新名称的分支。

git push origin feature_branch:teamX_featureY

git 推送到特定分支

我们现在看到 feature_branch 已被推送到我们遥控器上具有不同名称的新分支中。

git push 新分支到远程

请注意,每次推送时都必须传入这些参数;否则,dst 参数将默认为本地仓库中分支的名称。然而,Git 为我们提供了一个简洁的快捷方式,以节省我们重复输入这些内容的工作量。


git push 中的简洁快捷方式,用于设置 refspecs 参数一次并多次使用

在 Git 中,分支的上游名称是你始终将其推送到的分支。你可以使用以下命令设置此值。

git branch --set-upstream-to <remote_branch>

但是,你也可以通过简单地传递 -u 标志来使用 git push 运行此命令。

git push -u origin local:different_remote

如果你这样做,你的本地分支会在你下次推送时被推送到 different_remote 分支中。所以你不需要每次都明确地命名它。

使用上游标志推送

我们还在远程仓库中看到了这个新的上游分支。

远程与新的上游分支

你必须使用以下命令更改 config 文件中的 push.default 值。

git config push.default upstream

如果你现在推送 second_feature 而不提及 dst 参数,Git 会自动将其推送到 different_remote

git push origin second_feature

git config 编辑远程推送默认


我们何时希望将 Git 推送到另一个分支

我们想要 git push 一个新分支的一些用例是:

  1. 假设你开发了一个很酷的功能或模块,并且你希望将其推送到你从事的多个项目中。你甚至会喜欢一个简单的通用功能,例如你设计的万圣节主题菜单,并且希望在你的许多应用程序中使用它。

    你需要将其推送到具有不同名称的每个项目中。

  2. 有时,中央(远程)仓库中的命名方案与你的本地设置不匹配。当你处理涉及大型团队的多个项目时尤其如此。

    在这种情况下,带有 refspecs 选项的 git push 命令可以为你节省一天的时间。

最后,在我们签字之前,让我们深入研究一下 refspecs


Git Refspecs

Git 在内部存储对仓库中所有对象的引用。这使得快速访问各种 Git 对象变得容易,而无需总是使用神秘的 SHA 哈希。

在 Git 中,我们将(双关语)这些引用称为 refspecs

这些 refspecs 存储在仓库内的特殊目录中。

  1. refs/heads 目录存储对本地仓库中对象的引用。

    本地 refs heads

  2. refs/remotes 引用了你的远程仓库 Git 对象。

    remote refs remotes

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:223 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:102 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:187 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:208 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:93 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:139 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便