git分支-分支管理

这篇具有很好参考价值的文章主要介绍了git分支-分支管理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分支管理

现在已经创建、合并和删除了一些分支,让我们来看看一些分支管理工具,在开始经常使用分支时会很有用。

git branch命令不仅仅用于创建和删除分支。如果不带参数运行它,会得到当前分支的简单列表。

$ git branch

  iss53

* master

  Testing

这个*字符是前缀,表示当前检出的分支(即HEAD指向的分支)。这意味着如果在这个点提交,master分支将会随着新工作向前移动。要查看每个分支上的最后一次提交,可以运行git branch -v。

$ git branch -v

  iss53   93b412c Fix javascript issue

* master  7a98805 Merge branch 'iss53'

  testing 782fd34 Add scott to the author list in the readme

要查看已经合并到当前分支的分支,可以运行git branch --merged。

$ git branch --merged

  iss53

* master

因为之前已经合并了iss53分支,所以在列表中看到了它。列表中没有*号前缀的分支通常可以使用git branch -d进行删除;因为已经将它们的工作合并到另一个分支中,所以不会丢失任何内容。

要查看所有包含尚未合并工作的分支,可以运行git branch --no-merged。

$ git branch --no-merged

  Testing

这显示了另一个分支。因为它包含尚未合并的工作,尝试使用git branch -d删除它将会失败。

$ git branch -d testing

error: The branch 'testing' is not fully merged.

If you are sure you want to delete it, run 'git branch -D testing'.

如果真的想删除该分支并且丢失那些工作,你可以使用-D参数来强制删除,就像提示信息中指出的那样。

Tip:

上述描述的选项--merged和--no-merged,如果没有给定提交或分支名称作为参数,将分别显示已合并或未合并到当前分支的内容。

可以始终提供额外的参数来询问与其他分支的合并状态,而无需首先检出该其他分支,就像是,未合并到主分支的内容是什么。

$ git checkout testing

$ git branch --no-merged master

  topicA

  featureB

Caution

不要重命名仍然被其他合作者使用的分支。不要在没有阅读更改主分支名称部分的情况下重命名主分支(如master/main/mainline)。

要将分支从bad-branch-name更改为corrected-branch-name,并保留所有历史记录,以及在远程(GitHub、GitLab或其他服务器)更改分支名称,可以按照以下步骤操作:

在本地更改分支名称:

$ git branch -m bad-branch-name corrected-branch-name

这会将bad-branch-name更改为corrected-branch-name,但此更改目前只是本地的。为了让其他人在远程看到更正后的分支,需要将其推送。

$ git push --set-upstream origin corrected-branch-name

现在我们将简要查看一下我们目前所处的位置。

$ git branch --all

* corrected-branch-name

  main

  remotes/origin/bad-branch-name

  remotes/origin/corrected-branch-name

  remotes/origin/main

请注意,目前位于分支corrected-branch-name,并且该分支已在远程上可用。然而,具有错误名称的分支仍然存在,可以通过执行以下命令将其删除。

$ git push origin --delete bad-branch-name

Warning:

将分支名称更改为像master/main/mainline/default这样的名称会中断仓库使用的集成、服务、辅助工具和构建/发布脚本。在执行此操作之前,请确保与协作者进行咨询。另外,请确保彻底搜索存储库,并更新代码和脚本中对旧分支名称的任何引用。

使用以下命令将本地master分支重命名为main。

$ git branch --move master main

现在已经没有本地的master分支了,因为它已经被重命名为main分支。

要让其他人看到新的main分支,需要将其推送到远程。这将使重命名的分支在远程上可用。

$ git push --set-upstream origin main

现在查看下分支状态如下:

$ git branch --all

* main

  remotes/origin/HEAD -> origin/master

  remotes/origin/main

  remotes/origin/master

本地master分支已经消失,因为它已被替换为main分支。main分支已经存在于远程。然而,旧的master分支仍然存在于远程。其他合作者将继续将master分支作为其工作的基础,直到我们进行进一步的更改。

现在,需要完成一些任务来完成过渡:

依赖于该项目的任何项目都需要更新其代码或配置

更新任何测试运行配置文件

调整构建和发布脚本

在仓库主机上重定向设置,例如仓库的默认分支、合并规则以及与分支名称匹配的其他设置。

