《五》 Git 中的标签和分支

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

标签 tag:

Git 可以给仓库中某一次 commit 的提交打上标签。对于重大的版本经常会打上一个标签来表示它的重要性。

操作标签:

创建标签:

git tag【tag 名称】:创建标签。

查看标签:

git tag:查看标签。

推送标签到远程仓库:

默认情况下,git push 命令并不会将标签推送到远程仓库中去,必须显式地手动推送。这样,当其他人从远程仓库克隆或者拉取时,也能获取到标签。

  1. git push【远程仓库别名】 【tag 名称】:推送指定的标签。
  2. git push【远程仓库别名】 --tags:推送全部标签。
删除标签:
  1. git tag -d【tag 名称】:删除本地仓库中的标签。
  2. git push 【远程仓库别名】-d【tag 名称】:删除远程仓库中的标签。
检出标签(回退到指定标签的版本):

回退到指定标签的版本后,并不会在当前标签的版本上直接修改内容,因为也并不想舍弃当前标签的版本后面提交的内容。一般情况下,会在当前标签的版本基础上另开一个分支出来修改内容,之后再将分支进行合并即可。

git checkout 【tag 名称】:回退到指定标签的版本。

分支 branch:

在版本控制过程中,使用多条线同时推进多个任务,这就是分支。

Git 的分支,其实本质上仅仅是指向提交对象的指针,会在每次提交时自动移动,永远指向最新一次的提交对象。

HEAD 指针总是指向当前所在的分支,以此来告知 Git 当前正在哪个分支上。

Git 的默认分支是 master 分支,会在 git init 时自动创建。master 分支并不是一个特殊的分支,和其他分支没有任何区别。
SVN 中创建分支是将目录和文件全部都复制一套出来。

使用分支的好处:

  1. 可以同时并行推进多个功能的开发,提高开发效率。
  2. 各个分支之间互不影响,即使某个分支开发失败,也不会其他任何分支有影响。

分支的流程图:

  1. 在 master 分支上,commit 提交两次。
    《五》 Git 中的标签和分支
  2. 在第二次 commit 提交后,新建一个 hot_fix 分支。
    《五》 Git 中的标签和分支
  3. 继续在 master 分支上提交两次。
    《五》 Git 中的标签和分支
  4. 切换到 hot_fix 分支。

《五》 Git 中的标签和分支

  1. hot_fix 分支上提交一次。
    《五》 Git 中的标签和分支
  2. 切换到 master 分支,并且将 hot_fix 分支合并进去后,进行一次提交。《五》 Git 中的标签和分支

操作本地分支:

查看分支:

git branch:查看所有的分支。

  hot_fix
* master // 前面的 * 号表示当前正在这个分支上
创建分支:

git branch 【分支名称】:创建分支。

切换分支:

git checkout 【分支名称】:切换分支。

git checkout 【分支名称】 命令会进行以下操作:

  1. 如果本地仓库中已有这个分支,会切换到指定的分支上。
  2. 如果本地仓库中没有这个分支,会检查远程仓库中是否有同名分支:
    • 如果没有的话,报错。
    • 如果有的话,Git 会自动新建一个本地分支,并为本地分支与远程分支建立跟踪关系。

修改的内容在哪个分支上提交,将会归属于哪个分支,另一个分支就不会再显示这部分内容了。

  1. 如果在 master 分支上修改了 index.txt 文件的内容,但是只在工作区做了修改,并没有添加到暂存区和提交到本地仓库中,那么如果切换到 hot_fix 分支,index.txt 修改的内容也将被带过去。
  2. 如果在 master 分支上修改了 index.txt 文件的内容,但是只在工作区做了修改和添加到了暂存区,并没有提交到本地仓库,那么如果想要切换到 hot_fix 分支将会被 Git 阻止。
创建并同时切换分支:

git checkout -b 【分支名称】: 创建并同时切换分支。

删除分支:

git branch -d 【分支名称】 :删除分支,前提是当前所在的分支不能是要删除的分支。

合并分支:

