git放弃本地文件修改

  写代码时,本来想切换到主分支,但是切换失败,因为我本地的代码修改了,所以想要放弃本地修改的代码(或者有时代码改的乱七八糟想放弃本地修改)

  参考:https://www.cnblogs.com/qufanblog/p/7606105.html

1. 未使用git add 缓存代码

使用git checkout – filename,注意中间有–

git checkout -- filename

放弃所有文件修改 git checkout .

git checkout .

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除
此命令不会删除新建的文件,因为新建的文件还没加入git管理系统中,所以对git来说是未知,只需手动删除即可

2. 已使用git add 缓存代码,未使用git commit

使用 git reset HEAD filename

git reset HEAD filename

放弃所有文件修改 git reset HEAD

git reset HEAD

此命令用来清除 git 对于文件修改的缓存。相当于撤销 git add 命令所在的工作。在使用本命令后,本地的修改并不会消失,而是回到了第一步1. 未使用git add 缓存代码,继续使用用git checkout – filename,就可以放弃本地修改

3. 已经用 git commit 提交了代码

使用 git reset --hard HEAD^ 来回退到上一次commit的状态

git reset --hard HEAD^

或者回退到任意版本git reset --hard commit id ,使用git log命令查看git提交历史和commit id

git reset --hard commit id
Git放弃所有本地文件修改并恢复到上一个提交的状态,可以使用以下命令: 1. **放弃所有未暂存的修改**: ```bash git checkout -- . ``` 这个命令会将工作目录中的所有文件恢复到上一个提交的状态,放弃所有未暂存的修改。 2. **放弃所有暂存区的修改**: ```bash git reset HEAD . ``` 这个命令会将暂存区的所有文件恢复到未暂存的状态,但不会改变工作目录中的文件内容。 3. **放弃所有本地修改,包括未暂存和暂存区的修改**: ```bash git reset --hard HEAD ``` 这个命令会将工作目录和暂存区的所有文件恢复到上一个提交的状态,放弃所有本地修改。 ### 如何恢复放弃修改 如果你在放弃修改后发现需要恢复这些修改,可以尝试以下方法: 1. **使用`git reflog`查找历史操作**: ```bash git reflog ``` 这个命令会显示所有的`HEAD`移动记录,包括提交、合并、重置等操作。找到你放弃修改之前的提交哈希值。 2. **使用`git checkout`或`git reset`恢复**: ```bash git checkout <commit_hash> -- . ``` 或者 ```bash git reset --hard <commit_hash> ``` 将`<commit_hash>`替换为你在`git reflog`中找到的提交哈希值。 ### 注意事项 - 使用`git reset --hard`会丢弃所有未提交的修改,请谨慎使用。 - 如果你已经将这些修改推送到远程仓库,放弃修改后需要强制推送,可能会影响其他协作开发者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值