更新文档中对旧分支的引用。

关闭或合并任何针对旧分支的拉取请求。

在完成所有这些任务并确信main分支与master分支的表现相同后,可以删除master分支:

$ git push origin --delete master文章来源地址https://www.toymoban.com/news/detail-847022.html

到了这里,关于git分支-分支管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • git~分支管理规范

    避免新开发的代码影响提测的代码 避免生产环境出现问题后,修复后,由于代码混乱,无法合并到生产环境 解决多个需求并行开发,并行测试,合并上线的问题 流程图工具我使用的是:diagrams.net 具体执行步骤 开发人员按需求粒度从dev建立分支 哪个需求或者哪些需求提测,

    2024年02月02日
    浏览(31)
  • Git 分支管理及规范

    1. 分支管理 代码提交在应该提交的分支 随时可以切换到线上稳定版本代码 多个版本的开发工作同时进行 2. 提交记录的可读性 准确的提交描述,具备可检索性 合理的提交范围,避免一个功能就一笔提交 分支间的合并保有提交历史,且合并后结果清晰明了 避免出现过多的分

    2024年02月15日
    浏览(30)
  • Git-分支管理

    Git分支管理是指在Git版本控制系统中,使用分支来管理项目的不同开发线路和并行开发的能力。通过分支,开发者可以在独立的环境中进行功能开发、bug修复等工作,而不会影响到主分支上的代码。 查看分支: 在Git中有一个HEAD指针,默认情况下指向master,而master指向的是最新的

    2024年02月15日
    浏览(39)
  • Git分支管理笔记(下)

    四.分支管理策略 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息 实战--no-ff方式的git merge禁用fast forward 模式 首

    2024年02月03日
    浏览(28)
  • 【Git】分支管理

    两个开发端,一个在 Ubuntu 中,一个在 Windows 中。未来还有可能在 MacOS 中增加一个开发端。为使得不同开发环境中的代码保持同步,且相互不产生干扰。需要创建2个开发分支(Development Branch)( ubuntu 和 Windows ),独立进行开发工作,并将最新的更改更新到主分支( main )。 一些

    2024年04月17日
    浏览(22)
  • Git图解:分支管理(二)

    这是继Git图解:安装与基本操作(一)的第二篇分享,分支管理。 1.分支管理 1.1.基本介绍 Git为我们提供了杀手级的武器之一,分支。通过上一次的博客分享可以知道,我们都是在主分支上操作的,所以说我们操作的都是在一条分支上操作,对应着只有⼀条时间线。 我们可以

    2024年02月03日
    浏览(19)
  • 管理Git的分支

    目录 一、本地分支(local branches)管理 1.1  查看和建立分支( git branch) 1.2  分支中提交的浏览与比较(git log) 1.3 切换当前分支(git switch)与合并分支(git merge) 1.4 签出分支(git checkout) 二、远程分支及其管理 2.1 远程仓库与远程分支 2.2远程仓库的复刻(fork)与克隆

    2024年02月04日
    浏览(28)
  • 【Git】:分支管理

    在版本回退⾥,你已经知道,每次提交,Git都把它们串成⼀条时间线,这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前,只有⼀条时间线,在Git⾥,这个分⽀叫主分⽀,即master分⽀。 每次提交,master分⽀都会向前移动⼀步,这样,随着你不断提交,master分⽀的线也越来越⻓

    2024年02月21日
    浏览(23)
  • git 分支管理

    一. 理解分支 1. master分支  二. 分支的(创建,切换、合并、删除) 1.查看分支  2.创建分支 3. 切换分支  4. 合并分支 5. 删除分支 三. 合并冲突 四. 合并模式 五. bug 分支 六. 强制删除分支 在我们的版本库中式有一个master分支的,但是我们不知道我们的master分支是什么  我们

    2024年02月12日
    浏览(40)
  • git:多分支管理

    指令: git branch 需要注意的是,git branch只是代表操作本地的分支,但是我们在仓库初始化git push -u origin 分支或者git pull origin 分支的时候就会有远程的分支连接好了,所以, git branch -a 是显示所以分支的指令(本地和远程) 指令: git branch (branchname) 删除本地分支 git branch -

    2024年02月09日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包