命令行测试

[root@linux-node1 ~]# mkdir testing
[root@linux-node1 ~]#
[root@linux-node1 ~]# cd testing/
[root@linux-node1 testing]#
[root@linux-node1 testing]# git init
Initialized empty Git repository in /root/testing/.git/
[root@linux-node1 testing]# echo "" > index.html
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "first commit"
[master (root-commit) b712131] first commit
file changed, insertion(+)
create mode index.html
[root@linux-node1 testing]# echo "a file" > a.txt
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "add a.txt"
[master 025e8a3] add a.txt
file changed, insertion(+)
create mode a.txt
[root@linux-node1 testing]# echo "b file" > b.txt
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "add b.txt"
[master f4b13b6] add b.txt
file changed, insertion(+)
create mode b.txt
[root@linux-node1 testing]# git log
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: +
add b.txt
commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: +
add a.txt
commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: +
first commit
[root@linux-node1 testing]# git checkout -b dev
Switched to a new branch 'dev'
[root@linux-node1 testing]# git status
On branch dev
nothing to commit, working directory clean
[root@linux-node1 testing]# git log
commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add b.txt commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add a.txt commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + first commit
[root@linux-node1 testing]# echo "welcome to beijing" > test1.txt
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "test1"
[dev d224e8c] test1
file changed, insertion(+)
create mode test1.txt
[root@linux-node1 testing]# echo "welcome to shanghai" > test2.txt
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "test2"
[dev e254dd5] test2
file changed, insertion(+)
create mode test2.txt
[root@linux-node1 testing]# git log
commit e254dd5657d99ed287faf62f74b566a7ac1bf858
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + test2 commit d224e8cb4a51a65377c8d8eb75c3613b197e47a4
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + test1 commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add b.txt commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add a.txt commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + first commit
[root@linux-node1 testing]# git checkout master
Switched to branch 'master'
[root@linux-node1 testing]# git status
On branch master
nothing to commit, working directory clean
[root@linux-node1 testing]# echo "master1" > master1.txt
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "master1"
[master 1ebe653] master1
file changed, insertion(+)
create mode master1.txt
[root@linux-node1 testing]# echo "master2" > master2.txt
[root@linux-node1 testing]# git add .
[root@linux-node1 testing]# git commit -m "master2"
[master 814b217] master2
file changed, insertion(+)
create mode master2.txt
[root@linux-node1 testing]# git log
commit 814b217ae84ca4ad541c36d96e9b3c2744bca849
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + master2 commit 1ebe65348f73958eeafce158f922d83e386faa78
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + master1 commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add b.txt commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add a.txt commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + first commit
[root@linux-node1 testing]# git merge dev
Merge made by the 'recursive' strategy.
test1.txt | +
test2.txt | +
files changed, insertions(+)
create mode test1.txt
create mode test2.txt
[root@linux-node1 testing]# git log
commit df1da42a6c93152001199d684f01702eb6cb622f
Merge: 814b217 e254dd5
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + Merge branch 'dev' commit 814b217ae84ca4ad541c36d96e9b3c2744bca849
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + master2 commit 1ebe65348f73958eeafce158f922d83e386faa78
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + master1 commit e254dd5657d99ed287faf62f74b566a7ac1bf858
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + test2 commit d224e8cb4a51a65377c8d8eb75c3613b197e47a4
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + test1 commit f4b13b6d3fc390eacb59e0d6223ac37329d96d6f
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add b.txt commit 025e8a337bfe312065d93b040852ceb532ef6642
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + add a.txt commit b712131d81e3224f72f97c76f855e28da413450e
Author: xiaoming <xiaoming@.com>
Date: Thu Dec :: + first commit

此时,整个分支合并图如下:

分支的状态会保留

如果使用git rebase dev,分支合并图如下:

分支的状态会清除

