git分布式版本管理系统
Git是分布式版本管理系统
Svn是集中式版本管理系统
git速度快,适合大规模协同开发
什么是分布式版本管理系统
假如有10个人,每个人的代码库都是独立的,自己想进行代码提交回滚都可以,无需链接中央服务器,无需联网,所以git是本地开发还可以链接中央服务器与别人交换信息
Git生态
Git是分布式版本管理系统
Gitlab 是一个git的私有库的解决方案
Github 是git公有库的解决方案
Git的原理
Git有四个区域

本地仓库,暂存区域,工作目录是一个区域,(就是上一部我们创建的目录test)
使用git init以后这个目录就包含了这三个区域
远程仓库就相当于svn的中央仓库
GIT的四种状态
Git如何对版本进行管理?
Git会对它管理的文件打一个标识这个标识就是四种状态(每个标识处于哪种状态)
- Untarcked状态(未被追踪)如果一个文件第一次放到git库的工作目录里那么它叫做未被追踪的文件处于未被追踪的状态(这个文件还没有纳入版本管理)
- staged状态 (以暂存)使用git add 把这个文件推到暂存区域,这个文件也进入了staged状态
- Unmodifile状态 (未被修改)使用 git commit把文件提交到本地仓库,文件也就进入了未被修改的状态(所有文件推送到本地仓库都会变为未被修改的状态)
- Modifile状态(已修改)如果对文件进行了编辑,文件会从为被修改的状态变为已修改的状态已修改的文件会从本地仓库重新拉回到工作目录里文件修改完成在进行提交,形成循环

