Git使用指导

目录结构:

一、版本控制

二、Git的历史

三、Git环境配置

四、GIt项目构建

五、Git基本理论

六、GIt文件操作

七、使用码云/GitHub

八、IDEA中继承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使用指导的更多相关文章

  1. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...

  2. git-svn 简易 操作指南

    git-svn 简易 操作指南 本文用以为使用svn的用户提供git操作指导,方便使用git管理用户自己的 本地修改 1:下载 库 下载全部历史记录 git svn clone svn://fhnws ...

  3. 多本地代码工作点更新到2个远端GIT仓库

    摘要:本文介绍了笔者多个本地工作节点(地方)的多台电脑(PC/笔记本电脑)同步源码到2个远端的GIT(一个GITHUB国外强制公开,一个oschina国内可不公开). 作者:太初 转载说明:请指明原作 ...

  4. 记录一次bug解决过程:git深入学习和JDK8新特性

    一 总结 熟悉廖雪峰git基础; 由于git跟踪的是修改,而不是版本号:因此对于修改撤销的操作,文件在eclipse中依旧有>修改标记,这点不同于svn. 二 BUG描述:熟悉Git基础 在Gi ...

  5. Git本地服务器搭建及使用详解

    Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...

  6. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  7. Linux(CentOs6.4)安装Git

    安装之前我们先来了解下git,并且要反问下:我为什么要使用git?svn用的不是很好嘛,我干嘛要换?... 问1:为什么需要版本控制系统? 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订 ...

  8. Ubuntu Git 入门

    参考自 码农生涯 中大熊猫 hustpzb的专栏 1 在github创建账号--创建repository 2 创建后网页会出现提示,指导如何使用 3 安装git sudo apt-get instal ...

  9. 方便的一站式svn/git服务器软件(linux)

    https://www.scm-manager.org/ The easiest way to share and manage your Git, Mercurial and Subversion ...

随机推荐

  1. lambda表达式在python和c++中的异同

    Lambda表达式是干么的?.lambda表达式首先是一个表达式,是一个函数对象一个匿名函数,但不是函数.现在流行语言例如:JS.PHP都支持一种和面向过程.面向对象并列的函数式编程,lambda就是 ...

  2. xscan的安装和使用(作业整理)

    1.将学习通上下载的xscan.rar进行解压. 2.将缺少的.dll文件粘贴到软件解压目录中. 3.点击打开软件. 3.1在运行中除了发现缺少.dll文件的问题,我电脑又出现类似问题, 采取了关闭防 ...

  3. 注册 Amazon Web Services(AWS) 账号,助园一臂之力

    感谢大家去年的大力支持,今年园子继续和 Amazon Web Services(AWS) 合作,只要您通过 博客园专属链接 注册一个账号(建议使用手机4G网络注册),亚马逊就会给园子收入,期待您的支持 ...

  4. 最近没事DIY了个6通道航模遥控器

    在网上买了个外壳,挖空后换成自己的电路版. 开机后图: 液晶屏是320x240的,没有合适的贴纸,直接就这么用了 遥控器的内部电路有点乱哈,没办法,低成本就只能全靠跳线了 还好都能正常工作. 接收器也 ...

  5. 215. 数组中的第K个最大元素 + 快速排序 + 大根堆

    215. 数组中的第K个最大元素 LeetCode-215 另一道类似的第k大元素问题:https://www.cnblogs.com/GarrettWale/p/14386862.html 题目详情 ...

  6. three.js cannon.js物理引擎之齿轮动画

    郭先生今天继续说一说cannon.js物理引擎,并用之前已经学习过的知识实现一个小动画,知识点包括ConvexPolyhedron多边形.Shape几何体.Body刚体.HingeConstraint ...

  7. 免费报表工具 积木报表(JiMuReport)的安装

    分享一b/s报表工具(服务),积木报表(JiMuReport),张代浩大佬出品. 官网:http://www.jimureport.com/ 离线版官方下载:https://github.com/zh ...

  8. 漏洞复现-Bash之一键破壳

        注:使用docker搭建测试环境 (1)访问搭建的环境网址:http://192.168.11.101:8081/ (2)使用burp拦截数据包,并修改User-Agent的内容: (3)使用 ...

  9. Spring 的 IOC

    1. 什么是IOC IOC的好处 IOC的思想是将需要的对象通过外部传入进来,而不是自己创建.这样的设计方式更加灵活.在Spring中对象之间的依赖关系也是由IOC容器来维护(类与类之间的依赖关系,使 ...

  10. Nginx配置静态文件服务从入门到精通

    作者:三十三重天 博客:http://www.zhouhuibo.club 通过学习和分享的过程,将自己工作中的问题和技术总结输出,希望菜鸟和老鸟都能通过自己的文章收获新的知识,并付诸实施. 引言 使 ...