好家伙,最近准备考试,有点忙

首先从版本控制开始

1.版本控制(版本迭代,新的版本)

如果一个项目由多个人去开发,那么总会需要去管理版本

你更一点,我更一点,一冲突,这个项目就炸了

所以需要版本控制.

可以理解为项目记录自己进化的博客(好烂的比喻)

一句话就是:用于管理多人协作开发项目的技术

多人开发必须使用版本控制

2.分布式管理控制 Git

没有中央服务器,在工作时,每个人的电脑就是一个完整的版本库,

工作时不需要联网,因为版本都在自己的电脑上

同步的方法如下:

我把项目改好了,别人也改好了,直接相互推送.就可以查看对方的修改了

可以直接在git上看到更新了哪些代码和文件

Git是目前最先进的分布式管理系统

3.历史

linux的开发者需要一个版本管理系统,于是就花了两个星期把git写出来了.

4.git安装

4.1.下载太慢可以用淘宝镜像

4.2.记得配置环境变量(配是为了能全局使用,不配其实也问题不到,(用你的鼠标实现全局使用))

5.基本的linux的命令

这个记几个关键的就好了

6.Git基本理论(核心)

Git本地有三个工作区域:工作目录,暂存区,资源区

6.1.工作区(workspace):就平时存代码的地方

6.2.暂存区(index):用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表的信息

6.3.仓库区(local):安全存放数据的位置,这里面有你提交到所有版本的数据,

6.4.远程仓库(remote)托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程安装

6.5.git工作流程一般是这样的

   1.在工作目录中添加.修改文件;

   2.将需要进行版本管理的文件放入暂存区,

   3.将暂存区域的文件提交到Git仓库

所以,Git管理的文件有三种状态:已修改,已暂存,已提交

上妙图:

上秒图:

妙啊

git add .
添加所有文件到暂存区 git commit -m
提交缓存区中的内容到本地仓库 -m 备注上交信息

git status
查看所有文件状态

结束

第四十三篇:Git知识(基本理论)的更多相关文章

  1. Android UI开发第四十三篇——使用Property Animation实现墨迹天气3.0引导界面及动画实现

    前面写过<墨迹天气3.0引导界面及动画实现>,里面完美实现了动画效果,那一篇文章使用的View Animation,这一篇文章使用的Property Animation实现.Propert ...

  2. 第四十三篇、利用NSProxy解决NSTimer内存泄漏问题

    问题描述: 用NSTimer来实现每隔一定时间执行制定的任务,例如最常见的广告轮播图.如果我们在 timerWithTimeInterval:1 target:self 中指定target为当前控制器 ...

  3. Python之路(第四十三篇)线程的生命周期、全局解释器锁

    一.线程的生命周期(新建.就绪.运行.阻塞和死亡) 当线程被创建并启动以后,它既不是一启动就进入执行状态的,也不是一直处于执行状态的,在线程的生命周期中,它要经过新建(new).就绪(Ready).运 ...

  4. 第四十三篇 入门机器学习——Numpy的基本操作——Fancy Indexing

    No.1. 通过索引快速访问向量中的多个元素 No.2. 用索引对应的元素快速生成一个矩阵 No.3. 通过索引从矩阵中快速获取多个元素 No.4. 获取矩阵中感兴趣的行或感兴趣的列,重新组成矩阵 N ...

  5. C++第四十三篇 -- VS2017创建控制台程序勾选MFC类库

    用VS2017创建EXE带MFC类库方法 1. File --> New --> Project 2. Windows桌面向导 3. 勾选MFC类库 4. 创建成功 如果项目编译出错 1. ...

  6. Git知识总览(四) git分支管理之rebase 以及 cherry-pick相关操作

    上篇博客聊了<Git知识总览(三) 分支的创建.删除.切换.合并以及冲突解决>,本篇博客我们主要来看一下 rebase 变基相关的操作.rebase 操作和 merge 操作最终都可以达到 ...

  7. Git知识总览(二) git常用命令概览

    上篇博客我们从 git clone 和 git status 两个命令开始,引出了一系列的git操作命令, 请参见:<Git知识总览(一) 从 git clone 和 git status 谈起 ...

  8. 解剖SQLSERVER 第十三篇 Integers在行压缩和页压缩里的存储格式揭秘(译)

    解剖SQLSERVER 第十三篇    Integers在行压缩和页压缩里的存储格式揭秘(译) http://improve.dk/the-anatomy-of-row-amp-page-compre ...

  9. 【android Studio】零git知识、零脚本命令,即刻体验git版本管理魅力!

    git的优点就不去多说了.阻碍咱新手体验它的唯一问题就是门槛太高,脚本看着像天书, 本文主要阐述的,就是如何在android studio上,也能像tfs那样,非常简单的操作,就能使用git进行版本管 ...

随机推荐

  1. 记录一个奇葩 bug [Failed to decode JSON object: Expecting value: line 1 column 1 (char 0)]

    关于 flask 的一个记录 代码 @auth.login_required @app.route('/add', methods=['POST']) def add(): if request.me ...

  2. C语言学习之我见-strlen()字符串长度函数

    strlen()函数,负责给出字符串的长度.注意是字符串的长度,不是字符数组的长度. (1)函数原型: size_t __cdecl strlen(const char *_Str); (2)头文件` ...

  3. ACM-由数据范围反推算法复杂度以及算法内容

    一般ACM或者笔试题的时间限制是1秒或2秒. 在这种情况下,C++代码中的操作次数控制在 \(10^7\) 为最佳. 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: 数据范围 算法选择 ...

  4. Hexo + VSCode 插入 Markdown 图片解决办法

    最近打开 typora 时发现弹窗强更,不让用 beta 版了 想到自己并不是非常需要 WYSIWYG,而且也不是经常使用 typora,于是直接退回到 VSCode 了,而且在 VSCode 里可以 ...

  5. linux在线安装和配置JDK1.8

    首先在服务器ping www.baidu.com查看是否可以连网 然后就可以在线下载 一.下载安装JDK1.8 1.在下载安装的同时做一些准备工作 我们在usr目录下再创建一个Java文件夹准备放置我 ...

  6. Python:一个闹钟

    随着一个<霍格沃茨:一段校史>风格的大字(呃,这字好像并不大--)标题的出现,无聊的我没事干,又开始整活了~ 之前我做的程序,一个使用了Tkinter库,一个则是Pygame,总之都是带有 ...

  7. java常见的面试题(一)

    1.Collection 和 Collections 有什么区别? Collection 是一个集合接口(集合类的一个顶级接口).它提供了对集合对象进行基本操作的通用接口方法.Collection接口 ...

  8. Linux for CentOS 下的 keepalived 安装与卸载以及相关命令操作之详细教程

    百度百科解释: keepalived 是一个类似于 layer3, 4 & 7 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 7 层交换.Keepalived 的作用是检测 w ...

  9. 使用Kind快速构建k8s

    什么是 KindKind(Kubernetes in Docker) 是一个 Kubernetes 孵化项目,Kind 是一套开箱即用的 Kubernetes 环境搭建方案.顾名思义,就是将 Kube ...

  10. RT-Thread 组件 FinSH 使用时遇到的问题

    一.FinSH 的移植与使用问题 FinSH组件输入无反应的问题 现象:当打开 finsh 组件后,控制台会打相应的信息,如下图说是: \ | / - RT - Thread Operating Sy ...