Git使用指导
Git使用指导
目录结构:
---------------------------------------分割线:正文--------------------------------------------------------
一、版本控制
1、版本控制:
版本迭代,版本管理器
2、作用:
多人协同开发、追踪和记载历史记录、组织和包含源代码和文档、统计工作量、并行开发提高效率、跟踪记录开发过程、减轻开发人员负担节省时间。
3、常用版本控制工具:
GIt、SVN、CVS、VSS、TFS等
3、版本控制的分类:
本地版本控制:本地版本管理
集中版本控制:所有的版本数据都保存在服务器早上,协同开发者从服务器上同步更新或上传自己的修改
分布式版本控制:所有的版本信息仓库都同步的本地的每个用户:每个人都拥有全部的代码
4、Git与svn的区别
即集中版本控制SVN与分布式版本控制的区别Git的区别,Git是目前世界上最先进的分布式版本控制系统。
二、Git的历史
1、Git之父
GIt之父即Linux之父:Liuns Torvalds(1969,芬兰)
2、历史
1991-2002年,BitKeeper商业公司来管理和维护代码
Liunx Torvalds两周开发出Git,并且免费使用,用于Liunx的开发
三、Git环境配置
1、Git官网:
https://git-scm.com/
根据不同的系统下载:windows/Liunx/Mac,速度慢时找镜像的下载
2、git卸载与安装:
卸载时最好清除对应的path系统环境变量:卸载与安装均为无脑操作。

3、Git菜单
Git安装完成后开始菜单有如下三个选项:
Git Bash:Unix与Liunx风格的命令行,使用最多,推荐使用
GIt CMD:Windows风格的命令行
Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉命令
4、Git配置:
(1)查看配置:git config -l
(2)查看系统配置:git config --system --list
(3)查看本地配置:git config --global -l
(4)配置用户名:git config --global user.name "mrwhite"
(5)配置邮箱:git config --global user.email 114558020@qq.com
四、GIt基本理论(核心)
1、工作区域
(1)工作区(Working Directory):平时存放代码的地方
(2)暂存区(Stage/Index):用户临时存放你的改动的文件
(3)资源库(Repository/Git Directory):就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
(4)远程仓库(Remote):一般为代码托管的服务器,如Github或Gitee


Directory:使用Git管理的一个目录,也就是一个仓库,包含我们的工作空间和Git的管理空间。
WorkSpace:需要通过Git进行版本控制的目录和文件,这些目录和文件组成了工作空间。
.git:存放Git管理信息的目录,初始化仓库的时候自动创建。
Index/Stage:暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。
Local Repo:本地仓库,一个存放在本地的版本库;HEAD会只是当前的开发分支(branch)。
Stash:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。
2、Git工作流程:
(1)在工作目录中添加、修改文件
(2)将需要进行版本管理的文件放入暂存区域:git add
(3)将暂存区的文件提交到git仓库:git commit
(4)将提交的内容推送到远程仓库:git push
因此,git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(commit)
五、GIt项目构建
本地仓库的搭建:核心6条命令

(1)初始化当前项目:
git init
(2)克隆远程仓库到本地
git clone git@github.com:bigwhite2020/bigwhite2020.git
六、GIt文件操作
1、查看文件状态
git status
2、添加文件至暂存区
git add .
3、提交暂存区内容至本地仓库
git commit -m "new file helloworld"
4、忽略文件操作
.gitignore文件可以定义要忽略的文件
过滤文件夹: /build/
过滤某种类型的文件: *.tmp
过滤某各文件: /Build/Products/test.app
!开头表示不过滤: !*.c , !/dir/subdir/
支持通配符: *.[oa] 过滤repo中所有以.o或者.a为扩展名的文件
七、使用码云/GitHub
1、github有墙,国内建议使用gitee,公司搭建一般使用gitlab服务器
2、码云的使用:
(1)网址:https://gitee.com/
(2)设置本机SSH公钥并注册,实现免密登录
码云->设置->SSH公钥->添加公钥->参考帮忙文档:https://gitee.com/help/articles/4191
(3)新建仓库

(4)git clone远程仓库到本地:
git clone git@gitee.com:mrwhite2021/gitstudy.git

八、IDEA中集成Git
参考以下章节:https://www.cnblogs.com/mrwhite2020/p/14727599.html
九、Git分支
1、git类似与科幻电影中的平行宇宙,互不干扰,如果两个平行宇宙重合,需要解决其中可能出现的冲突
2、分支常用命令:
(1)查看分支:
git branch
(2)查看远程分支:
git branch -r
(3)新建分支:(但依旧停留在master分支)
git branch dev

