对于我们本地的代码,在commit后发现自己commit操作有误:commit了不想提交的代码/... 这时候只需要: hljs git reset --soft HEAD~1 注意:这里的soft会保留本地的代码,如果你使用hard,那么本地的代码也会变为上一次commit的内容 如果你手残,不小心把这个操作执行了两次,本来需要的commit也被你撤销了,那么只需要...
git reset --soft HEAD^ 1. 那么除了HEAD和它所指向的branch1被移动到HEAD^之外,原先HEAD处commit的改动(也就是那个laughters.txt文件)也会被放进暂存区: 登录后复制 git status 1. 使用git reset --soft HEAD^后 这就是--soft和--hard的区别:--hard会清空工作目录和暂存区的改动,*而--soft则会保留工...
还原版本,移动HEAD到指定得位置,比如有A-B-C(HEAD)分支,现在在C提交,如果执行git reset B,则代表把HEAD移动到B,同时如果用git status命令查看,会发现之前提交到C得东西都变成了未提交状态,并且还未add到暂存区。 使用场景:比如我提交后,发现某个代码写的有问题,此时commit在C ,那么我可以使用git reset B ,...
当前分支是master,<commit>C是最新提交,即HEAD指向<commit>C 执行: $ git reset --soft HEAD~1 执行后: ①版本库:HEAD指向<commit>B;②暂存区:<commit>C撤销到暂存区;③工作区:无变化 执行: $ git status 可以看到<commit>C撤销到了暂存区,处于"Changes to be committed"状态。 2.--mixed(默认模式) ...
git commit 之后就是HEAD。如果代码修改了之后进行git add 操作,然后git commit,那么所有三者(HEAD,INDEX(STAGING),WORKING COPY)都是相同的状态,内容相同。 二、reset soft(更改HEAD)(恢复git commit的操作) 软重置。本来origin的HEAD和本地的HEAD一样,如果你指定--soft参数,Git只是单纯的把本地HEAD更改到你指定...
git reset --soft HEAD~1 // ② 通过-f命令,将回滚后的版本号强制推送上去, // 相当于撤销了最新的push git push origin master -f // 修改代码 // 修改好后,重新add,commit,push即可。 2、如何撤销一次commit? 如果你要同时撤销暂存区的话,就用--mixed参数,如果要撤销工作区的修改就用--hard参数,否...
git reset --soft HEAD^ 那么除了HEAD和它所指向的branch1被移动到HEAD^之外,原先HEAD处commit的改动(也就是那个laughters.txt文件)也会被放进暂存区: git status 使用git reset --soft HEAD^后 这就是--soft和--hard的区别:--hard会清空工作目录和暂存区的改动,*而--soft则会保留工作目录的内容,并把因为...
reset 命令的原理是根据 commitId 来恢复版本。 因为每次提交都会生成一个 commitId,所以说 reset 可以帮你恢复到历史的任何一个版本。 这里的版本和提交是一个意思,一个 commitId 就是一个版本 命令格式如下: git reset [--soft | --mixed | --hard] [HEAD] ...
git reset--softHEAD^ AI代码助手复制代码 那么除了HEAD和它所指向的branch2被移动到HEAD^之外,原先HEAD处commit的改动(也就是那个laughters.txt文件)也会被放进暂存区: gitstatus AI代码助手复制代码 使用git reset --soft HEAD^后 这就是--soft和--hard的区别:--hard会清空工作目录和暂存区的改动,*而--so...
git reset–hard 重置head指向commit、重置索引区、工作区,如果本地做了变更,add或者没add,最后不想要了,那么就用这种方式。 总结 这3种模式用联想记忆法,比如soft是软的意思,是最软的,重置head指向commit,索引区、工作区都保留;mixed是混合的,那就是中等喽,所以重置索引区,保留工作区;hard是最硬的,重置索引区...