【Git】介绍与概述
版本控制工具应该具备的功能?
协同修改
多人并行不悖的修改服务器端的同一个文件。
数据备份
不仅保存目录和文件的当前状态,还能够保存每一个提交过的历史状态。
版本管理
在保存每一个版本的文件信息的时候要做到不保存重复数据,以节约存储空间,提高运行效率。
这方面 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"文件,此文件有如下规则:
忽略文件中的空行或以井号(#)开始的行将会被忽略。
可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,...})代表可选的字符串等。
如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
#为注释
*.txt #忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt #但lib.txt除外
/temp #仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/ #忽略build/目录下的所有文件
doc/*.txt #会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
【Git】介绍与概述的更多相关文章
- Git介绍及常用操作演示(一)--技术流ken
Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...
- 第七章 : Git 介绍 (上)[Learn Android Studio 汉化教程]
Learn Android Studio 汉化教程 [翻译]Git介绍 Git版本控制系统(VCS)快速成为Android应用程序开发以及常规的软件编程领域内的事实标准.有别于需要中心服务器支持的早期 ...
- 【转】Git介绍
版本控制 说到版本控制,脑海里总会浮现大学毕业是写毕业论文的场景,你电脑上的毕业论文一定出现过这番景象! 毕业论文_初稿.doc 毕业论文_修改1.doc 毕业论文_修改2.doc 毕业论文_修改3. ...
- git介绍和常用指令
Git介绍和常用指令 介绍:Git和SVN一样都是版本控制工具.不同的是Git是分布式的,SVN是集中式的.Git开始用可能感觉难点,等你用习惯了你就会觉得svn是有点恐怖.(如果一个项目有好多人一起 ...
- git介绍及安装
git介绍 git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何或大或小的项目.git是linus Torvalds为了帮助管理Linux内核开发的一个开放源码的版本控制软件. Git 与常用 ...
- CI 知识 :Git介绍及常用操作
Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...
- Git介绍与简易搭建
Git介绍 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速的处理从很小到非常大的项目版本管理. Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发 ...
- Git介绍、安装、命令和实战
一.Git介绍 Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. 二.Git安装(Mac系统) 在Git官网下载安装包双击直接安装 在终端输入git来检测Git ...
- HINOC2.0标准介绍(1):概述
本文首发于'瀚诺观察'微信公众号 摘要: 2016年3月18日,国家新闻出版广电总局批准发布了行业标准GY/T 297-2016<NGB宽带接入系统HINOC2.0物理层和媒体接入控制层技术规范 ...
- git介绍-常用操作(一)
Table of Contents 1 系列文章 2 git说明 3 git常用命令 3.1 基本操作 3.2 远程操作 4 查看git的配置 4.1 查看已配置项 4.2 其他配置 ...
随机推荐
- 使用Visual Studio分析.NET Dump
前言 内存泄漏和高CPU使用率是在日常开发中经常遇到的问题,它们可能会导致应用程序性能下降甚至崩溃.今天我们来讲讲如何使用Visual Studio 2022分析.NET Dump,快速找到程序内存泄 ...
- vue导航固定 吸顶效果
吸顶效果 如何得到滚动条滚动的距离,document.documentElement.scrollTop 通过onscroll事件来完成滚动事件监听,达到吸顶值后,进行样式更换
- 快速监控 Oracle 数据库
Oracle 数据库在行业内应用广泛,通常存放的非常重要的数据,监控是必不可少的,本文使用 Cprobe 采集 Oracle 监控数据,极致简单,分享给大家. 安装配置 Oracle 简单起见,我使用 ...
- 《Android开发卷——自定义日期选择器(一)》
(小米手机) (中兴手机) 在实际开发中,Google官方提供的时间选择器API已经不能满足于我们的需要了,所以很多公司都是采用自定义的形式来实现日期选择器. 这个例子很简单,定义三个NumberPi ...
- leetcode_2-两数相加_javascript
题目 2.两数相加 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新 ...
- 面试官:谈谈对SpringAI的理解?
Spring AI 已经发布了好长时间了,目前已经更新到 1.0 版本了,所以身为 Java 程序员的你,如果还对 Spring AI 一点都不了解的话,那就有点太落伍了. 言归正传,那什么是 Spr ...
- 增补博客 第二篇 python 谢宾斯基三角型字符分形图形输出
SIZE = int(input())# 输入分割次数 SIZE = SIZE<<3 # 将分割次数转为次数 y = SIZE - 1 # 用来控制列数 while y>=0: fo ...
- FinalReference 如何使 GC 过程变得拖拖拉拉
本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC. 提示: 为了方便大家索引,特将在上篇文章 <以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的> 中讨 ...
- 使用 TensorRT C++ API 调用GPU加速部署 YOLOv10 实现 500FPS 推理速度——快到飞起!!
NVIDIA TensorRT 是一款用于高性能深度学习推理的 SDK,包含深度学习推理优化器和运行时,可为推理应用程序提供低延迟和高吞吐量.YOLOv10是清华大学研究人员近期提出的一种实时目标 ...
- Java面试知识点(六)hashmap深度理解
1.hashmap 的数据结构 要知道 hashmap 是什么,首先要搞清楚它的数据结构,在 java 编程语言中,最基本的结构就是两种,一个是数组,另外一个是模拟指针(引用),所有的数据结构都可以用 ...