Gitlab+Jenkins学习之路(五)之git merge和git rebase的区别的更多相关文章

  1. Gitlab+Jenkins学习之路(一)之Git基础

    1.GIT基础    GIT是一个分布式版本管理系统,速度快,适合大规模,跨地区多人协同开.SVN是一个集中式版本管理系统. (1)GIT生态 GIT分布式版本管理系统 Gitlab git私库解决方 ...

  2. Gitlab+Jenkins学习之路(三)之gitlab权限管理--issue管理

    1.创建Group,User,Project 创建一个组,组名为java Group path http://192.168.56.11/java Visibility Level: #为权限级别,一 ...

  3. Gitlab+Jenkins学习之路(八)之发布maven项目及按版本发布

    一.什么是Maven maven是一个项目管理和综合工具.Maven提供给开发人员构建一个完整的生命周期框架. 开发团队可以自动完成该项目的基础设施建设,Maven使用标准的目录结构和默认构建生命周期 ...

  4. Gitlab+Jenkins学习之路(十一)之Jenkins自动触发构建和发布

    思路图: 一.下载gitlab plugin jenkins-->系统管理-->管理插件-->下载并安装gitlab plugin 二.配置gitlab认证 路径:Jenkins-- ...

  5. Gitlab+Jenkins学习之路(十三)之发布Java项目到tomcat

    一.新建一台虚拟机安装tomcat ()安装JDK 官网下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...

  6. Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践

    目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...

  7. Gitlab+Jenkins学习之路(四)之gitlab备份和恢复

    gitlab的备份和恢复 (1)创建备份目录,并授权 [root@linux-node1 ~]# mkdir /data/backups/gitlab -p [root@linux-node1 ~]# ...

  8. Gitlab+Jenkins学习之路(六)之Jenkins部署、升级和备份

    一.什么是持续集成? (1)Continuous integration(CI) 持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员至少集成一次,也就意味着每天可能会发生多次集 ...

  9. Gitlab+Jenkins学习之路(七)之发布PHP项目

    使用git+jenkins实现持续集成 Step1:构建一个自由风格的php-deploy Step2:Gernal配置,丢弃旧的构建,防止jenkins构建较多之后变臃肿 Step3:源码管理:这里 ...

随机推荐

  1. js过滤HTML标签以及&nbsp;

    function removeHTMLTag(str) { str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag str = str.r ...

  2. opengl redbook Fatal Error in XXXXXX pixel format with necessary capabilities not found

    随便运行书中的一个程序aaindex.c时出现了下面的错误:pixel format with necessary capabilities not found 解决方法: http://www.ed ...

  3. Java & Groovy & Scala & Kotlin - 20.Switch 与模式匹配

    Overview 本章主要介绍高级条件语句中的 switch 语句以及其增强版的模式匹配. Java 篇 Switch 特点 Java 中 switch 语句功能类似 if,但是 switch 主要用 ...

  4. Python之Cubes框架使用

    本文主要内容包含Cubes框架的介绍和简单使用. 一. 介绍和安装 Cubes是一个轻量级的Python框架和一套工具,用于开发报告和分析应用程序,在线分析处理(OLAP),多维分析和聚合数据的浏览. ...

  5. JS 兼容大全

    //获取浏览器可视区宽度 function getWidth() { if (window.innerWidth){ return window.innerWidth; } else{ if (doc ...

  6. python自动化之models 进阶操作二

    ################################################################## # PUBLIC METHODS THAT ALTER ATTRI ...

  7. python3 unittest框架失败重跑加截图支持python2,python3

    github源码地址下载:https://github.com/GoverSky/HTMLTestRunner_cn.git 解压文件后取出/HTMLTestRunner_cn.py文件丢进C:\Py ...

  8. bat 数组实现

    bat中没有数组的概念,可以通过有[]的多个变量来存储一组值 @echo off & setlocal enabledelayedexpansion .txt) do ( echo %%b e ...

  9. css选择器,样式表导入

    css笔记1.选择器(selecter)共9种 a.类型选择器 p{},body{} b.后代选择器 p h1{} c.ID选择 #idname{} d.类选择 .classname{} e.通用选择 ...

  10. Spring Cloud和Dubbo整合开发笔记(1)

    一.需求背景: 公司内部老项目微服务技术栈使用Dubbo, 新项目技术栈使用主流的Spring Cloud相关组件开发,新旧项目涉及交互调用,无法直接通信数据传递. 老项目基于Dubbo,重构代码升级 ...