对git来说,没有消息就是最好的消息

使用 git init 把当前目录变为git仓库

要在仓库里加入文件,先在仓库目录新建这个文件后,比如新建一个文件xiaobai.txt,内容为:

在命令行里输入 git status,出现提示xiaobai为untracked file,即没有加入仓库:

git的工作机制为:

仓库所在的目录文件夹为工作区,但工作区里的文件不一定全都是版本库(repository)里的,版本库里又分为暂缓区stage和另一个区域master,有一个指向master的指针HEAD,代表当前版本库,使用 git add文件名 命令会将新文件或修改的文件加入stage缓存区,每一个文件都要使用一次这个命令!!然后再使用 git commit –m”注释” 命令来一次性把这些改动加入master,注意git commit命令只会把stage中的内容提交,如果在某些文件使用git add命令后,又新建或改动了一些文件(或者二次修改这些已经git add的文件),则使用git commit命令不会把这些后来者加入版本库(已经git add 的文件后来的修改也不会被提交,而提交的是二次修改之前的内容,如果要提交二次修改的内容,则要再次使用git add命令)!每一次有新文件加入master或原有的文件发生改动,就会产生一个新的版本。

把xiaobai.txt加入缓存区(没有消息就是最好的消息):

再使用 git status 查看状态:

提示缓存区内有新文件等待commit到master

使用 git commit –m”new xiaobai” 一次性把缓存区内的东西提交到master:

3 insertions指的是xiaobai里有3行内容

此前版本库中已存在文件akk.txt:

修改其内容:

再使用git status ,提示版本库里的文件被修改:

此时要使用 git add akk.txt 才能加入缓存区stage,使用 git commit –m”some common” 才能写入版本库,形成一个新的版本,若使用
git checkout – akk.txt 会放弃上一部的修改!打开akk.txt,发现又回到了原来的样子:

如果想看akk.txt具体修改了什么内容,则使用git diff “文件名” 命令:

(红色为原来的内容,绿色为修改后的内容)

也可以使用 git diff HEAD – 文件名 查看工作区和版本库里最新版本的区别:

如果修改后文件已使用git add命令加入stage,则使用 git reset HEAD 文件名 命令会使他退出stage:

总之,被修改但没有加入stage的用git
checkout命令会被删除修改,已加入stage的用git reset
HEAD 文件名 命令会被退出stage

使用 git rm 文件名 删除文件(只能删除版本库中的,无法删除工作区的文件):

发现工作区目录中已经没有了xiaobai.txt文件,删除文件后一样要使用git commit命令提交新的版本:

在使用git commit提交新版本之前,git checkout -- 文件名 命令还可以起到恢复文件的作用!(git
checkout其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”)

廖雪峰git教程学习笔记的更多相关文章

  1. 廖雪峰 Git教程学习笔记 原文 http://www.liaoxuefeng.com/

    一 .集中式与分布式        先说集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推 ...

  2. 廖雪峰git教程学习笔记3

    commit是一串不便记忆的数字,为了方便记忆,引入tag,tag就跟HEAD一样,就像一个指针,指向commit,且指向是不能变得,一个commit就有一个tag 给当前分支下的当前commit打上 ...

  3. 廖雪峰git教程学习笔记2

    本地git仓库和github仓库之间的传输是通过SSH加密的,所以: 注册GitHub账号 创建SSH key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id ...

  4. Git-第五篇廖雪峰Git教程学习笔记(4)分支

    1.一开始,只有一个主分支(master),HEAD指向Master,而Master指向主分支.现在我们创建dev分支. lfy@lfy-PC MINGW64 /c/fyliu/lfyTemp/git ...

  5. Git-第四篇廖雪峰Git教程学习笔记(3)远程仓库,克隆远端库

    1.本次连接的是gitHub仓库. 1>创建SSH Key. ssh-keygen -t rsa -C "youremail@example.com" lfy@lfy-PC ...

  6. Git-第三篇廖雪峰Git教程学习笔记(2)回退修改,恢复文件

    1.工作区 C:\fyliu\lfyTemp\gitLocalRepository\yangjie 2.版本库 我们使用git init命令创建的.git就是我们的版本库.Git的版本库里存了很多东西 ...

  7. Git-第二篇廖雪峰Git教程学习笔记(1)基本命令,版本回退

    1.安装Git-2.16.2-64-bit.exe后,设置用户名,用户邮箱 #--global参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地 ...

  8. 廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结

    廖雪峰 Git 教程 + Git-Cheat-Sheet 学习总结 本教程主要是个人的 Git 学习总结. 主要参考博客: 廖雪峰 Git 教程 Git-Cheat-Sheet 文章目录 廖雪峰 Gi ...

  9. git学习笔记——廖雪峰git教程

    OK,先附上教程--廖雪峰的官方网站 友情连接:git官网 简介 这里我只想引用他的原文: Linus可以向BitMover公司道个歉,保证以后严格管教弟兄们,嗯,这是不可能的.实际情况是这样的: L ...

随机推荐

  1. 用 Visual Studio Code 调试运行在 homestead 环境中的 laravel 程序

    由于之前做 .net 开发比较熟悉 visualstudio,所以自 visualstudio code 发布后就一直在不同场合使用 vscode ,比如前端.node等等.最近在做 laravel ...

  2. django用户验证机制

    django的验证机制 from django.contrib.auth.decorators import login_required 需要在要验证的界面添加`@login_required` 登 ...

  3. MFC程序消息处理的顺序

    MFC应用程序中处理消息的顺序 1.AfxWndProc()      该函数负责接收消息,找到消息所属的CWnd对象,然后调用AfxCallWndProc 2.AfxCallWndProc() 该函 ...

  4. Spring事务(一)JDBC方式下的事务使用示例

    摘要: 本文结合<Spring源码深度解析>来分析Spring 5.0.6版本的源代码.若有描述错误之处,欢迎指正. 目录 一.创建数据表结构 二.创建对应数据表的PO 三.创建表与实体间 ...

  5. 学记笔记 $\times$ 巩固 · 期望泛做$Junior$

    最近泛做了期望的相关题目,大概\(Luogu\)上提供的比较简单的题都做了吧\(233\) 好吧其实是好几天之前做的了,不过因为太颓废一直没有整理-- \(Task1\) 期望的定义 在概率论和统计学 ...

  6. caffe 安装记录

    为了使用caffe,特地装了linux系统,版本:Ubuntu14.04 X64 可参照 http://www.cnblogs.com/platero/p/3993877.html 这个博客写的更好h ...

  7. window.open 防止浏览器拦截

    https://blog.csdn.net/sinat_37255207/article/details/89374416 网上试了很多方法 最终只有一种可以 var newWin = window. ...

  8. 0CO_PC_01 成本对象控制: 计划/实际数据

    用户提出要取生产订单的成本分析明细,分析目标和实际的差异. 查了一下,可以使用 BW标准数据源:0CO_PC_01 其中,值类型:10(实际).20(计划).30(目标) 货币类型:20(成本控制范围 ...

  9. Mysql5.7登录错误1045和1130的解决方法,亲测有用,希望能帮助到你们。

    Mysql (针对Mysql5.7版本,其他版本可能略有不同) 错误:1045 解决方法: 以管理员身份运行cmd(win8系统:win+x 键 ,再按 A键 ),进入Mysql安装目录下的bin目录 ...

  10. HTML5基础知识总结(一)

    新增的标签和属性 1.结构标签 article section aside nav header footer hgroup figure address 2.媒体标签 video audio emb ...