GIT速成
安装工具与使用工具:
GIT工具 :https://www.git-scm.com/download/
WINGDOWS图形界面工具:https://download.tortoisegit.org/
GIT远端仓库服务器:https://gogs.io/
完全的新手该如何理解
GIT的好处,简而言之,就像PHOTOSHOP里的历史功能,或者更简单的WORD文本编辑中CTRL+Z撤销功能一样,让每一步操作都有一个确定的历史版本。除此之外,我们还能有多个分支做出多个历史版本,每一次的修改都能有据可查。
与SVN比较的话,最大的差别是去中心化,无需中心服务器,同时还能修改版本记录,快速切换分支等特点。
基本概念
GIT分为远端仓库和本地仓库。
- 远端仓库就是大家共享和共同维护记录的仓库。
- 本地仓库就是自己个人维护的仓库。本地开的分支可以不用推送到远端仓库。只有MASTER主线(需要推送远端的分支)需要谨慎对待,主要影响美观。
常规的开发流程:
- Clone ,将远端仓库克隆到本地磁盘。
- Push,将本地仓库推送到远端仓库
- Pull,将远端仓库取下并于本地进行合并。如果有不同会产生分支。
习惯于SVN的用户如何转变(针对远端仓库)
SVN操作 | GIT操作 |
---|---|
UPDATE | 在本地没有提交过的情况下,直接Pull。否则使用Fetch,随后Rebase。 |
COMMIT | 提交之前先进行上一步类似SVN UPDATE的操作。再Pull到远端仓库,才算真正的完成提交。 |
入门使用方法
GIT的使用方法特别自由,所以初识GIT,人们总是希望能够快速掌握,减少在试错上浪费的时间。GIT的强大,任何奇怪的操作都不会产生严重的后果(精通会自然发现历史都是能被修改的)。除非删库跑人。
作为强迫症,我建议还是记住以下几点,这样才能保证MASTER看上去特别漂亮美观。
- 开分支做功能,万一插点别的事儿。你是该提交还是不提交呢?最后GIT的分支信息可以不用推送到远端仓库,所以开分支挺省事。
- 同一功能连续开发尽可能压缩成一次提交。
- 合作的团队仓库,每次推送远端前,首先Fetch操作,然后是Rebase,如果有冲突,那就硬刚,解决。以此保证分支美观。
关于进阶直接看这里
https://github.com/lhmouse/git-workflow-zh/blob/master/workflow.md
GIT速成的更多相关文章
- 从0开始学习 GITHUB 系列之「GIT 速成」【转】
本文转载自:http://stormzhang.com/github/2016/05/30/learn-github-from-zero3/ 版权声明:本文为 stormzhang 原创文章,可以随意 ...
- Git速成学习第六课:Bug分支
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 当你接到一个修复代码为101的任务的时候,很自然的你想创建一个分支issue-101来修复它,但 ...
- Git速成学习第五课:分支管理策略
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 通常合并分支时,如果可能用Fast forward模式,但是在这种模式下,删除分支后,会丢掉分支 ...
- Git速成学习第四课:解决冲突
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 我们继续练习,准备新的feature1分支. $ git checkout -b feature ...
- Git速成学习第三课:创建与合并分支
本来第三课想记录一下远程仓库的创建与克隆0.0但是想了想还是不写了. 这里写一下分支管理中的创建与合并. Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng. ...
- Git速成学习第二课:管理修改与删除文件
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 管理修改 首先我们需要明确,为什么说Git管理的是修改而不是文件呢? 我们首先对于已有的read ...
- Git速成学习第一课:创建版本库与版本回退
Git速成学习笔记整理于廖雪峰老师的官网网站:https://www.liaoxuefeng.com/ 我太困了0.0精神点再写...... /*我来啦!以后会陆续更新自己的学习笔记*/ Git是分布 ...
- 从0开始学习 GitHub 系列之「03.Git 速成」
前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...
- GitHub 系列之「Git速成」
1.什么是Git? Git 是 Linux 发明者 Linus 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只举 ...
随机推荐
- (转)mysql原生在线ddl和pt-osc原理解析
原文:http://blog.csdn.net/zengxuewen2045/article/details/52017247 https://github.com/mysql-inception/i ...
- [转] TCP/IP原理、基础以及在Linux上的实现
导言:本篇作为理论基础,将向我们讲述TCP/IP的基本原理以及重要的协议细节,并在此基础上介绍了TCP/IP在LINUX上的实现. OSI参考模型及TCP/IP参考模型 OSI模型(open syst ...
- C++中class的类型转换重载
注:本文测试实例使用的编译器版本为clang-703.0.29. 我们已经习惯了基本数据类型的显式或隐示转换,如: ; float f = (float)a;float c = a; 其实通过oper ...
- notepad++上搭建gtk+2.0/3.x开发环境
前言 老师布置了一道题需要用到图形界面,于是开始找图形库.最后选择了gtk+图形库,然后折腾了大概一天. 这里记录自己新学到的知识,同时也给后来者一些便利. 准备 下载以下内容 notepad++(由 ...
- C语言中的按位移动及其简单引用
C语言中的按位移动及其简单应用 在C语言中按位左移用”<<”表示,按位右移用”>>”表示. 按位左移和按位右移运算经常被用来替换乘二和除二运算,但是要注意,这两者之间并不完全等 ...
- C/C++中的static
一.静态全局变量 理解static关键字之前首先回顾一下C/C++程序的在内存中的分配情况.从低地址到高地址依次分为:代码区.全局数据区.堆区.栈区.函数之外的全局变量和静态变量(包括全局变量和静态变 ...
- RabbitMQ上手记录–part 6-Shovel
上一part<RabbitMQ上手记录–part 5-节点集群高可用(多服务器)>讲到了通过多个服务器来搭建RabbitMQ的节点集群,示例当中提到的服务器都是在同一个局域网中的(实际上是 ...
- DOM (文档对象模型(Document Object Model))
文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象 ...
- SQL存储过程基础语法及实例
1.定义变量简单赋值 declare @a int //声明一个变量a 赋初值为5 print @a //输出变量a 2.创建临时表 if OBJECT_ID('tempdb.#FlightState ...
- 转载:SQL按照日、周、月、年统计数据的方法
转载源:http://www.jb51.net/article/42613.htm SQL按照日.周.月.季度.年统计数据的方法 方式一: --按日 select sum(consume),day([ ...