学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

本编随笔只是自己对git学习的笔记,是按着参考地址的讲解学习的记录。

 一、分支的创建与合并

git branch :查看分支

git branch <name> :创建分支

git checkout <name> :切换分支

git checkout -b <name> :创建+切换分支

git merge <name> :合并某分支到当前分支

git branch -d <name> :删除分支

在git中,有个主分支master,HEAD指向当前分支,所以默认就是指向master分支。

1、使用git branch 查看分支

2、创建分支与切换分支

3、合并分支与删除分支

 二、解决冲突

当主分支与其他分支都改动了相同地方并都提交了,合并其他分支就会提示冲突,此时解决冲突的办法就是统一下改动的地方,并再提交,删除分支,有点让我们再次确认下提交内容而已,避免不同版本修改出错。如下所示操作:

三、另一种合并分支的方式

前面合并分支的方式都是Fast forward模式合并,这种方法对分支修改没有记录,很多时候不好追溯修改,下面学习的是禁止Fast forward模式合并。加上--no-ff参数的合并方法。

git merge --no-ff -m "变更说明” branch

分支管理几个基本原则:

1、master分支非常稳定,用来发布版本

2、修改都在dev分支上进行,发版本时才往master分支上合并,平时在dev分支上合并其他分支

四、Bug分支与Feature分支

1、bug分支

git stash :保留未完成分支工作现场。

git stash pop :恢复保留的工作现场,并删除stash保存的内容,等同于git stash apply恢复,再加上用git stash drop来删除stash内容两个命令。

bug分支管理是为了处理一个bug把当前还不能提交的工作暂且搁置的一种管理办法,我们可以通过git stash命令保留当前工作现场,再创建一个bug分支去处理bug,处理完后再恢复之前的工作现场,下面是bug管理的操作方法:

2、feature分支

git branch -D <name> :强制删除未合并的分支

feature分支是一种为了开发新功能创建分支的策略,新功能一般都具有不确定性,就有可能在开发一定程度不需要开发这个功能,这时需要删除这个分支,但是又没有合并,所以强制删除未合并的更多是用在feature分支。

五、多人协作管理

git remote -v  :查看远程库信息。

git push origin branch-name :推送本地分支到远程。

git pull :如果推送失败,先抓取远程的新提交到本地合并

git checkout -b branch-name origin/branch-name :在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致。

git branch --set-upstream branch-name origin/branch-name :建立本地分支和远程分支的链接。

GIT学习记录3(分支管理)的更多相关文章

  1. git学习4:分支管理

    每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就 ...

  2. Git学习笔记五--分支管理

    为什么要引入分支? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部 ...

  3. Git 最佳实践:分支管理

    5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践.最后我为团队选择了这个git分支管理实践 A successful Git branching ...

  4. Git学习记录 力做全网最强入门教程

    目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...

  5. git学习记录——基础概念和文件的基本操作

    夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...

  6. GIT学习记录4(标签管理与自定义git)

    学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...

  7. git学习笔记08-分支管理策略-实际上我们应该怎么应用分支

    Git用Fast forward模式(快进模式),但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支 ...

  8. Git学习记录--git仓库

    Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...

  9. git 学习记录—— git 中的仓库、文件状态、修改和提交操作等

    最近开始学习使用版本控制工具  git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...

随机推荐

  1. 关于if else 和 三目运算符的效率问题-java

    1.从类型转换上看,因为三目运算符在做判断的时候需要考虑到类型转换的问题,而if else 不需要考虑类型转换. 所以 if else 效率高一点. 2.从总体上看 A:需要考虑到循环自身所占用的时间 ...

  2. MySql中创建存储过程

    MySQL 存储过程是从 MySQL 5.0 开始增加的新功能.存储过程的优点有一箩筐.不过最主要的还是执行效率和SQL 代码封装.特别是 SQL 代码封装功能,如果没有存储过程,在外部程序访问数据库 ...

  3. RMQ区间求最值

    RMQ用于区间快速查找最值,适用于期间数值无更改的情况.其预处理的复杂度为O(nlogn),查询的时间复杂度为O(1),对比于线段树的预处理O(nlogn),查询O(logn)来说,在某些情况下有着其 ...

  4. 线段树求后继+环——cf1237D

    /* 首先开三倍消环(两倍是不够的),倒序求值,线段树找一下后继即可 */ #include<bits/stdc++.h> using namespace std; #define N 3 ...

  5. drag事件

    <!DOCTYPE HTML><html>  <head>      <title>拖动事件</title>    <style> ...

  6. Java-Class-FC:java.time.Duration

    ylbtech-Java-Class-FC:java.time.Duration 1.返回顶部   2.返回顶部   3.返回顶部 1. /* * Copyright (c) 2012, 2015, ...

  7. HTML-参考手册: HTTP 状态消息

    ylbtech-HTML-参考手册: HTTP 状态消息 1.返回顶部 1. HTTP 状态消息 当浏览器从 web 服务器请求服务时,可能会发生错误. 以下列举了有可能会返回的一系列 HTTP 状态 ...

  8. date和string转换用joda包

    import org.joda.time.DateTime;import org.joda.time.format.DateTimeFormat;import org.joda.time.format ...

  9. 24. Jmeter GUI 及NON GUI实现分布式

    什么是分布式: Jmeter的集群模式可以让我们将多台机器联合起来一起产生负载,从而弥补单台机器负载生成能力不足的问题. 假设我们的测试计划会产生100个threads,我们使用6台机器进行分布式测试 ...

  10. TortoiseGit密钥设置

    需要用到TortoiseGit的puttykey generator工具来生成既适用于github的rsa密钥也适用于TortoiseGit的ppk密钥. 1.    安装完成TortoiseGit后 ...