1. 概述

  1. git 存放代码的地方

2. 创建

  1. 命令

    # 1. 从无到有
    > git init
    # 2. 从远程拉去现有的仓库
    > git clone <url>

3. 文件生命周期

  1. 概述

    1. 处于 工作空间 的文件, 通常在这些状态之间 徘徊
  2. 状态

    1. untracked

      1. 概述

        1. 未追踪
      2. 简述

        1. 处于这个状态的文件, 不论增删改查, 都不会影响后面的 commit
        2. .gitignore 可以做进一步 约束
    2. tracked

      1. 概述

        1. 被 git版本库 追踪
        2. 已追踪
        3. 已追踪的文件, 又分为以下这些状态
      2. 状态

        1. unmodified

          1. 没有被修改
          2. 不会影响 commit
        2. modified / unstaged

          1. 已经修改, 但是没有 staged
          2. git status 里会有提示
          3. git add 之后会变为 staged 状态
          4. 如果没有 add, 则 commit 后依然是该状态
        3. staged

          1. 已经修改, 已经提交
          2. 提交后, 会变成 unmodified 状态

4. 命令

1. 查看文件状态

  1. git status

    1. 概述

      1. 查看 当前状态 的命令
    2. 结果

      1. 分支
      2. 已经追踪的文件
      3. 没有追踪的文件
  2. git show

    1. todo

2. 追踪文件

  1. git add

    1. 概述

      1. 改变文件状态

        1. 从 不追踪, 改变为 追踪
    2. 命令

      # 追踪所有新文件, gitignore 里的除外
      > git add . # 追踪单个文件
      > git add <file>
  2. git rm

    1. 概述

      1. 删除已经追踪, 但是没有提交的文件
    2. 选项

      1. --cached

        1. 只删除 缓存区 里的文件
        2. 保留 工作目录 里的文件
      2. -f

        1. 删除 缓存区 和 工作目录 的文件
      3. 命令

        > git rm --cached <file>
        > git rm -f <file>

ps

  1. ref

    1. pro git
    1. 终于知道为啥 git 用着觉得不顺了

      1. 命令

        1. 命令多, 参数多

          1. 但是常用有用的, 就那么几种
        2. 同一个命令, 多种行为
          1. 这个是坑
        3. 同一个行为, 多种命令
          1. 这个是坑

Git - 03. git 工作空间的更多相关文章

  1. 从0开始学习 GitHub 系列之「03.Git 速成」

    前面的 GitHub 系列文章介绍过,GitHub 是基于 Git 的,所以也就意味着 Git 是基础,如果你不会 Git ,那么接下来你完全继续不下去,所以今天的教程就来说说 Git ,当然关于 G ...

  2. [git]常用 Git 命令清单

    新建 创建一个新的 git 版本库.这个版本库的配置.存储等信息会被保存到.git 文件夹中 # 初始化当前项目 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init ...

  3. [Git] 还原Git上commit,但是没有push代码

    直接在Idea上操作2步解决: 1. 找到: 2. 在To Commit里面填写:HEAD^,表示将commit的信息还原为上一次的,需要多次直接reset多次即可: 使用命令行:原理一样 以下内容转 ...

  4. 命令行操作svn和git和git

    前几天在写代码的时候电脑突然坏掉,老大交代的任务没完成,非常痛恨自己用svn或者git保存代码,相信很多程序员遇到过,硬盘坏掉,存在硬盘中的代码丢失,无法找回的问题,svn和git可谓程序员界的福音, ...

  5. Git:Git初体验——Git安装配置

    作为即将成为一个程序员的男人,一直在听别人说Git多好多好,之前也随便了解了一些,但是始终没有决心去学会.现在大四了,只有毕设和一门开学六七周只去过一次课的全员必修课外,也没有什么事情做,何不去做这些 ...

  6. 使用Git、Git GUI和TortoiseGit

    1. 关于命令行 我一直建议在命令行中使用Git或者SVN.因为这样可能更加了解他们的工作方式,也不容易遗漏重要的问题和提醒. 在Windows习惯的驱使下,大多数人是不会看弹出的对话框中有什么信息的 ...

  7. git学习——git理解和仓库的创建

    一.git用的3个工作的状态的理解. 1. 工作区 workspace(modified); 2. 暂存区 stage(staged) ; 3. git本地仓库 repository(commited ...

  8. git format-patch & git apply & git clean

    一.打补丁 git format-patch & git apply 最近在工作中遇到打补丁的需求,一来觉得直接传文件有些low(而且我尝试了一下,差点把项目代码毁了) ,二来也是想学习一下, ...

  9. [git]图解git常用命令

    本文图解git中最常用的命令.如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻. 基本用法 约定 命令详解 Diff Commit Checkout Detached HEAD(匿名分支提 ...

随机推荐

  1. 在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke。”

    出现场景: From1中事件B绑定在事件A,事件A由工厂模式下的设备产生,当离开Form1时,设备中的事件A仍然会触发事件B,此时就会导致如上问题 原因(个人理解): 1.Form1已经被销毁了,但仍 ...

  2. malloc函数动态分配内存

    #include <stdio.h> #include <stdlib.h> //malloc free #include <windows.h> //sleep ...

  3. JavaScript变量的传递方式

    废话不多说,直接上案例: [案例] 1.访问变量 按值: function addM(num) { num += 5; return num; } var cnt = 10; var result = ...

  4. SpringBoot学习- 10、设计用户角色权限表

    SpringBoot学习足迹 前几节已经基本了解了SpringBoot框架常用的技术,其他的消息队列,定时器等技术暂时用不到,真正项目中如果基于微信系,阿里系开发的话,还要了解平台专用的技术知识,学习 ...

  5. getPath

    getPath()与getAbsolutePath()的区别 public void diff_pathAndAbsolutePath(){ File file1 = new File(“.\test ...

  6. linux切换普通用户遇bash-4.1解决

    1,修改vim  /etc/passwd 把对应用户的登陆环境改成,/bin/bash 2,复制配置 cp -a /etc/skel/. /home/www/ 3再次尝试su www有效

  7. SequoiaDB报告创建线程失败的解决办法

    1.问题背景 对于分布式数据库和分布式环境,高并发和高性能压力的情况下,出现线程创建失败等等问题也是十分常见的,这时候就十分考虑数据库管理员的经验,需要能快速的定位到问题和瓶颈所在,快速解决.本文也是 ...

  8. dmesg用法

    百科概念:dmesg是一种程序,用于检测和控制内核环缓冲.程序用来帮助用户了解系统的启动信息. 解释:dmesg命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构.cpu.挂载的硬件 ...

  9. manifold learning

    MDS, multidimensional scaling, 线性降维方法, 目的就是使得降维之后的点两两之间的距离尽量不变(也就是和在原是空间中对应的两个点之间的距离要差不多).只是 MDS 是针对 ...

  10. C语言-字符串典型问题分析

    1.典型问题一 下面的程序输出什么为什么? #include <stdio.h>      int main()   {       ] = {};       char src[] =  ...