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. 本文主要关注 ...
随机推荐
- jmeter之-用Firefox录制https协议证书问题
录制脚本的时候,比如录制https协议的百度网站 https://www.baidu.com ,所有录制设置均正常,但是在jmeter录制控制器里面就是没有任何录制的请求. 这个时候提示说证书不对 1 ...
- [CQOI2011]放棋子 题解(dp+组合数学)
Description Input 输入第一行为两个整数n, m, c,即行数.列数和棋子的颜色数. 第二行包含c个正整数,即每个颜色的棋子数. 所有颜色的棋子总数保证不超过nm. N,M<=3 ...
- iOS 7 认识 TextKit
本文由 伯乐在线 - 和谐老约翰 翻译自 Max Seelemann.欢迎加入技术翻译小组.转载请参见文章末尾处的要求. iOS7 的发布给开发者的案头带来了很多新工具.其中一个就是 TextKit( ...
- C++之手写strlen函数
代码: int strlen(const char *str){ assert(str!=NULL); intlen=; while((*str++)!='\0') len++; return len ...
- gcc将c源文件中的宏展开
1: sudo gcc -P -I. -I../instrument/stubs -I../instrument/stubs -I../ -E ctrl_xfer32.cc -o preprocess ...
- 2019杭电多校第四场hdu6621 K-th Closest Distance(二分答案+主席树)
K-th Closest Distance 题目传送门 解题思路 二分答案+主席树 先建主席树,然后二分答案mid,在l和r的区间内查询[p-mid, p+mid]的范围内的数的个数,如果大于k则说明 ...
- 并发编程(二)——利用Process类开启进程、僵尸进程、孤儿进程、守护进程、互斥锁、队列与管道
Process类与开启进程.守护进程.互斥锁 一.multiprocessing模块 1.multiprocessing模块用来开启子进程,并在子进程中执行我们定制的任务(比如函数),该模块与多线程模 ...
- 牛客练习赛51 B 子串查询 https://ac.nowcoder.com/acm/contest/1083/B
题目描述 给出一个长度为n的字符串s和q个查询.对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串.子串的定义就是存在任意下标a<b<c<d<e,那么”s ...
- react 中刷新,路由传参数丢失不存在了?
你可能在Link to没写state {{pathname:'/report',state:{storageClear:this.state.storageClear}}}
- pytest----fixture(1)--使用fixture执行配置及销毁逻辑
1使用fixture执行配 置及销毁;非常灵活 使用. 2数据共享:在 conftest.py配置里写方 法可以实现数据共享, 不需要import导入.可 以跨文件共享 3scope的层次及神 奇的y ...