如何创建并列出本地和远程 Git 分支

2023-10-19

分支是软件开发过程的一部分,也是 Git 中最强大的功能之一。分支本质上是指向某个提交的指针。

当修复错误或开发新功能时,开发人员正在创建一个新分支,稍后可以将其合并到主代码库中。

本文介绍如何创建和列出本地和远程 Git 分支。

列出 Git 分支#

要列出所有本地 Git 分支,请使用git branch or git branch --list命令:

git branch
  dev
  feature-a
  feature-b
  hotfix
* master

当前分支用星号突出显示*。在这个例子中,就是master branch.

在 Git 中,本地分支和远程分支是独立的对象。如果您想列出本地和远程分支,请通过-a option:

git branch -a
  dev
  feature-a
  feature-b
  hotfix
* master
  remotes/origin/regression-test-a
  remotes/origin/regression-test-b

The -r选项告诉 Git 仅列出远程分支。

git branch -r

创建 Git 分支#

创建一个新分支只不过是创建一个指向给定提交的指针。

要创建新的本地分支,请使用git branch命令后跟新分支的名称。例如,创建一个名为cool-feature,您可以输入:

git branch cool-feature

该命令不会返回任何输出。如果同名分支已存在,您将看到以下错误消息:

fatal: A branch named 'cool-feature' already exists.

要开始处理分支并向其添加提交,您需要使用以下命令选择分支git checkout:

git checkout cool-feature

该命令将输出一条消息,通知您分支已切换:

Switched to branch 'cool-feature'

您可以使用单个命令来完成此操作,而不是创建分支然后切换到该分支。

当与-b选项,则git checkout命令创建给定分支并切换到其中:

git checkout -b cool-feature
Switched to branch 'cool-feature'

从这里,您可以使用标准git add and git commit将提交添加到新分支的命令。

要将新分支推送到远程存储库,请使用git push命令后跟远程仓库名称及分行名称:

git push remote-repo cool-feature

结论#

我们向您展示了如何列出和创建本地和远程 Git 分支。分支是对更改快照的引用,并且生命周期很短。

随着git branch命令,您还可以Rename and Delete本地和远程 Git 分支。

如果您遇到问题或有反馈,请在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何创建并列出本地和远程 Git 分支 的相关文章

  • 全局 git 配置数据存储在哪里?

    使用时git config global要进行设置 它将写入哪个文件 Example git config global core editor blah 我在这些地方找不到它 C Program Files Git etc gitconf
  • Git 显示更改后的相同文件

    当我似乎无法弄清楚更改时 Git 向我显示整个文件已更改 这是 cygwin git 但它也发生在 msysgit 中 git version git version 2 1 1 diff lt git show HEAD File cs
  • Git ref master 现在为空,如何恢复?

    我不完全确定发生了什么 但由于某种原因 我的 git 存储库的主引用文件现在是空的 我们在 Dropbox 上托管存储库 所以也许与此有关 但现在我无法从中提取 它是这么说的 Your configuration specifies to
  • 由于合并而不允许 git revert 但未给出 -m 选项

    我正在尝试使用 revert 命令恢复到 git 中的某个 哈希 号 我正在使用以下命令 git revert c14609d74eec3ccebafc73fa875ec58445471765 但是 我得到以下返回 错误 提交 c14609
  • 命令来确定当前 HEAD 的上游引用?

    我正在寻找我所希望的简单的一行命令确定当前签出分支的正确上游引用 本质上就像是 git branch remote HEAD 如果有效 会将符号模式 HEAD 转换为当前分支名称 然后选项 remote然后将其更改为远程跟踪分支的引用 但它
  • git-svn --忽略路径

    我现在在 git svn 的 ignore paths 选项上挣扎了几个小时 试图从大型存储库中仅获取某些标签 我想在 dev 处开始获取 看起来像 gt svn ls http 192 168 0 2 svn repo corporati
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • Git:结帐而不运行结帐后挂钩

    我有一个我喜欢的结帐后挂钩 大多数时候 但有时我知道运行它会浪费时间 或者 因为它会删除并重建我的开发数据库 所以我不希望它去做它的事情 有没有跳过钩子的 git 选项 公平地说 我已经开始寻找一个了 我认为没有命令行选项可以完成您想要的操
  • 如何重命名 GitHub 网站上的目录/文件夹?

    我在 GitHub 网站上找到了一种方法rename https github com blog 1436 moving and renaming files on github一个文件并成功完成 我也找到了一种方法rename https
  • 警告:您的 git 版本是 1.9.3。存在严重的安全漏洞

    我在部署到 Heroku 期间收到有关 git 1 9 3 严重安全漏洞的警告 我尝试通过 homebrew 更新 git 但发现 git 最初并不是通过 homebrew 安装的 然后我通过自制程序安装了它 brew update bre
  • 如何查看上次提交和现在之间发生了什么变化(进行一些更改后)

    与此类似question https stackoverflow com questions 1552340 how to list the file names only that changed between two commits但
  • 有没有办法缓存 https 凭据以推送提交?

    我最近转而将我的存储库同步到 GitHub 上的 https 由于防火墙问题 并且每次都要求输入密码 有没有办法缓存凭据 而不是每次都进行身份验证git push 自 Git 1 7 9 2012 年发布 以来 Git 中有一个巧妙的机制可
  • 如何使用 .gitattributes 避免在 git root 中包含文件夹,但在 zip 的 dist 文件夹中包含同名文件夹

    我有一个名为lib在存储库的根目录和另一个名为lib在 dist 文件夹中 我正在尝试使用 gitattributes文件排除除 dist 之外的所有文件夹和文件 以便任何下载为 zip 或 tarball 的人都只会 git 分发文件 我
  • 使用 TFS 个人访问令牌克隆 Git 存储库

    我正在尝试以编程方式克隆 git 存储库 我的 ASP NET MVC 应用程序正在创建并启动一个进程 处理进程的代码工作正常 但是当尝试使用本地 TFS PAT 克隆 git 存储库时 身份验证失败 我无法使用 NTLM 或要求用户输入凭
  • git 预提交钩子格式代码 - Intellij/Android Studio

    本要点展示了如何在预提交时使用 Eclipse 格式化程序自动格式化 Java 代码 Source https gist github com ktoso 708972 https gist github com ktoso 708972
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • Git:如何变基到特定提交?

    我想变基到特定的提交 而不是另一个分支的 HEAD A B C master D topic to A B C master D topic 代替 A B C master D topic 我怎样才能做到这一点 您可以通过在您喜欢的提交上创
  • git - 更新 fork 的 master 并将我的分支重新建立到它之上?

    我分叉了一个 github 项目 然后将其克隆到本地 然后我在新分支中做了一些更改my github the project repo 然后我添加并提交了更改 并推送到我的 github 存储库并提交了拉取请求 所有者已收到我的请求 并希望
  • 代表 Git 存储库的数学结构是什么

    我正在学习 Git 如果我能描述一下代表 Git 存储库的数学结构 那就太好了 例如 它是一个有向无环图 它的节点代表提交 它的节点有代表分支等的标签 每个节点最多一个标签 没有标签使用两次 我知道这个描述不正确 我只是想解释我正在寻找的内
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo

