• Git学习(三)——暂存区、远程仓库、增删改管理


     一、工作区和暂存区

    工作区(Working Directory) 就是在你的电脑里能看到的目录

    版本库(Repository) 工作区中的一个隐藏目录.git,这个不算工作区,而是Git版本库。Git版本库里存了很多东西,其中最重要的就是成为Stage(或者index)的暂存区,还有Git为我们自动创建的第一个分支master,以及指向master的指针HEAD。

    把文件往Git版本库里添加的时候,分两步执行:

    第一步是用git add把文件添加进去,实际上就是把文件添加到暂存区;

    第二部是用git commit提交更改,实际上就是把暂存区的所有内容提交到当前分支。

    一旦提交后,如果没有对工作区做任何修改,那么工作区就是干净的。

    二、管理修改、撤销、删除

    1、Git只跟踪“修改”,不管理文件,每次修改,如果不add到暂存区,那么就不会加入到commit中

    2、撤销修改:git checkout -- readme.txt

    (1)把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

    一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

    一种是readme.txt已经添加到暂存区,后来又做了修改,现在,撤销修改就回到添加到暂存区后的状态。

    总之,就是让这个文件回到最近一个git commit 或者 git add时的状态。

    (2)把文件改乱了还git add到暂存区了,用git reset HEAD filename 可以把暂存区的修改撤销掉(unstage),重新放回工作区。git reset 命令既可以回退版本,也可以把暂存区的修改回退到工作区。

    (3)小结

    场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- filename

    场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD filename,回到了场景1,第二部按场景1操作。

    3、删除文件

    一般情况下,通常直接在文件管理器中把没用的已提交的文件删除,或者用rm命令删除

    这个时候,工作区和版本库就不一致了,git status命令会立刻告诉你哪些文件被删除了:

    (1)确实要删除该文件,用git rm 删掉,并且git commit;

    (2)误删文件,git checkout 用版本库力的版本替换工作区里的版本,无论工作区是修改还是删除,都可以”一键还原“。

    三、从远程仓库克隆

    要克隆一个仓库,首先必须知道仓库的地址,然后使用git clone 命令克隆

    Git支持多种协议,包括https,但通过ssh支持的原生git协议速度最快

  • 相关阅读:
    准备 FRM 考试——方法、工具与教训
    930. 和相同的二元子数组 前缀和
    1906. 查询差绝对值的最小值 前缀和
    剑指 Offer 37. 序列化二叉树 二叉树 字符串
    815. 公交路线 BFS
    518. 零钱兑换 II dp 完全背包
    1049. 最后一块石头的重量 II dp
    5779. 装包裹的最小浪费空间 二分
    5778. 使二进制字符串字符交替的最少反转次数 字符串 滑动窗口
    474. 一和零 dp
  • 原文地址:https://www.cnblogs.com/yeting-home/p/6090211.html
Copyright © 2020-2023  润新知