【Git】Git撤销修改

在 Git 中,撤销修改可以通过多种方式实现,具体取决于你想撤销的修改类型(未提交的修改、已提交的修改、合并等)。以下是一些常用的撤销修改的指令:

撤销未提交的修改

  1. 撤销工作区的所有修改

    git checkout -- <file>
    

    这个命令会撤销工作区中指定文件的所有未提交修改,恢复到最近一次提交的状态。如果要撤销所有文件的修改,可以使用:

    git checkout -- .
    
  2. 撤销暂存区的修改

    git reset HEAD <file>
    

    这个命令会将指定文件从暂存区移除,但保留工作区的修改。如果要撤销所有文件的暂存修改,可以使用:

    git reset HEAD .
    
  3. 撤销工作区和暂存区的所有修改

    git reset --hard
    

    这个命令会将工作区和暂存区的所有修改都撤销到最近一次提交的状态,请慎用,因为它会丢失所有未提交的修改。

撤销已提交的修改

  1. 撤销最近一次提交(但保留修改)

    git reset --soft HEAD~1
    

    这个命令会撤销最近一次提交,但保留修改在暂存区。

  2. 撤销最近一次提交(不保留修改)

    git reset --hard HEAD~1
    

    这个命令会撤销最近一次提交,并丢弃所有修改。

  3. 使用 git revert 撤销某个提交

    git revert <commit_hash>
    

    这个命令会生成一个新的提交,用于撤销指定的提交(通过提交哈希值指定)。适用于已经推送到远程仓库的修改。

撤销合并

  1. 撤销合并(但保留修改)

    git reset --merge ORIG_HEAD
    

    这个命令用于在合并产生冲突时撤销合并并保留修改。

  2. 撤销合并(不保留修改)

    git reset --hard ORIG_HEAD
    

    这个命令用于在合并产生冲突时撤销合并并丢弃所有修改。

撤销推送到远程仓库的修改

  1. 强制推送到远程仓库
    git push origin <branch_name> --force
    
    这个命令会将本地分支的状态强制推送到远程仓库,覆盖远程仓库的内容。需谨慎使用,因为它会覆盖远程仓库的历史记录。

通过这些命令,可以根据需要撤销工作区、暂存区和提交的修改。根据实际情况选择合适的命令,确保不会丢失重要的数据。

  1. 强制拉取远程代码
    使用 git fetch 命令获取远程仓库的最新代码,然后使用 git reset 命令将本地分支重置为远程分支的状态:
git fetch origin
git reset --hard origin/<branch-name>

将 替换为你想要更新的分支名称,例如 main 或 develop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值