随机推荐

  • 如何在 Ubuntu 20.04 上安装 Dotnet Core

    NET Core 是一个免费的开源软件框架 其设计时考虑了 Linux 和 macOS 它是 NET Framework 的跨平台继承者 适用于 Linux macOS 和 Windows 系统 NET Core 框架已经提供了用于引导项目
  • 每个周日(每周)运行一个 Cron 作业

    许多应用程序需要每周执行 cron 作业来执行一些任务 例如 执行每周维护 清理磁盘空间 清理邮件列表和其他任务 您可以在一周中的任何一天运行每周任务 需要CPU和内存的作业需要消耗CPU和内存 这些工作最好在周末进行 安排周日的 Cron
  • 如何在 CentOS/RHEL 7 上安装 NVM

    NVM代表 Node Version Manager 是一个用于管理 Node 版本的命令行实用程序 有时您需要部署具有不同 2 个版本的多个节点应用程序 管理不同 2 项目的多个 Node js 版本对于开发人员来说是一件痛苦的事情 但
  • 如何在 Fedora 29-25、CentOS 7/6 上安装 VirtualBox 来宾添加

    The 虚拟盒子Guest Additions 提供了一些设备驱动程序和应用程序 用于优化来宾操作系统的性能和可用性 它安装在来宾操作系统内 因此 您需要在系统上运行的每个虚拟机上安装 我建议安装或升级 VirtualBox最新版本优先 本
  • 如何在 Bash 中转义单引号

    Bash 脚本对于开发人员 系统管理员以及任何需要在 Unix 或 Linux 系统上自动执行任务的人来说是一项至关重要的技能 有时 您需要在 bash 脚本的字符串中使用单引号 但是 由于 bash 解释单引号的方式 如果处理不当 可能会
  • 如何在 Ubuntu 18.04 和 16.04 上安装 ownCloud 10

    ownCloud使用 Web 界面提供数据访问 它还提供跨设备同步和共享的选项 一切都在您的控制之下 使用 ownCloud 我们可以轻松地对每个用户的文件 ACL 实施限制 ownCloud 提供桌面客户端 Windows MAC Lin
  • 如何使用预准备语句防止 PHP 中的 SQL 注入

    SQL 注入是一种常见的攻击形式 针对使用 SQL 数据库的 Web 应用程序 在此类攻击中 攻击者利用应用程序代码中的漏洞注入恶意 SQL 语句 这些语句可能会危害数据库并可能泄露敏感信息 PHP 是一种流行的 Web 开发语言 通常与
  • 了解 Python 中的区分大小写

    Python 是使用最广泛的编程语言之一 以其简单性和可读性而闻名 然而 与许多语言一样 它具有新手和经验丰富的程序员都应该理解的独特特征 其中一项特征是区分大小写 在本指南中 我们将深入了解 Python 中的大小写敏感性及其重要性 什么
  • 如何设置 SFTP Chroot Jail

    如果您是管理 Linux 服务器的系统管理员 您可能需要向某些用户授予 SFTP 访问权限 以将文件上传到他们的主目录 默认情况下 可以通过SSH SFTP等方式登录系统的用户SCP可以浏览整个文件系统 包括其他用户的目录 如果这些用户是可
  • 如何在 Linux 中终止进程

    您是否遇到过这样的情况 您启动了一个应用程序 但在使用该应用程序时突然变得无响应并意外崩溃 您尝试再次启动应用程序 但没有任何反应 因为原始应用程序进程从未真正完全关闭 好吧 我们所有人都曾在某个时刻发生过这种事 不是吗 解决方案是终止或终
  • 如何在 CentOS 7 上设置 SSH 密钥

    Secure Shell SSH 是一种加密网络协议 专为客户端和服务器之间的安全连接而设计 两种最流行的 SSH 身份验证机制是基于密码的身份验证和基于公钥的身份验证 使用 SSH 密钥通常比传统的密码身份验证更安全 更方便 本教程介绍如
  • 如何重命名本地和远程 Git 分支

    您正在与一群人合作开发一个项目 并且您已经为 git 分支定义了命名约定 你创建了一个新分支 将更改推送到远程存储库 并意识到您的分支名称不正确 幸运的是 Git 允许您使用以下命令轻松地重命名分支 git branch m命令 本指南介绍
  • 了解 Linux 文件权限

    在 Linux 中 文件权限 属性和所有权控制系统进程和用户对文件的访问级别 这确保只有授权的用户和进程才能访问特定的文件和目录 Linux 文件权限 基本的 Linux 权限模型的工作原理是将每个系统文件与所有者和组相关联 并为三类不同的
  • Python 字符串替换

    在本文中 我们将讨论如何在 Python 中使用replace method replace 方法 在Python中 字符串被表示为不可变的str对象 这str类附带了许多允许您操作字符串的方法 The replace 方法采用以下语法 s
  • 如何在 Ubuntu 18.04 上安装 Sublime Text 3

    崇高的文字是用于 Web 和软件开发的最广泛使用的文本和源代码编辑器之一 它速度非常快 并且具有许多开箱即用的强大功能 您可以通过安装新插件和创建自定义设置来增强其功能 在本教程中 我们将向您展示如何在 Ubuntu 18 04 计算机上安
  • Linux 中的 rmmod 命令

    每个Linux操作系统的核心组件是Linux内核 它管理系统的资源 并充当计算机硬件和软件之间的中介 Linux内核是一个采用模块化设计的软件 内核模块 通常称为驱动程序 是扩展内核功能的一段代码 模块可以编译为可加载模块或内置到内核中 可
  • 如何在 Windows 上创建可启动的 Ubuntu U 盘

    本教程将引导您完成在 Windows 上创建可启动 Ubuntu U 盘的过程 您可以使用此 U 盘来启动并测试或在任何支持从 USB 启动的计算机上安装 Ubuntu 先决条件 4GB 或更大的 USB 记忆棒驱动器 Microsoft
  • 如何在 CentOS 8 上安装 Ruby

    Ruby 是当今最流行的语言之一 它具有优雅的语法 并且是 Ruby on Rails 框架背后的语言 在本文中 我们将探索在 CentOS 8 上安装 Ruby 的不同方法 我们将展示如何从默认的 CentOS 8 存储库并使用 Rben
  • 如何在 Vim / Vi 中复制、剪切和粘贴

    处理文本文件时 复制 剪切和粘贴文本是最常执行的任务之一 Vim 或其前身 Vi 预装在 macOS 和几乎所有 Linux 发行版上 在您最喜欢的编辑器不可用的情况下 了解 Vim 的基础知识会很有帮助 本文介绍如何在 Vim Vi 编辑
  • 如何创建并列出本地和远程 Git 分支

    分支是软件开发过程的一部分 也是 Git 中最强大的功能之一 分支本质上是指向某个提交的指针 当修复错误或开发新功能时 开发人员正在创建一个新分支 稍后可以将其合并到主代码库中 本文介绍如何创建和列出本地和远程 Git 分支 列出 Git