zoukankan      html  css  js  c++  java
  • 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协议速度最快

  • 相关阅读:
    【模仿】一个充满BUG的小程序
    JAVA中的内部类
    oracle删除实例的方法
    牢记每个死循环都要有跳出语句【这个要看】
    删除无效服务的命令
    Oracle触发器和new、old特殊变量
    Python模块之os 系统操作
    Python模块之pyautogui 模拟按下键盘
    Python模块之platform 获取平台信息
    Python官方内置函数V3.10详解
  • 原文地址:https://www.cnblogs.com/yeting-home/p/6090211.html
Copyright © 2011-2022 走看看