(4)切换分支:
git checkout dev
(5)新建并切换分支:
git checkout -b dev
(6)删除分支,不能在当前分支下:
git branch -d dev
(7)合并分支到当前分支
git merge dev
(8)删除远程分支
git push origin --delete dev
git branch -dr dev
(9)解决合并分支时冲突,选择保留的代码并重新合并
Git使用指导的更多相关文章
- 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!
本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...
- git-svn 简易 操作指南
git-svn 简易 操作指南 本文用以为使用svn的用户提供git操作指导,方便使用git管理用户自己的 本地修改 1:下载 库 下载全部历史记录 git svn clone svn://fhnws ...
- 多本地代码工作点更新到2个远端GIT仓库
摘要:本文介绍了笔者多个本地工作节点(地方)的多台电脑(PC/笔记本电脑)同步源码到2个远端的GIT(一个GITHUB国外强制公开,一个oschina国内可不公开). 作者:太初 转载说明:请指明原作 ...
- 记录一次bug解决过程:git深入学习和JDK8新特性
一 总结 熟悉廖雪峰git基础; 由于git跟踪的是修改,而不是版本号:因此对于修改撤销的操作,文件在eclipse中依旧有>修改标记,这点不同于svn. 二 BUG描述:熟悉Git基础 在Gi ...
- Git本地服务器搭建及使用详解
Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Linux(CentOs6.4)安装Git
安装之前我们先来了解下git,并且要反问下:我为什么要使用git?svn用的不是很好嘛,我干嘛要换?... 问1:为什么需要版本控制系统? 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订 ...
- Ubuntu Git 入门
参考自 码农生涯 中大熊猫 hustpzb的专栏 1 在github创建账号--创建repository 2 创建后网页会出现提示,指导如何使用 3 安装git sudo apt-get instal ...
- 方便的一站式svn/git服务器软件(linux)
https://www.scm-manager.org/ The easiest way to share and manage your Git, Mercurial and Subversion ...
随机推荐
- 如何快速的插入 100W数据到数据库,使用PreparedStatement 最快实现!
有时候,我们使用数据库的时候,如何快速的添加测试数据到数据库中,做测试呢,添加100W 数据,如果使用工具的话可能很慢,这里我推荐大家使用 PreparedStatement 预编译 去进行操作:单线 ...
- vue+vuex 修复数据更新页面没有渲染问题
不解: 为什么在关闭开关后,已经将data里的属性和vuex属性初始化后,页面就是不响应??? 问题: 由于切换路由后,获取到vuex的数据在created中赋值到data相对应的属性中,在关闭开关后 ...
- Redis 通过 RDB 方式进行数据备份与还原
Redis 通过 RDB 方式进行数据备份与还原 Intro 有的时候我们需要对 Redis 的数据进行迁移,今天介绍一下通过 RDB(快照)文件进行 Redis 数据的备份和还原 Redis 持久化 ...
- Banner信息扫描
Banner信息扫描 Banner一般用于表示对用户的欢迎,但其中可能包含敏感信息.获取Banner也属于信息搜索的范畴.在渗透测试中,典型的4xx.5xx信息泄露就属于Banner泄露的一种.在Ba ...
- POJ_2533 Longest Ordered Subsequence 【LIS】
一.题目 Longest Ordered Subsequence 二.分析 动态规划里的经典问题.重在DP思维. 如果用最原始的DP思想做,状态转移方程为$DP[i] = max(DP[j] + 1) ...
- 数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳
互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需要我来考虑,虽然我们没 ...
- Python-jet后台管理的使用
python-django-jet库的使用 1.安装 pip install django-jet 2.配置 将'jet'应用添加到你的Django项目的设置文件settings.py中的INSTAL ...
- 《Selenium自动化测试实战:基于Python》Selenium自动化测试框架入门
第1章 Selenium自动化测试框架入门 1.1 Selenium自动化测试框架概述 说到目前流行的自动化测试工具,相信只要做过软件测试相关工作,就一定听说过Selenium. 图1-1是某企业 ...
- MySQL深入研究--学习总结(5)
前言 接上文,继续学习后续章节.细心的同学已经发现,我整理的并不一定是作者讲的内容,更多是结合自己的理解,加以阐述,所以建议结合原文一起理解. 第20章<幻读是什么,幻读有什么问题?> 先 ...
- 6、Spring教程之自动装配
自动装配说明 自动装配是使用spring满足bean依赖的一种方法 spring会在应用上下文中为某个bean寻找其依赖的bean. Spring中bean有三种装配机制,分别是: 在xml中显式配置 ...