git merge 【分支名称】 :将 【分支名称】的内容合并进当前所在的分支里。

Updating 373446c..b4f6025
Fast-forward  // 如果顺着一个分支走下去能够到达另一个分支,那么 Git 在合并两者的时候,只会简单地将指针向前推进,这就叫做快进 fast-forward
index.txt | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
解决合并分支导致的冲突:

如果在两个不同的分支中,对同一个文件的同一个地方进行了不同的修改,那么对这两个分支进行合并时就会产生冲突。

Auto-merging index.txt
CONFLICT (content): Merge conflict in index.txt
Automatic merge failed; fix conflicts and then commit the result.

《五》 Git 中的标签和分支

删除特殊符号、留下需要的内容后,重新 git addgit commit 提交一次即可解决冲突。

操作远程分支:

推送本地分支到远程:

git push 【自定义的远程仓库别名】【分支名】 :将本地仓库的分支及其内容推送到远程仓库。

如果此时远程仓库还没有这个分支,git push 【自定义的远程仓库别名】【分支名】 会直接在远程仓库中新建分支。

fetch、pull、push 也可以不带后面的自定义的仓库别名和分支名称来明确指定远程分支,此时就会使用上游分支。
可以使用 git branch -vv 来查看已设置的上游分支。
可以使用 git branch --set-upstream-to 【自定义的远程仓库别名】/【分支名】 来设置上游分支。设置上游分支后,就意味着本地分支和远程分支之间建立了跟踪关系。

直接从远程仓库克隆到本地的项目,本地分支的上游分支默认就是远程仓库拉取到本次仓库的远程分支的映射,会自动为本地分支和远程分支建立跟踪关系。

从远程仓库拉取到本地仓库的的远程分支的映射是以 <remote>/<branch> 的形式命名的,用来引用对应的远程分支。
《五》 Git 中的标签和分支

  1. 在本地仓库所在目录的终端,执行 git push origin master
    Enumerating objects: 31, done.
    Counting objects: 100% (31/31), done.
    Delta compression using up to 8 threads
    Compressing objects: 100% (18/18), done.
    Writing objects: 100% (31/31), 2.38 KiB | 610.00 KiB/s, done.
    Total 31 (delta 0), reused 0 (delta 0), pack-reused 0
    To https://github.com/huadangmao/test.git
     * [new branch]      master -> master // 将本地的 master 分支推送到远程的 master 分支
    
拉取远程分支到本地:

git pull 【自定义的仓库别名】【分支名称】 :将远程仓库的分支及其内容拉取到本地仓库并进行合并。

如果本次仓库此时还没有这个分支,git pull 【自定义的仓库别名】【分支名称】 不会直接新建分支,它需要在一个已存在的本地分支上执行。
此时,可以使用 git checkout 【分支名称】

git fetch:从远程仓库拉取代码到本地仓库,不会直接和本地的文件进行合并,也就是说并不会修改工作区的代码。
git pull; 从远程仓库拉取代码到本地仓库,并直接和本地的文件进行合并。所以 git fetch + git merge = git pull

  1. git pull origin master:拉取远程仓库 master 分支的代码到本地仓库并合并。
删除远程分支:

git push origin -d 【分支名称】:删除远程分支。文章来源地址https://www.toymoban.com/news/detail-485263.html

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

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

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

