git放弃本地修改与暂存区修改

  1. 本地修改了一堆文件(并没有使用git add到暂存区),想放弃修改。
    单个文件/文件夹

    $ git checkout -- filename
    

    所有文件/文件夹:

    $ git checkout .
    
  2. 本地新增了一堆文件(并没有git add到暂存区),想放弃修改。
    单个文件/文件夹

    $ rm filename / rm dir -rf
    

    所有文件/文件夹:

    $ git clean -xdf
    

    // 删除新增的文件,如果文件已经已经git add到暂存区,并不会删除!

  3. 本地修改/新增了一堆文件,已经git add到暂存区,想放弃修改。
    单个文件/文件夹:

    $ git reset HEAD filename
    

    所有文件/文件夹:

    $ git reset HEAD .
    
  4. 本地通过git add & git commit 之后,想要撤销此次commit

    $ git reset commit_id
    

    这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位
    // 撤销之后,你所做的已经commit的修改还在工作区!

    $ git reset --hard commit_id
    

    这个id是你想要回到的那个节点,可以通过git log查看,可以只选前6位
    // 撤销之后,你所做的已经commit的修改将会清除,仍在工作区/暂存区的代码不会清除

  5. git撤销本地提交 并且保存本次提交的内容

    $ git reset --soft head^  撤消了本次提交,将工作区恢复到了提交前但是已经add的状态
    
    • git reset --soft head^ 软撤销,head^是指当前commit,可以改成任意commit id
    • git reset --hard head^ 硬撤销,彻底丢掉这次提交的全部修改
    • git reset filename 不加参数,本次修改就会回到add之前的状态
posted @ 2022-01-14 13:38  帅气的Lucky  阅读(765)  评论(0)    收藏  举报