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 开发的一款新时代的版本控制系统,那什么是版本控制系统呢?怎么理解?网上一大堆详细的介绍,但是大多枯燥乏味,对于新手也很难理解,这里我只举 ...
随机推荐
- Eclipse for android 实现代码自动提示智能提示功能
Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java 与 xml 代码自动提示功能,解决 eclips ...
- LeNet - Python中的卷积神经网络
本教程将 主要面向代码, 旨在帮助您 深入学习和卷积神经网络.由于这个意图,我 不会花很多时间讨论激活功能,池层或密集/完全连接的层 - 将来会有 很多教程在PyImageSearch博客上将 ...
- (转)MySQL 插入数据时,中文乱码问题的解决
MySQL 插入数据时,中文乱码问题的解决 原文:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html 当向 MySQL 数据库插 ...
- sql日期格式处理
sql server中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 ...
- Chapter 3 Phenomenon——11
"I'm completely fine, Char — Dad," I sighed. "There's nothing wrong with me." “我 ...
- chrome 下修改 agent 的方法
前言 这篇文章和 tiankonguse 的个人网站里的文章保持同步. 很早之前,在 chrome 下修改 agent 的方法是使用 chrome 插件. 后来 chrome 的某一个版本中自带这个功 ...
- java面试③Web部分
2.2.1 讲一下http get和post请求的区别 get和post请求都是http的请求方式,用户通过不同的http请求方式完成对资源(url)的不同操作,具体点来讲get一般用于获取/查询资源 ...
- 记录自己使用到的git命令行代码与git使用流程
1.安装创建版本库 新建一个文件夹,用命令行实现: $ cd /d //进入d盘 $ mkdir gitproject //新建gitproject文件夹 $ cd ...
- npm run build之后生成的dist如何扔到服务器运行(npm run build之后如何本地运行)
运行npm run build之后,会生成一个dist文件夹,里面的目录结构大概是这样的: 生成完的文件我们怎么来运行呢?直接在本地打开inde.html是无法运行的,打包的时候有提示: 构建文件应该 ...
- SQL Server数据类型转换方法
在SQL Server日常的函数.存储过程和SQL语句中,经常会用到不同数据类型的转换.在SQL Server有两种数据转换类型:一种是显性数据转换:另一种是隐性数据转换.下面分别对这两种数据类型转换 ...