远程分支和标签

本文详细介绍了如何在Git中创建、推送远程分支,拉取和合并更新,以及轻标签和注解标签的使用。包括git checkout、git push、git fetch、git merge等命令及其在lmonkey和lmonkey2环境中的实践。同时涵盖了如何添加、查看和删除标签,以及基于标签创建新分支的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

远程分支

默认的,远程数据库只有一个master分支,可以在远程数据库创建其他的分支,也可以在本地数据库使用命令,将本地的分支推送到远程分支

如果push的时候,没有指定远程的地址,默认会使用名称为 origin的地址

如果push的时候,没有指定远程的分支,默认会使用master分支

推送本地分支到远程

命令push可以将本地所在的分支推送到指定的远程分支

在lmonkey中操作

$ git checkout develop

$ git push origin develop

如果远程没有这个分支,会自动创建这个分支

拉取远程分支到本地

在lmonkey2中操作

由于lmonkey把自己的develop分支推送到了远程数据库,而lmonkey2的本地数据库并没有这个develop分支,可以基于原始数据库中的develop分支来创建develop分支:

$ git checkout -b develop origin/develop

git checkout -b <new branch> <from branch> 可以创建并切换分支,如果不写最后一个参数,默认以当前所在分支为基础创建新的分支

在lmonkey中操作

新建文件 新功能.txt,并提交到数据库:

$ cd ../lmonkey

$ echo '新功能' >> 新功能.txt

$ git status

在使用git status 的时候,中文文件名可能会出现如\231\121\121的样子,对Git重新设置一下即可:

$ git config --global core.quotepath off

最后提交到本地数据库,并推送到远程的develop分支:

$ git add.

$ git commit -m "新功能"

$ git push origin develop

在lmonkey2中操作

使用pull可以拉取远程分支到本地

$ git pull origin develop

注意

这个拉取操作,会把远程develop分支合并到当前所在的分支,因为pull = fetch + merge

拉取远程分支,还可以使用fetch 命令:

$ git fetch

$ git merge origin develop

如果两个分支没有共同祖先,无法直接合并,此时可以使用 git pull origin master --allow-unrelated-histories

如果是 fetch 了之后再合并也是一样的 git fetch origin master git merge origin/master --allow-ubrelated-histories

标签

标签是为了更方便地参考提交而给它标上易懂的名称。

Git可以使用 2 种标签: 轻标签和注解标签。打上的标签是固定的不能像分支那样可以移动位置。

轻标签

使用tag命令来添加标签,在<tagname> 执行标签的名称

$ git tag <tagname>
  • 添加名称

注解标签

若要添加注解标签,可以在tag命令指定 -a选项执行。执行后会启动编辑区,请输入注解,也可以指定-m选项来添加注解。

$ git tag -a <tagname>
  • 添加名称
  • 添加注解
  • 添加签名

一般情况下,发布标签是采用注解标签来添加注解或签名的,轻标签是为了在本地暂时使用或一次性使用

事前准备

首先建立一个新目录,并在里面建立一个空数据库。这里我创建了一个名为lmonkey的目录

$ mkdir lmonkey

$ cd lmonkey

$ git init

初始化数据库之后,我们在创建一个myfile.txt的档案,然后提交:

$ echo '学习Git' >> myfile.txt

$ git add myfile.txt

$ git commit -m "first commit"

目前的历史记录是这样的

添加轻标签

HEAD 指向的提交里添加名为apple的标签:

$ git tag apple

如果没有使用参数而执行 tag, 可以显示标签列表

$ git tag

//标签列表

如果在 log 命令添加 --decorate选项执行,可以显示包含标签资料的历史记录:

$ git log --decorate

//包含标签资料的历史记录

添加注解标签

HEAD指向的提交里添加名为banana的标签,请执行以下的命令。

$ git tag -am "学习Git" banana

如果在tag命令指定-n选项执行,可以显示标签的列表和注解。

$ git tang -n

// 标签的列表和注解

删除标签

若要删除标签,在tag命令指定 -d选项执行。

$ git tang -d <tagname>

应用

以某个标签为基础,新建并切换一个新分支:

$ git checkout -b <branchName> <tagName>

因为 tag 本身指向的就是一个 commit , 所以和根据 commitid 检出分支是一个道理

$ git checkout -n <branchName> <commitid> 可以已提交id为基础新建并切换出一个新分支

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值