Git仓库入门之基本用法(二)
来源:互联网 发布:java多线程优点 编辑:程序博客网 时间:2024/05/25 05:35
上一篇简单介绍了Git仓库的搭建和基本用法,包括创建、版本回退啊等等,这一篇继续练习一些基本用法。
Git分支创建
正式项目里我们不能在master主线上进行修改,每个人负责的一块功能或者新增的业务需要在支线上进行处理,然后在主线上进行合并。
使用
git branch dev
命令可以创建一个dev分支,主线master上的工程会被复制一份到我们的分支上。使用git checkout dev
可以定位到我们刚创建的dev分支上。使用
git checkout -b dev
命令可以创建一个dev分支,并定位到我们刚创建的dev分支上。使用
git branch
命令可以查看我们目前所有的分支。前面带*的且字体为绿色的为我们当前定位到的分支。
Git分支的合并
我们在dev分支上对readme.txt进行了修改,添加了新的一行内容。要怎么把它提交到我们的主线master上去呢?
先将dev分支上的修改提交一下,使用
git add
和git commit
命令,具体用法参考上一篇然后
git branch master
切换到master下,查看readme.txt发现并无改动(废话,我们还没合并呢)。使用git merge dev
命令将dev分支合并到master上。之后查看readme.txt,发现我们之前修改的内容已经同步到了这里。Tips:使用git merge命令时,Git会默认用Fast forward模式。这种模式合并非常快,但是如果把分支删除后,会彻底丢掉分支的信息。所以我们一般使用git merge --no-ff -m "merge with no-ff" dev,这样可以保留分支的历史信息。
解决合并发生的冲突
我们已经在dev分支上的readme文件中增加了一行"Git is good!",并且已经提交。回到master下,使用`git merge dev`后,出现了错误。
原来是出现冲突了!我们打印下master下的readme文件看看!
原来master上的readme文件也新增了一行"git is good!"是小写的,这肯定是错误的!我们编辑readme.txt这个文件,将小写的那句话去掉,保留大写的。然后提交,最好再合并!终于好了!
Git分支的删除
我们已经在dev分支上完成了我们的任务,并且已经同步到了master下。所谓卸磨杀驴,当前分支就可以删除啦。
- 使用
git branch -d dev
命令可以删除我们当前分支,如果当前分支有未更新内容,但是你还是想遗弃该分支,可以使用git branch -D dev
来强制删除dev分支。
Git的Tag标签使用
git的标签和command id 是一一对应的,可以说就是command id的别名,让我们更好记一点。
使用
git tag v1.0
命令给当前分支下最新的command id 打上标签。如果要给某一个command id 打标签,可以这样git tag v1.0 72cf95b
使用
git tag
命令可以查看当前分支下的所有标签。使用
git show v1.0
命令可以查看v1.0这个标签更详尽的信息。使用
git tag -d v1.0
命令可以删除v1.0这个标签。
结束语
下一篇我们将学习Github远程仓库的使用。
0 0
- Git仓库入门之基本用法(二)
- 【Git入门之二】创建仓库
- 【Git入门之二】基本术语
- 【Git入门之二】基本术语
- 【Git入门之二】基本术语
- 【Git入门之二】基本术语
- Git用法之远程仓库
- Git入门学习笔记(二) 远程仓库
- Git(二)、远程仓库
- Git使用本地仓库之基本操作
- Git使用本地仓库之基本操作
- Git使用本地仓库之基本操作
- Git使用本地仓库之基本操作
- Git入门指南一:基本介绍和创建Git仓库
- Git入门指南一:基本介绍和创建Git仓库
- 【Git入门之三】创建仓库
- 【Git入门之六】远程仓库
- 【Git入门之三】创建仓库
- B1066. 图像过滤(15)
- Android中的Window类型
- Linux账号管理(笔记)
- 面试智力题
- (Leetcode)Longest Increasing Subsequence——dp,bisearch
- Git仓库入门之基本用法(二)
- Databus Relays
- Max 文件制作三维场景
- thinkphp与Yii比较,框架之间的选择
- hibernate 表与表之间的关系
- BIM与三维GIS结合
- 开源实时日志分析ELK平台部署
- android 5.1老版本用R16跑cts fail项解决方法
- NSDate和NSString转化