zoukankan      html  css  js  c++  java
  • Git

    1. 暂存区

    每个 Git 仓库中,都有一个隐藏目录 .git 用于存放 Git 仓库的相关信息,包括暂存区(称为 stage)、自动创建的 master 分支以及指向 master 分支的 HEAD 指针。

    每次提交文件时:

    • git add 添加文件到暂存区。
    • git commit 提交更改,把暂存区的所有内容一次性全部提交到当前分支,清空暂存区。

    2. 撤销修改

    因为暂存区的存在,撤销修改分为几种情况(通过 git status 查看仓库状态时会提示相关撤销修改的命令):

    • 修改后,文件没有放入暂存区(即文件一直在工作区):用 git checkout -- 文件名 撤销工作区的改动(回到跟版本库一样的状态,即回到最近一次 git commit时的状态,所有改动全部清除)
    • 修改后,文件放入暂存区,且文件没有再次修改(即文件已经进入暂存区):分两步:先用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),再执行 git checkout -- 文件名 清除工作区的改动
    • 修改后,文件放入暂存区,且文件再次修改:分三步:先用 git checkout -- 文件名 撤销工作区的改动,再用 git reset <文件名> 撤销 git add 操作(此时更改仍留在工作区),最后执行 git checkout -- 文件名 清除工作区的改动

    通过 git checkout -- 文件名 命令可以撤销文件在工作区的修改。
    通过 git reset 文件名 命令可以撤销指定文件的 git add 操作,即这个文件在暂存区的修改。
    通过 git reset 命令可以撤销之前的所有 git add 操作,即在暂存区的修改。

    git checkout -- 文件名 命令中的 -- 表示命令行在 -- 之后没有更多的选项。这样的好处是,如果碰巧有一个分支与文件名重名,仍然可以恢复该文件,而不是切换到同名的分支。

  • 相关阅读:
    二逼青年暑假深圳面试记
    poj2032Square Carpets(IDA* + dancing links)
    JBoss 系列七十:一个简单的 CDI Web 应用
    cocos2d-x 截取屏幕可见区域
    HDU3863:No Gambling
    SQL Server配置管理WMI问题
    Inno_setup制作升级包必须面临的几个问题
    Log4j发送邮件
    为github帐号添加SSH keys(Linux和Windows)
    Ubuntu常用命令
  • 原文地址:https://www.cnblogs.com/kika/p/10851693.html
Copyright © 2011-2022 走看看