版本控制工具应该具备的功能?

协同修改

  多人并行不悖的修改服务器端的同一个文件。

数据备份

  不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。

版本管理

  在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。

  这方面 SVN 采用的是增量式管理的方式,而 Git 采取了文件系统快照的方式。

权限控制

  对团队中参与开发的人员进行权限控制。

  对团队外开发者贡献的代码进行审核——Git 独有。

历史记录

  查看修改人、修改时间、修改内容、日志信息。

  将本地文件恢复到某一个历史状态。

分支管理

  允许开发团队在工作过程中多条生产线同时推进任务,进一步提高效率


版本控制简介

版本控制

  工程设计领域中使用版本控制管理工程蓝图的设计过程。

  在 IT 开发过程中也可以使用版本控制思想管理代码的版本迭代。

版本控制工具

  思想:版本控制

  实现:版本控制工具


回顾Linux基本指令:

- 切换当前的工作路径 cd

cd 绝对路径
cd 从当前路径访问的某一下级目录
cd .. 【回退上一级目录】

如果像这样带有空格的目录,使用斜杠进行转义处理

- 显示当前的绝对路径

pwd

【但是这个GIT终端自动提供了绝对路径显示,所以这个命令显的很鸡肋了】

- 清空控制台消息 clear

clear

- 查看历史命令记录

history

查看最近使用的命令,参数数字表示最近的个数限制

history 数字

- 展示当前目录的所有项

dir
ll
ls

使用DIR

使用LL

使用LS

- 创建文件

touch 文件名

- 创建目录

mkdir 目录名

- 删除文件或者目录

rm -rf 文件名或者目录名

- 查看帮助手册【全是英文看了也没用】

help

【在Windows上写Linux命令,这感觉真奇妙】

但是有一点值得注意,就是如果我们支持了Linux的命令,

也就意味着可以像Linux一样解压那些只有在Linux才可以被访问的压缩文件或者包文件

或者运行。。。


Git 原理概念:

- 工作区:【Working Directory】

- 暂存区:【Stage / Index】

- 版本库:【Repository Git Directory】

仓库搭建:

- 搭建本地仓库:

git init 

或者指定一个目录位置进行仓库初始化

但是默认是D盘这个仓库为一个主分支

【如果你不喜欢放在这里的仓库,你完全可以删除掉】

在这个初始化的仓库中不会显示初始化内容

可以点击资源管理器的【查看】

然后点击【隐藏的项目】,就会发现一个.git的隐藏文件

里面是关于这个仓库的一些配置信息

第二种方式是使用克隆,下载远程仓库到本地

git clone [url]

文件的4中状态:

- 1、Untracked 未跟踪

- 2、Unmodify 未被修改

- 3、Modified 文件已修改

- 4、Staged 暂存状态

上传仓库:

git add 文件名或者目录 【添加至暂存区】
git commit       【把暂存区文件提交版本区,本地库】
git push        【把本地库的文件通过协议传输至远程仓库】

我先放入了一个装有文件的目录

执行添加所有操作

这个仓库目录下所有的东西都会被添加到暂存区

这些文件会被标识成绿色的状态

git add . 添加所有文件

这时我们再新创建一个文件,再次查看状态时

就会发现新的文件是红色标识的,这表示没有被添加的文件,未跟踪的状态

执行commit,添加到本地仓库

记住使用-m添加提交信息

git commit -m 提交信息

再次查看状态,发现被添加的文件全部提交到了本地仓库

为被跟踪的文件不会被提交


文件忽略选择

一些文件我们不希望被git上传

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。

  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。

  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。

  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。

  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。

#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

