Git - 幕布

Git
 
  • 教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
  • 基本内容:
    • Git是啥

      • 最先进的分布式版本控制系统
      • 集中式与分布式的区别
        • 是否联网
        • 是否有中央服务器
    • Git下载和安装
      • 下载链接:见教程
      • 配置name和email:
        $ git config --global user.name "Your Name"
        $ git config --global user.email "email@example.com"
        ​ --global:表示你电脑上所有仓库都用这个账户
    • 创建可以Git仓库
      $ mkdir learngit ——仓库创建
      $ cd learngit ——进入仓库
      $ pwd ——显示当前目录
      $ git init ——变成Git可以管理的仓库​
    • 添加文件到仓库(repository)
      • 注意千万不要用window自带记事本:编码多了
      • 使用Notepad++
      • 流程:
        • 创建文件
        • 将文件放在仓库目录下
        • 添加文件到Git仓库
          $ git add readme.txt
          $ git commit -m "wrote a readme file"​
    • Git时光穿梭
      • 让你随时掌握仓库状态
        $ git status ——全局状态
        $ git diff readme.txt ​ —— 查看相关文件细节
      • 查看仓库文件内容:
        $ cat filename
      • 查看仓库版本历史记录[有版本id]
        $ git log
        $ git reflog —— 查看命令历史,以便确定要回到未来的哪个版本​【关机后也可以用】
      • 时光穿梭
        $ git reset --hard HEAD^ 前一次
        $ git reset --hard HEAD^^ 前两次
        $ git reset --hard 版本id​ 某一次
      • 工作区和暂存区和master分支的概念
      • Git管理跟踪修改
      • 撤销修改
        • 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令:
          $ git checkout -- file
        • 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作:
          $ git reset HEAD <file>
          $ git checkout -- file​
        • 场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库:
          $ git log 或 $ git reflog​
          ​$ git reset --hard 版本id​ 某一次
      • 删除文件
        • rm <file> 删除工作区的文件 git checkout -- <file> 恢复
        • rm <file> ——> git rm 那就相当于不仅删除了文件,而且还添加到了暂存区 需要先git reset HEAD <file>,然后再git checkout -- <file>
        • 彻底删除:rm <file> ——> git rm —— > git commit

Git笔记——01的更多相关文章

  1. 软件测试之loadrunner学习笔记-01事务

    loadrunner学习笔记-01事务<转载至网络> 事务又称为Transaction,事务是一个点为了衡量某个action的性能,需要在开始和结束位置插入一个范围,定义这样一个事务. 作 ...

  2. 《30天自制操作系统》笔记(01)——hello bitzhuwei’s OS!

    <30天自制操作系统>笔记(01)——hello bitzhuwei's OS! 最初的OS代码 ; hello-os ; TAB=4 ORG 0x7c00 ; 指明程序的装载地址 ; 以 ...

  3. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  4. PHP 学习笔记 01

    例子: 为什么要学PHP 主观原因: 前段时间在学校处理了毕业的一些事情,回到上海后开始了找工作的旅程.意向工作是WPF开发或者ASP.NET 作为后端的WEB开发. 陆陆续续一直在面试,其中有一家公 ...

  5. Git 笔记三 Git的初步使用

    Git 笔记三 Git的初步使用 在上一篇中,学习了如何配置Git环境,这一篇,开始学习Git的初步使用.Git的初步使用还是很简单的.总体上知道git init, git clone, git ad ...

  6. Git 笔记二-Git安装与初始配置

    git 笔记二-Git安装与初始配置 Git的安装 由于我日常生活和工作基本上都是在Windows上,因此此处只说windows上的安装.Windows上的安装和其他程序一样,只需要到http://g ...

  7. Git 笔记一 Git简介

    git 笔记一 什么是版本控制 所谓版本控制就是记录对文件的修改记录,这样以后就能回退到需要的 版本.比如你对一段代码进行了几次修改,有几次修改不想要了,如果 使用了版本控制,就可以回退到未做这些修改 ...

  8. 【技能大赛笔记01】Zigbee点对点按键控制程序开发

    [技能大赛笔记01]Zigbee点对点按键控制程序开发 --2017年"物联网物联网技术应用与维护"任务五题1(中职组) 1.题目要求 2.工程文件 在比赛中,提供了一个基于Bas ...

  9. JS自学笔记01

    JS自学笔记01 1.开发工具 webstorm 2.js(javascript) 是一门脚本.解释性.动态类型.基于对象的语言 含三个部分: ECMAScript标准–java基本语法 DOM(Do ...

随机推荐

  1. im2rec打包图片

    https://mxnet.incubator.apache.org/faq/finetune.html python ~/mxnet/tools/im2rec.py --list --recursi ...

  2. VS2008 工具栏CMFCToolBar的使用总结(转)

    (一)自定义工具栏 自定义工具栏,分两种情况:一是直接添加工具栏,并自己绘制图标:二是,添加工具栏,然后与BMP关联,与VC6.0中的自定义彩色工具栏类似. 1.  自绘工具栏 1)添加Toolbar ...

  3. 利用SQL模糊匹配来验证字段是否是日期格式

    最近需要验证数据仓库某个字段是否转化成某种日期格式,比如时间戳格式 ‘2016-05-03 23:21:35.0‘, 但是DB2不支持REGEXP_LIKE(匹配)函数,所以需要重新想其他办法. 最后 ...

  4. 【题解】洛谷P1198 [JSOI2008] 最大数(线段树)

    洛谷P1198:https://www.luogu.org/problemnew/show/P1198 思路 一道水水的线段树 20分钟A掉 这道题只涉及到单点修改和区间查询 所以这道题甚至不用Laz ...

  5. 【题解】洛谷P1074 [NOIP2009TG] 靶形数独(DFS+剪枝)

    洛谷P1074:https://www.luogu.org/problemnew/show/P1074 思路 这道题一看就是DFS 打一个分数表方便后面算分 我用x y z数组分别表示行 列 宫 是否 ...

  6. mysql错误errno:121

    121错误是因为外键名重复.在同一个库中外键是不允许与其他外键重名的. 遇到这个错误请给你定义的外键换唯一无重复的名字. 同时查阅到外键也有可能导致150错误. Can't create table ...

  7. 逍遥云天 微信小程序开发之获取用户手机号码——使用简单php接口demo进行加密数据解密

    后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如 ...

  8. webpack之理解loader

    我们在写webpack配置文件的时候,应该有注意到经常用到loader这个配置项,那么loader是用来做什么的呢? loader其实是用来将源文件经过转化处理之后再输出新文件. 如果是数组形式的话, ...

  9. ZXing.net 生成和解析二维码

    nuget引用zxing.net包 public partial class Form1 : Form { public Form1() { InitializeComponent(); } priv ...

  10. npm常见配置收集

    npm代理设置为走ss通道:npm config set proxy 'http://localhost:1080'