远程分支
默认的,远程数据库只有一个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 mastergit 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为基础新建并切换出一个新分支
本文详细介绍了如何在Git中创建、推送远程分支,拉取和合并更新,以及轻标签和注解标签的使用。包括git checkout、git push、git fetch、git merge等命令及其在lmonkey和lmonkey2环境中的实践。同时涵盖了如何添加、查看和删除标签,以及基于标签创建新分支的操作。
2万+

被折叠的 条评论
为什么被折叠?