【Git】介绍与概述的更多相关文章

  1. Git介绍及常用操作演示(一)--技术流ken

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  2. 第七章 : Git 介绍 (上)[Learn Android Studio 汉化教程]

    Learn Android Studio 汉化教程 [翻译]Git介绍 Git版本控制系统(VCS)快速成为Android应用程序开发以及常规的软件编程领域内的事实标准.有别于需要中心服务器支持的早期 ...

  3. 【转】Git介绍

    版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3. ...

  4. git介绍和常用指令

    Git介绍和常用指令 介绍:Git和SVN一样都是版本控制工具.不同的是Git是分布式的,SVN是集中式的.Git开始用可能感觉难点,等你用习惯了你就会觉得svn是有点恐怖.(如果一个项目有好多人一起 ...

  5. git介绍及安装

    git介绍 git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目.git是linus Torvalds为了帮助管理Linux内核开发的一个开放源码的版本控制软件. Git 与常用 ...

  6. CI 知识 :Git介绍及常用操作

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  7. Git介绍与简易搭建

    Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...

  8. Git介绍、安装、命令和实战

    一.Git介绍 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 二.Git安装(Mac系统) 在Git官网下载安装包双击直接安装 在终端输入git来检测Git ...

  9. HINOC2.0标准介绍(1):概述

    本文首发于'瀚诺观察'微信公众号 摘要: 2016年3月18日,国家新闻出版广电总局批准发布了行业标准GY/T 297-2016<NGB宽带接入系统HINOC2.0物理层和媒体接入控制层技术规范 ...

  10. git介绍-常用操作(一)

    Table of Contents 1  系列文章 2  git说明 3  git常用命令 3.1  基本操作 3.2  远程操作 4  查看git的配置 4.1  查看已配置项 4.2  其他配置 ...

随机推荐

  1. margin的用法 清除默认样式 display属性值 块状元素 内联元素 行内块元素

    margin的用法: 1,margin是在元素的宽高以外的 2,作用:控制元素之间的位置关系 3,margin不能改变盒子本身大小的 4,单一一个方向设置margin值: margin-left    ...

  2. INFINI Labs 产品更新 | Easysearch 支持 SQL 查询、Console 告警功能支持邮件等多渠道

    INFINI Labs 产品又更新啦~.本次更新概要如下:Easysearch 新增 SQL 插件和JDBC 驱动,支持 SQL 查询,支持 SQL 常用函数等:Console 针对告警功能做了升级优 ...

  3. Spring Data JPA 学习笔记1 - JPA与Spring Data

    标记[跳过]的未来完善 1 理解JPA 1.1 什么是持久化? 当一个软件关闭的时候,软件内储存的状态数据还能在下次开启时被恢复,这就是持久化.对象持久化是指每个独立的对象的生命周期都能不依赖应用程序 ...

  4. Vue学习:13.生命周期综合

    0基础如何进入IT行业? 简介:对于没有任何相关背景知识的人来说,如何才能成功进入IT行业?是否有一些特定的方法或技巧可以帮助他们实现这一目标? 方向一:学习路径 明确兴趣和目标:首先确定你对IT领域 ...

  5. 地铁查询app 结对作业三

    经过今天一下午的奋斗 安卓app 只剩下最难的部分了 最短路径问题 我们考虑用迪杰斯特拉算法 不过 没有做出来 还要继续去学习一下这个代码 并寻求网上代码的帮助

  6. 每天打卡一小时 第三十一天 PTA520钻石 争霸赛

    第一题 源代码 #include<iostream> using namespace std; int main() { int n; cin>>n; cout<< ...

  7. cuda性能优化-2.访存优化

    简介 在CUDA程序中, 访存优化个人认为是最重要的优化项. 往往kernel会卡在数据传输而不是计算上, 为了最大限度利用GPU的计算能力, 我们需要根据GPU硬件架构对kernel访存进行合理的编 ...

  8. 【解决方案】Java 互联网项目中消息通知系统的设计与实现(上)

    目录 前言 一.需求分析 1.1发送通知 1.2撤回通知 1.3通知消息数 1.4通知消息列表 二.数据模型设计 2.1概念模型 2.2逻辑模型 三.关键流程设计 本篇小结 前言 消息通知系统(not ...

  9. 实训day2

    HTML基本介绍 编辑网页的语言,超文本标记语言,是迄今为止网络上应用最为广泛的语言,也是抱成网页文档的主要语言.HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字.图形.动画.声 ...

  10. 嵌入式编程的 4 种模型:轮询、中断、DMA、通道

    轮询方式 对I/O设备的程序轮询的方式,是早期的计算机系统对I/O设备的一种管理方式.它定时对各种设备轮流询问一遍有无处理要求.轮流询问之后,有要求的,则加以处理.在处理I/O设备的要求之后,处理机返 ...