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 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只举 ...
随机推荐
- 剑指offer三十一之连数中1出现的次数(从1到n整数中1出现的次数
一.题目 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?为此他特别数了一下1~13中包含1的数字有1.10.11.12.13因此共出现6次,但是对于后面问题他就没辙了. ...
- EF基础知识小记四(数据库=>模型设计器)
EF基础知识小记三(设计器=>数据库)介绍了如何创建一个空设计器模型,并如何将模型同步到数据库的表中,本文则主要介绍如何将一个存在的数据库同步到模型设计器中.为了能快速的模拟这个过程,给出一下建 ...
- rabbitmq实现一台服务器同时给所有的consumer发送消息(tp框架)(第四篇)
之前的学习了把消息直接publish到queue里面,然后consume掉, 真实的情况,我们会把消息先发送到exchange里面,由它来处理,是发给某一个队列,还是发给某些队列,还是丢弃掉? exc ...
- kubernetes ingress到pod的数据流
假设现在有一个ingress暴露的服务 example.com.cn,查看一下流量是怎么传输到后端的 使用kubectl get ingress可以查看到如下内容,example.com.cn对应的i ...
- 【Express系列】第4篇——使用session
session 在 web 应用中使用很普遍,不过在 node 上面,要用 session 还真得折腾一番才行. 从加入中间件,到 session 的写入.清除,当时是遇到了不少坑的. 当然也可能是我 ...
- vscode 常用配置
{ "workbench.iconTheme": "vscode-icons", "editor.tabSize": 2, "ed ...
- Hadoop MapReduce流程及容错
shuffle流程 输入分片(input split):在进行map计算之前,mapreduce会根据输入文件计算输入分片(input split),每个输入分片(input split)针对一个ma ...
- SpringBoot入门 (六) 数据库访问之Mybatis
本文记录学习在SpringBoot中使用Mybatis. 一 什么是Mybatis MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 ...
- DC综合及仿真验证和DFT测试
综合技术是提高设计产能的一个很重要的技术,没有综合技术的发展就不可能用HDL实现电路的设计,因为HDL开始是用来供电路仿真建模使用的,到了后来才把其中一部分子集作为可综合的语言,也就是R ...
- java将list转为树形结构的方法
目录 1.通过转化成json封装数据 2.通过java8 stream转换 1.通过转化成json封装数据 原始数据如下 [ { "name":"甘肃省", & ...