GIT学习记录3(分支管理)
学习参考地址: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(分支管理)的更多相关文章
- git学习4:分支管理
每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,这个分支叫主分支,即master分支,HEAD指向master,master指向提交,所以,HEAD指向的就 ...
- Git学习笔记五--分支管理
为什么要引入分支? 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不能干活了.如果等代码全部 ...
- Git 最佳实践:分支管理
5月份,为统一团队git分支管理规范,刚开始准备自己写,在网上搜了下,发现不少不错的git分支管理实践.最后我为团队选择了这个git分支管理实践 A successful Git branching ...
- Git学习记录 力做全网最强入门教程
目录 Git学习记录 力做全网最强入门教程 什么是GitHub? 什么是Git? Git的配置 Git的安装(只介绍windos操作系统下) Git的配置 至此我们的入门教程到此结束,更新中级教程要等 ...
- git学习记录——基础概念和文件的基本操作
夸一下git git是当前世界上最先进的分布式版本控制系统 优势: 1.不必联网 2.Git极其强大的分支管理,把SVN等远远抛在了后面. 集中式的代表CVS和SVN 分布式的代表BitKeeper, ...
- GIT学习记录4(标签管理与自定义git)
学习参考地址:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 本编随笔只是自己对 ...
- git学习笔记08-分支管理策略-实际上我们应该怎么应用分支
Git用Fast forward模式(快进模式),但这种模式下,删除分支后,会丢掉分支信息. 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支 ...
- Git学习记录--git仓库
Git是一款强大的版本控制工具,与svn相比git的分布式提交,本地仓库等在使用时确实比较方便.当然两者之间各有优劣,我在这里不多做比较.由于之前少有接触git,只是零星大致地了解一点,所以找时间系统 ...
- git 学习记录—— git 中的仓库、文件状态、修改和提交操作等
最近开始学习使用版本控制工具 git .学习方式主要通过阅读 git 网站上的 Pro git 和动手实践,使用的系统为 Ubuntu16.04LTS,以及 Windows 8.1. 本文主要关注 ...
随机推荐
- Framework7-Vue的UI组件代码
Framework7-Vue提供了一套UI组件库,想要什么效果,直接到上面复制代码即可 http://www.framework7.cn/ 这里有非常多的ui组件,基本上可以满足项目中的大部分需求 h ...
- 工具类--map 转成xml xml转成map
public class WxChatReq { /** * Map转换成XML * @param data * @return * @throws Exception */ public stati ...
- Maven项目上有小红叉咋办
Maven项目上有小红叉咋办 创建maven项目之后,war工程如果目录不全的话会出现错误.这种情况就是把目录补全就可以了. 这种情况版本问题,点击那个最新版本的,会自动给加一段代码.(如果没有就自己 ...
- PAT_A1080#Graduate Admission
Source: PAT A1080 Graduate Admission (30 分) Description: It is said that in 2011, there are about 10 ...
- python xlwt设置单元格的自定义背景颜色
我使用python 2.7和xlwt模块进行excel导出 我想设置我知道可以使用的单元格的背景颜色 style1 = xlwt.easyxf('pattern: pattern solid, for ...
- 牛客网多校训练第八场A All one Matrix
题目链接:https://ac.nowcoder.com/acm/contest/888/A 题意:求出有多少个不被包含的全1子矩阵 解题思路:首先对列做处理,维护每个位置向上1的个数,然后我们从最后 ...
- 认识AppDomain类
原文:认识AppDomain类 表示应用程序域,它是一个应用程序在其中执行的独立环境. 创建新的 AppDomain,在该新建 AppDomain 中实例化类型,以及与该类型的对象通信. usingn ...
- Center OS 部署Tomcat服务
一.下载tomcat tomcat官网下载软件包,官网:https://tomcat.apache.org/ 点击download,进入下载页面,下载如下版本: 下载完成后用ftp上传到服务器,SSH ...
- linux 下无法输入# 显示为£
在键盘布局里面,(Keyboard Layout)设置为中国,汉语.解决问题
- docker Dockerfile学习---构建mongodb环境
1.创建项目目录并上传包 mkdir centos_mongodb cd centos_mongodb .tgz 2.编辑配置文件 vi mongodb.conf dbpath = /data/usr ...