相关文章

  • 【Git】Git分支与应用分支&Git标签与应用标签

    在 Git 中,分支是指一个独立的代码线,并且可以在这个分支上添加、修改和删除文件,同时作为另一个独立的代码线存在。一个仓库可以有多个分支,不同的分支可以独立开发不同的功能,从而可以方便地进行并行开发和测试 Git 的分支可以帮助团队进行并行开发,例如在主

    2024年02月05日
    浏览(34)
  • Gitlab 实现仓库完全迁移,包括所有提交记录、分支、标签

    如果你和我一样,不喜欢命令行,就看其他方案。 选中要导出的项目,选择设置-expand-export project 刷新一下,直接下载 新建项目并导入 如果你是打杂的,没管理员权限,这步也不行。 在 gitlab 仓库页面,点击下载,注意使用 gz 格式!!! 去往你的新主体的 gitlab页面开始仓

    2024年03月28日
    浏览(47)
  • Git分支与Git标签详解

    目录 前言 一、Git分支(Branch) 1.分支的概念 2.分支的常用操作 3.Git 分支管理 二、Git标签(Tag) 1.标签的概念 2.标签的类型 3.标签的常用操作 4.Git标签管理         在软件开发过程中,版本管理是非常重要的一环。Git作为目前最流行的分布式版本控制系统之一,提供了丰

    2024年02月05日
    浏览(36)
  • Git基础命令,分支,标签的使用【快速入门Git】

    创建仓库 命令 说明 git init 初始化仓库 git clone 克隆远程仓库 提交与修改 命令 说明 git add 添加文件到暂存区 git status 查看仓库当前的状态,显示有变更的文件 git diff 比较文件的不同,即暂存区和工作区的差异 git commit 提交暂存区到本地仓库 git reset 回退版本 git rm 将文件从暂

    2024年02月20日
    浏览(37)
  • git 创建标签 推送到远程分支上

    要在Git中创建标签并将其推送到远程dev分支,可以按照以下步骤操作: 1、首先,确保你已经在本地的Git仓库中,并且切换到dev分支。 2、创建标签并给予其一个有描述性的名称。你可以使用以下命令创建一个轻量级标签: 例如: 或者,你可以创建一个带有附注的标签,其中

    2024年02月15日
    浏览(86)
  • git下载指定标签分支命令(挺好用的)

    使用 --single-branch 开关 (从Git 1.7.10开始) 。 语法是: git clone -b tag_name --single-branch repo_url [dest_dir] 例如: git clone -b ‘2.1.1’ --single-branch https://gitee.com/xuxueli0323/xxl-job.git 好处: Git将只接收对象并(需要)只为指定的分支/标签parsing变化量 – 同时检出相同数量的文件! 根据

    2024年02月12日
    浏览(47)
  • git 给仓库添加新分支并上传代码,git 克隆指定分支

    git clone -b 分支名 仓库地址 例如: 1、初始化仓库 2、创建分支并命名 例如: 3、 将文件提交至暂存区 ①  提交文件 提交文件夹下的所有文件 提交文件夹下的指定文件 ② 填写备注信息 4、与远程仓库建立连接 5、将文件提交至分支仓库 6、提交成功 提交成功后,在你的

    2024年02月13日
    浏览(71)
  • Git仓库、分支的区别

    https://blog.csdn.net/weixin_30315905/article/details/94954617 git 仓库、分支的区别 首先,要明白仓库的概念 仓库可以理解为repository, 就是存放代码的地方,—— 其实是一个比较笼统的概念,不管里面的内容,总之存放各种资源(代码、图片等等) 对于git应用开发者而已,本地一般需要

    2024年02月13日
    浏览(43)
  • GIT操作:把当前仓库的一个分支push到另一个仓库的指定分支

            有时候我们想把当前仓库A的一个指定分支1 推给 另一个仓库B的另一个指定分支2, 可以通过2个主要命令git remote xxx 和 git push newOrigin 当前分支:目标分支 完成。 示例 假设有2个仓库rep1和rep2 rep1:当前仓库  rep2:目标仓库 我们想把当前仓库[rep1]的指定分支[bran

    2024年02月03日
    浏览(56)
  • 如何把一个 Git 仓库的分支加入另一个无关的 Git 仓库

      笔者需要将两个无关的 Git 仓库合并,也就是把一个 Git 仓库的分支加入另一个无关的 Git 仓库。笔者琢磨了一下之后就实现了。方法如下。 笔者的运行环境: git version 2.37.0.windows.1 TortoiseGit 2.11.0.0 IntelliJ IDEA 2023.1.1 (Ultimate Edition) Windows 10 教育版 为了便于说明,作如下约定

    2024年02月12日
    浏览(57)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包