GIT安装
注意不要使用git1.8以下版本,推荐使用2.7版本
安装依赖
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker
公网下载git
wget https://github.com/git/git/archive/v2.7.4.zip
解压文件
unzip v2.7.4.zip (如果没有unzip需用yum下载)
进入目录
cd git-2.7.
编译安装
make prefix=/usr/local/git all
make prefix=/usr/local/git install
rm -rf /usr/bin/git
ln -s /usr/local/git/bin/git /usr/bin/git
查看版本
git --version
GIT初始化
新建目录
mkdir /root/test
初始化
cd /root/test
git init (初始化之后这个目录就被git的版本控制)
添加版本库的用户信息(就是在提交的时候记录了是谁提交的和他的邮箱)
git config --global user.name "wk" (提交名字)
git config --global user.email xxxxxxxx@.com (提交邮箱)
git config --list (查看提交的信息)
GIT常用命令
git add 加入暂存(索引区)
git status 查看状态
git status-s 状态概览
git diff 尚未暂存的文件
git diff --staged 暂存区文件
git commit 提交更新
git commit -m "first commit" 第一次提交
git reset 回滚 #--soft 缓存区和工作目录都不会被改变 --mixed 默认选项。缓存区和你指定的提交同步,但工作目录不受影响 --hard 缓存区和工作目录都同步到你指定的提交 git rm 从版本库中移除 git rm --cached README 从暂存区中移除 git mv 相当于执行 mv ,git rm ,git add 三个命令
分支管理
正常开发时不能使用master分支,会造成代码提交混乱
创建分支git branch
git branch 分之一
切换分支git checkout
git checkout 分之一
git branch -v (查看信息) git branch -d (删除分支) git checkout (切换分支) git checkout --文件名 撤销 git merge (代码合并)
git merge lianxi (在master上操作合并的是联系的分支) git branch --merge(查看哪些分支已经被合并过来了)
git branch --no-merge (查看没有被合并过来了分支)
Git远程管理
git clone 把远程的代码库拉到本地
git remote -v (查看远程库的地址和库的名字)
git push origin 分之一 (把本地的库推到远程仓库origin是库名分之一是分支名)
git fetch origin 分之一 (把远程的库的下载本地)
git tag (添加标签)
git tag -a v1.0 -m "描述"
git分布式版本管理系统的更多相关文章
- Git ——分布式版本控制系统
Git ——分布式版本控制系统 本人git主页地址:https://github.com/lendoon/test.git git使用心得:初次接触git在课堂上,老师给我们提供了一个代码托管的场所, ...
- g4e基础篇#2 Git分布式版本控制系统的优势
g4e 是 Git for Enterprise Developer的简写,这个系列文章会统一使用g4e作为标识,便于大家查看和搜索. 章节目录 前言 1. 基础篇: 为什么要使用版本控制系统 Git ...
- GIT 分布式版本控制系统的简单使用介绍
GIT 分布式版本控制系统的简单使用介绍 1.GIT的概念Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git 与 SVN 区别:1. GIT不仅仅是个版本控制系统,它 ...
- Git分布式版本控制系统(下)
Git分布式版本控制系统(下) 链接:https://pan.baidu.com/s/1CgaEv12cwfbs5RxcNpxdAg 提取码:fytm 复制这段内容后打开百度网盘手机App,操作更方便 ...
- GIT分布式版本控制系统
Git诞生历史 我想大家还记得Linus torvalds在1991年时发布了Linux操作系统吧,从那以后Linux系统变不断发展壮大,因为Linux系统开源的特性,所以一直接受着来自全球Linux ...
- 手把手教你玩转Git分布式版本控制系统! (转载)
目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 Git诞生历史 ...
- 手把手教你玩转Git分布式版本控制系统!
目录 Git诞生历史 Git环境准备 Git安装部署 Git常用命令 Git基本操作 Git管理分支结构 Git管理标签 GitLab安装部署 GitHub托管服务 Git客户端工具 1 Git诞生历 ...
- 《Linux就该这么学》自学笔记_ch21_使用Git分布式版本控制系统
<Linux就该这么学>自学笔记_ch21_使用Git分布式版本控制系统 文章主要内容: 分布式版本控制系统 使用Git服务程序 提交数据 移除数据 移动数据 历史记录 还原数据 管理标签 ...
- 开发效率优化之Git分布式版本控制系统(一)
阿里P7移动互联网架构师进阶视频(每日更新中)免费学习请点击:https://space.bilibili.com/474380680本篇文章将先从Git分布式版本控制系统来阐述开发效率优化 一,企业 ...
随机推荐
- SQL脚本优化
1.创建索引一.要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引 (1)在经常需要进行检索的字段上创建索引,比如要按照表字段username进行检索,那么就应 ...
- SpringAOP的实现方式
1.使用SpringAPI实现AOP <aop:config> <!-- 切入点:需要操作的目标类中的目标方法 execution中只需要修改全类名 --> <aop:p ...
- Java中的集合(上):概述、Collection集合、List集合及其子类
一.集合的体系结构 二.Collection集合 1.基本使用 如下代码 import java.util.ArrayList; import java.util.Collection; public ...
- URAL 2052 Physical Education(数位DP)
题目链接:https://vjudge.net/contest/254142#problem/G 参考题解:https://blog.csdn.net/zearot/article/details/4 ...
- CloseableHttpClient设置超时
Java开发我们常常需要和第三方系统进行通信,通信的方式有多种,如dubbo方式,webservice,微服务和CloseableHttpClient等方式,常涉及到超时问题,这里主要说的是Close ...
- 05 vue项目01-组件关系、bootstrap
1.django后端项目 1.项目预期 配置前端静态资源 页面展示 2.django项目代码 主url from django.contrib import admin from ...
- 【ArcCatalog】
1.添加文件夹链接文件夹链接的添加删除操作 2.新建/删除数据库(1)新建个人地理数据库(.mdb)(2)新建文本地理数据库(.gdb) 3.新建/删除要素数据集(1)要素数据集属性: 常规--XY坐 ...
- Java数据库小项目00---基础知识
目录 JDBC的简单使用 向JDBC注入攻击 防止注入攻击 自建JDBC工具类 自建工具类优化--使用配置文件 使用数据库连接池优化工具类 JDBC的简单使用 package Test; import ...
- Luogu P2324 [SCOI2005]骑士精神 搜索
刚开始写了个没迭代的...结果过了$qwq$ 然后迭个代..更快了.. #include<cstdio> #include<iostream> #define R regist ...
- ansible-playbook 显示命令返回结果
--- - hosts: test gather_facts: F #开启debug vars: war: "ps -ef | grep tomcat | grep -v grep | aw ...