git工具使用说明
一、什么是git?
- 工作区:就是你在电脑里能看到的目录;
- 暂存区:一般存放在(.git/index)中,所以我们把暂存区有时也叫作索引(index);
- 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库发布管理;

二、集中式vs分布式
- 集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
- 集中式版本控制系统最大的毛病就是必须联网才能工作;
- 分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库:
- Git极其强大的分支管理,把SVN等远远抛在了后面;
三、git使用(https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000)
使用工作流程
- 克隆 Git资源作为工作目录:gitclone http://xxxxxxxx.git;
- 切换到dev分支:gitcheckoutdev;
- 更新获取资源源码:gitpull origin xxx;
- 在克隆的资源上添加或修改文件: gitadd <filename>/gitadd*;
- 在提交前查看修改:gitlog;
- 提交修改:gitcommit -m "代码提交信息";
- 提交到远程库:gitpush origin xxx;
分支管理
- 查看分支:gitbranch;
- 切换分支: gitcheckout (branchname);
- 创建分支:gitbranch (branchname),创建分支项目中技术经理会负责创建;
- 一般项目上有多少环境就创建几个分支,一般项目都是3个环境(DEV,UAT,PROD);
四、git基本命令

五、git代码冲突解决
冲突的原因
影响
在git pull时git会将remote库的资源下载并自动merge到本地版本库,并自动commit远程库;
解决(2种)
- 代码回滚:gitrevert与gitreset,通知技术经理,根据影响范围确定执行REVERT还是RESET;

- 解决冲突:
- 执行gitadd xxx(xxx为冲突文件全路径)
- 执行gitrebase --continue
- 执行gitpull --rebase
- 执行gitpush
六、gitLab和gitHub
- git是一种版本控制系统,是一个命令,是一种工具;
- gitlab 是一个基于git实现的在线代码仓库软件,你可以用gitlab自己搭建一个类似于github一样的系统,一般用于在企业、学校等内部网络搭建git私服, 如公司的RDC;
- github是一个基于git实现的在线代码仓库,包含一个网站界面,向互联网开放;
七、相关网站
git工具使用说明的更多相关文章
- Atitit.项目修改补丁打包工具 使用说明
Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...
- Map工具系列-03-代码生成BySQl工具使用说明
所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...
- Visual C++内存泄露检测—VLD工具使用说明[转]
Visual C++内存泄露检测—VLD工具使用说明 一. VLD工具概述 Visual Leak Detector(VLD)是一款用于Visual C++的免费的内存泄露检测工具.他的 ...
- 【转】第 02 天:在 Windows 平台必裝的三套 Git 工具
原文网址:https://github.com/doggy8088/Learn-Git-in-30-days/blob/master/docs/02%20%E5%9C%A8%20Windows%20% ...
- windows中使用Git工具连接GitHub(配置篇)
Git在源码管理领域目前占很大的比重了,而且开源的项目很多都转到GitHub上面了.例如:jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js, ...
- Git详解之六 Git工具(转)
Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力. 接下来你 ...
- git 简易使用说明
背景 代码用git管理,所以需要大家熟悉git工具的一些操作 目前我们自动化在develop分支上进行编写 前言 安装git,https://git-scm.com/ 可视化工具推荐,sourcetr ...
- Git详解之六:Git工具
Git 工具 现在,你已经学习了管理或者维护 Git 仓库,实现代码控制所需的大多数日常命令和工作流程.你已经完成了跟踪和提交文件的基本任务,并且发挥了暂存区和轻量级的特性分支及合并的威力.(伯乐在线 ...
- 使用git工具将项目上传到github
注册github账号 https://github.com/ 安装git工具: https://git-for-windows.github.io/ 上面的准备工作完成后,现在开始操作. 一.进入gi ...
随机推荐
- 使用SimHash进行海量文本去重[转载]
阅读目录 1. SimHash与传统hash函数的区别 2. SimHash算法思想 3. SimHash流程实现 4. SimHash签名距离计算 5. SimHash存储和索引 6. SimHas ...
- xml序列化和反序列化(一)
最近项目中需要调用第三方webservice,入参和出参采用xml格式,大致如下: 入参: <?xml version="1.0" encoding="utf-8& ...
- Springboot+JPA+Thymeleaf 校园博客完整小网站
本文所属[知识林]:http://www.zslin.com/web/article/detail/35 此项目是一个比较简易的校园博客.麻雀虽小五脏俱全,虽然是比较简易的但是涉及的知识点还是比较全面 ...
- 任务调度--使用java.util.Timer实现
任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务. 举个例子,比如说我们希望一个系统每周日晚上9点都将数据库文件备份一次,这时我们就可以使用任务调度来实现.为了更加的方便,我们需要 ...
- PHP引用符&的用法举例
php的引用就是在变量或者函数.对象等前面加上&符号.在PHP 中引用的意思是:不同的名字访问同一个变量内容.与C语言中的指针是有差别的,C语言中的指针里面存储的是变量的内容在内存中存放的地址 ...
- MFC学习笔记_关于CSpinButtonCtrl
CSpinButtonCtrl使用起来比较特殊,使用起来,需要注意一些地方.实际的教程也比较少.为了让后人少走弯路,这里写这篇文章以说明.1.添加EDIT控件2.添加Spin控件如果不是这样的顺序的话 ...
- 在线数据库表(sql语句)生成java实体类工具
相信每个做java开发的读者,都接触过SQL建表语句,尤其是在项目开发初期,因为数据库是项目的基石. 在现代项目开发中,出现了许多ORM框架,通过简单的实体映射,即可实现与数据库的交互,然而我们最初设 ...
- Python数据结构应用1——Stack
Reference: Problem Solving with Algorithms and Data Structures, Release 3.0 自学一下数据结构,学完之后刷leetcode,使 ...
- 蓝鲸 CTF web——密码泄露
今天才知道还有蓝鲸安全这个平台,又涨了一点知识,我来分享一下个人的解题思路以及感受,希望能够帮助到那些需要的人 (我想把每一步都写下来,因为我还是萌新,所以我知道有可能会因为一步的不会导致所有都不会的 ...
- SVM分类器实现实例
我正在做一个关于SVM的小项目,在我执行验证SVM训练后的模型的时候,得到的report分数总是很高,无论是召回率(查全率).精准度.还是f1-score都很高: 图1 分类器分数report 但是, ...