Git分支学习简记

摘要:
在两次引入Git之后,我第二天就忘记了分支的概念,这在一开始并不太有用。所谓的树枝类似于树枝。有一个主干,它成为Git中的主人,其含义很容易理解;这必须存在,然后您可以分离其他中继线。就像树的分支会返回树干一样,Git中的分支也会汇聚到主节点。例如,我们现在有现成的代码。A想自己修改,但不能直接修改。相反,复制它以修改它。在Git中,我们可以直接创建分支。

简介

开始过了两遍Git的内容,第二天就已经忘记了分支(branch)的概念,开始还觉得不太用的到。然后又看了第二遍,才发现为什么大家说这个是Git里边极其重要的一个东西。

所谓branch,就类似于树的枝干,有一个主干,在Git里成为master,意思也很好理解;这个是必须存在的,然后你可以分出去其他的树干(但是都不是主干)。像树的分枝都会回到主干那里一样,Git里的分支也会汇聚到master那里。

比方我们现在有现成的代码,A想自己修改一下,但是不能直接改动,做法可以是copy过来修改一下,在Git里我们直接创建分支就可以了。再觉得完美了之后上传过去,这个时候直接合并分支就可以搞定了。

分支常用命令和功能介绍

通过git branch命令可以看到现在的分支情况,*代表我们目前所在的分支

# git branch
* master
   test

可以看到我们有两个分支,有master还有一个test

通过git checkout test我们可以切换到test分支

#git checkout test
Switched to branch 'test'
#git branch
master
*test

通过git checkout -b  xx命令我们可以创建xx分支,-b 代表创建并直接切换到xx分支

通过git merge xx可以把xx分支合并到master分支上

完成合并之后可以删除xx分支,使用git branch -d xx命令,需要注意的是合并的时候需要解决冲突(即内容不一致的问题)

下面通过一个完整的例子(代码高亮不理想,凑合看吧)演示一下:

07:02:01wang@~/Documents/git >>  git branch
  master
* test
07:02:11wang@~/Documents/git >>  git checkout  master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
07:02:21wang@~/Documents/git >>  git branch
* master
  test
07:02:27wang@~/Documents/git >>  ls
readme.txt  Spoon-Knife  test
07:02:45wang@~/Documents/git >>  cat readme.txt
master branch`
07:02:51wang@~/Documents/git >>  git checkout -b test1
Switched to a new branch 'test1'
07:03:02wang@~/Documents/git >>  git branch
  master
  test
* test1
07:03:05wang@~/Documents/git >>  ls
readme.txt  Spoon-Knife  test
07:03:07wang@~/Documents/git >>  vi readme.txt
07:03:18wang@~/Documents/git >>  git add readme.txt
07:03:23wang@~/Documents/git >>  git commit -m "branch test1"
[test1 3a09722] branch test1
 1 file changed, 2 insertions(+)
07:03:38wang@~/Documents/git >>  git checkout master
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
07:03:53wang@~/Documents/git >>  git branch
* master
  test
  test1
07:03:56wang@~/Documents/git >>  git merge test1
Updating c7ac8a8..3a09722
Fast-forward
 readme.txt | 2 ++
 1 file changed, 2 insertions(+)
07:04:02wang@~/Documents/git >>  cat readme.txt
master branch`

test1 branch
07:04:07wang@~/Documents/git >>  git branch -d test1
Deleted branch test1 (was 3a09722).
07:04:18wang@~/Documents/git >>  git branch
* master
  test

免责声明:文章转载自《Git分支学习简记》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql插入数据时,去掉重复的数据;2017 GDS 全球域名大会7月7日举行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

实验3- 熟悉常用的 HBase 操作

石家庄铁道大学信息科学与技术学院 实验报告 2018年----2019年第一学期 题目:熟悉常用的 HBase 操作 课程名称:大型数据库应用技术 班级:信1605-2班 姓名: XX学号: XXXXXXXX 指导教师: XXX 一、实验内容与完成情况:(实验具体步骤和实验截图说明) 实验...

解决 Visual Studio For Mac 还原包失败问题

体验了一把改名部最新的杰作,总体感觉挺好,也能看出微软在跨平台这方面所做出的努力。 可能是预览版的缘故,还是遇到一个比较大的问题,创建netcore项目后,依赖包还原失败,错误信息如下: 可以先试着手动还原一下(说不定就成功了呢,反正我没成功) dotnet restore 如果不成功,那就按照我的做法一步一步来。 1.查看 dotnetcore sdk...

4通用Makefile编写

a.c #include<stdio.h>#include "a.h" intmain() { printf("hello world "); printf("A= %d ",A); test_fun(); return 0; } a.h #define A 1 b.c #include <st...

本地Git连接GitLab(服务器)远程仓库

  1、简介 远程仓库是指托管在网络上的项目仓库,现在互联网上有很多项目托管平台,比如github、gitlab等。为了不公开自己项目代码,可以在自己的服务器上搭建自己的项目仓库,最常见的是搭建GitLab。 本地Git与远端服务器GitLab之间连接方式主要分为:SSH方式和HTTP方式。 HTTP方式:这种方式要求project在创建的时候只能选择“P...

Jenkins自动触发构建maven多模块项目

一、要求 在一个Spring boot项目中,通过Jenkins来触发构建某单一模块时,其他模块和其余分支不受影响 二、Jenkins配置 1. 安装插件 插件:Generic Webhook Trigger Plugin 2. 配置用户 设置用户token,不然会报403错误 jenkins---> 用户列表----> 具体用户------...

Git 版本导致 clone 故障

问题描述: git clone 报错如下: Initialized empty Git repository in /root/project_php/.git/ error: The requested URL returned error: 401 Unauthorized while accessing http://tone.verru.cn:8...