Git——版本控制器概述
一、版本控制
版本控制(Revision contontrol)是一种在开发过程中用于管理修改历史,方便查看更改历史记录,备份以便恢复以前版本的软件工程的技术。
1.实现跨区域多人协同开发
2.追踪和记载一个或者多个文件的历史记录
3.组织和保护你的源代码和文档
4.统计工作量
5.并行开发,提高效率
6.跟踪记录整个软件的开发过程
7.减轻开发人员的负担,节省时间,同时降低人为错误
用于管理多人协同开发项目的技术
常见的版本控制工具
1.Git
2.SVN(Subversion)
3.CVS(Concurrent Versions System)
4.VSS(Micorosoft Visual SourceSafe)
5.TFS(Team Foundation Server)
6.Visual Studio Online
本地版本控制
记录每次更新,可以对每个版本做一个快照,或是记录补丁文件
集中版本控制 SVN
所有数据保存到服务器上,协同开发者从服务器上同步更新或者上传自己的修改
分布式版本控制 Git
所有的版本信息仓库全部同步到本地的每个用户,每个人都拥有全部的代码
Git与SVN最主要的区别
SVN版本库用的中英服务器,使用时需要从中央服务器获得最新版本,然后工作,完成工作后把自己做完的工作推送到中央服务器。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑都是一个完整的版本库,工作的时候不需要联网。
Git是目前世界上最先进的分布式版本控制系统
二、安装Git
1.Git界面
1)Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
2)Git CMD:Windows风格的命令行
3)Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
2.Git配置
Git相关配置文件
1)git config --system --list 系统级
Git\etc\gitconfig
2)git config --global --list 全局
C:\Users\Administratpr\.gitconfig
设置用户名和邮箱(必要的)
1)git config --global user.name "username" 用户名
2)git config --global user.email xxxxxxx@xx.com 邮箱
环境变量只是为了全局使用,安装时会自动配置
三、Git基本理论(核心)
1.工作区域
工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository 或 Git Directory)。
如果再加上远程的git仓库(Remote Directory)就可以分为四个工作区域。
1)Workspace:工作区,平时存放项目代码的地方。
2)Index/Stage:暂存区,用于临时存放变动,事实上只是一个文件,保存即将提交到文件列表的信息。
3)Repository:仓库区(或本地仓库),安全存放数据的位置,这里面有提交的所有版本的数据。其中HEAD指向最新放入仓库的版本。
4)Remote:远程仓库,托管代码的服务器,可以简单地认为是项目中用于数据交换的一台电脑。
ref:refs/heads/master 主分支
git的工作流程:
1)在目录添加、修改文件;
2)将需要进行版本管理的文件放入暂存区域; git add
3)将暂存区域的文件提交到git仓库
git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)
2.Git命令
上传
1)暂存命令:git add 提交到暂存区
2)提交命令:git commit -m 提交暂存区的东西到本地仓库
搭建本地仓库
3)Git初始化:git init
克隆远程仓库
4)Git项目克隆:git clone [url]
查看文件状态
5)查询所有文件信息:git status
6)查询指定文件信息:git status [文件名]
3.忽略文件
在主目录下建立“.gitignore”文件,此文件有以下规则
1)忽略文件中的空行或以#开头的行将会被忽略
2)可以使用Linux通配符,例如星号(*)代表任意多个字符,问号(?)代表一个字符,方括号[abc]代表可选字符范围,
大括号({string1,string2})代表可选字符串。
3)如果名称最前面有一个感叹号(!),表示例外规则,不被忽略。
4)如果名称的前面是一个路径分隔符(/),表示要忽略此目录下的文件,而子目录不被忽略。
5)如果名称的后面是一个路径分隔符(/),表示要忽略此目录下的该名称的子目录,而非文件。
四、Gitee码云安装及使用
1.注册gitee、github账号
2.设置本机绑定的SSH公钥,实现免密码登录!(免密码登录很重要)
公钥设置:进入c:\User\Adnubstrator\.ssh 目录
ssh-keygen :生成公钥
3.将公钥信息public key 添加到码云账户中即可
4.使用码云创建一个自己的仓库
五、IDEA集成Git
1.新建项目,绑定git
将我们远程的git文件目录拷贝到项目中即可
2.修改文件,使用IDEA操作git
3.提交测试
六、Git分支常用指令
1.列出所有本地分支
git branch
2.列出所有远程分支
git branch -r
3.新建一个分支,但依然停留在当前分支
git branch [branch-name]
4.新建一个分支,并切换到该分支
git checkout -b [branch]
5.合并指定分支到当前分支
git merge [branch]
6.删除分支
git branch -d [branch-name]
7.删除远程分支
git push origin --delete [branch-name] git branch -dr [remote/branch]
Git——版本控制器概述的更多相关文章
- 新手向--git版本控制器
body { width: 70%; border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto } body .mar ...
- 使用git版本控制器C#工程,git托管到GitHub和visual studio on line
类比TFS, 托管到了VS online,为私有.GitHub上托管的代码为开源. 新建工程选择版本控制器"Git" VS online: 本地: GitHub,下载github ...
- 介绍Git版本控制器的使用
Git 简介 Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一). 1.那什么是版本控制器呢? 举个简单的例子,比如我们用Word写文章,那你 ...
- 【原创】Git版本控制器的基本使用
关于git Git,是一个分布式版本控制软件.最初本是为了更好的管理Linux内核开发而被林纳斯·托瓦兹开发,后来因为项目开发中版本控制的强烈需求,而git也日趋成熟,最终成为了一个独立的版本控制软件 ...
- Git版本控制器的使用
首先介绍一下什么是Git:git是目前最流行的版本控制系统,属于分布式版本控制器. 使用Git前先要在GitHub创建代码仓库,或者获取你要应用的GitHub的链接地址. 创建GitHub仓库这里就不 ...
- Git版本控制器使用总结性梳理
Git为何物?Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一).1)那什么是版本控制器?举个简单的例子,比如我们用Word写文章,那你一定有 ...
- git版本控制器
Git 是一个开源的分布式版本控制系统 Google用于android 源代码的管理就是Git, 它支持离线工作, 本地提交可以稍后提交到服务器上. 众多的开源项目都使用 Git 作为版本控制系统 ...
- git - 版本控制器(本地仓库)
本地创建仓库,然后进行管理.提交到本地仓库(不需要网络),提交到远程仓库(需要网络) 相对于svn为克隆方式,赋值的是整个仓库,svn只是复制的代码. 1.电脑新创建一个”本地仓库”空文件夹 2. ...
- Git分布式版本控制器使用
前言: 使用Git版本控制器差不多有一年多的时间了,在这一年多的时间里对这个传说的的分布式版本控制工具有了一定的了解.在实战项目开发中,对关于如何在通过Git提交项目,以及如何使用Git命令对提交的文 ...
随机推荐
- golang中的GOPATH使用和简单项目配置
GOPATH 是 Go 语言的工作目录,他的值可以是一个目录路径,也可以是多个目录路径,每个目录都代表 go 语言的一个工作区. 我们开发 Golang 项目时,需要依赖一些别的代码包,这些包的存放路 ...
- Linux深入探索04-Bash shell
----- 最近更新[2021-12-30]----- 本文目录结构预览: 一.简介 二.shell 变量 1.查看变量 2.变量类型 3.变量操作 4.系统常见的全局变量 三.shell 选项 1. ...
- Nginx命令(全局配置文件与模块)
目录 一:Nginx命令 二:Nginx全局配置文件 1.nginx全局配置 2.过滤出Nginx 三:Nginx网址模块(解析) 一:Nginx命令 1.-v : 打印版本号 [root@web01 ...
- Go语言切片一网打尽,别和Java语法傻傻分不清楚
前言 我总想着搞清楚,什么样的技术文章才算是好的文章呢?因为写一篇今后自己还愿意阅读的文章并不容易,暂时只能以此为目标努力. 最近开始用Go刷一些题,遇到了一些切片相关的细节问题,这里做一些总结.切片 ...
- 1.kafka
什么是Kafka 1.Apache Kafka是一个开源消息系统,由Scala写成. 2.Kafka是一个分布式消息队列.Kafka对消息保存时根据Topic进行归类,发送消息者称为Producer ...
- Vue+webpack配置实现多页面应用开发
为什么要配置多页面开发? · 由于单页面应用不利于SEO,对于某些资讯类网站不够友好,而多页面则能够更优的解决此问题. · 传统的多页面开发模式(如java的jsp等) 前后端耦合性大,开发效率低,代 ...
- Spring源码-IOC部分-Bean实例化过程【5】
实验环境:spring-framework-5.0.2.jdk8.gradle4.3.1 Spring源码-IOC部分-容器简介[1] Spring源码-IOC部分-容器初始化过程[2] Spring ...
- CNN-卷积神经网络简单入门(1)
卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习 ...
- 使用Xamarin开发移动应用示例——数独游戏(七)添加新游戏
项目代码可以从Github下载:https://github.com/zhenl/ZL.Shudu .代码随项目进度更新. 现在我们增加添加新游戏的功能,创建一个页面,编辑初始局面,并保存到数据库. ...
- 如何将EDI报文转换为CSV格式文件?
如果您对EDI项目实施有一定的了解,想必您一定知道,在正式开始EDI项目实施之前,都会有EDI顾问与您接洽,沟通EDI项目需求.其中,会包含EDI通信双方使用哪种传输协议,传输的报文是符合什么标准的, ...