学习参考地址: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. Framework7-Vue的UI组件代码

    Framework7-Vue提供了一套UI组件库,想要什么效果,直接到上面复制代码即可 http://www.framework7.cn/ 这里有非常多的ui组件,基本上可以满足项目中的大部分需求 h ...

  2. 工具类--map 转成xml xml转成map

    public class WxChatReq { /** * Map转换成XML * @param data * @return * @throws Exception */ public stati ...

  3. Maven项目上有小红叉咋办

    Maven项目上有小红叉咋办 创建maven项目之后,war工程如果目录不全的话会出现错误.这种情况就是把目录补全就可以了. 这种情况版本问题,点击那个最新版本的,会自动给加一段代码.(如果没有就自己 ...

  4. PAT_A1080#Graduate Admission

    Source: PAT A1080 Graduate Admission (30 分) Description: It is said that in 2011, there are about 10 ...

  5. python xlwt设置单元格的自定义背景颜色

    我使用python 2.7和xlwt模块进行excel导出 我想设置我知道可以使用的单元格的背景颜色 style1 = xlwt.easyxf('pattern: pattern solid, for ...

  6. 牛客网多校训练第八场A All one Matrix

    题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:求出有多少个不被包含的全1子矩阵 解题思路:首先对列做处理,维护每个位置向上1的个数,然后我们从最后 ...

  7. 认识AppDomain类

    原文:认识AppDomain类 表示应用程序域,它是一个应用程序在其中执行的独立环境. 创建新的 AppDomain,在该新建 AppDomain 中实例化类型,以及与该类型的对象通信. usingn ...

  8. Center OS 部署Tomcat服务

    一.下载tomcat tomcat官网下载软件包,官网:https://tomcat.apache.org/ 点击download,进入下载页面,下载如下版本: 下载完成后用ftp上传到服务器,SSH ...

  9. linux 下无法输入# 显示为£

    在键盘布局里面,(Keyboard Layout)设置为中国,汉语.解决问题

  10. docker Dockerfile学习---构建mongodb环境

    1.创建项目目录并上传包 mkdir centos_mongodb cd centos_mongodb .tgz 2.编辑配置文件 vi mongodb.conf dbpath = /data/usr ...