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–hard 重置head指向commit、重置索引区、工作区,如果本地做了变更,add或者没add,最后不想要了,那么就用这种方式。 总结 这3种模式用联想记忆法,比如soft是软的意思,是最软的,重置head指向commit,索引区、工作区都保留;mixed是混合的,那就是中等喽,所以重置索引区,保留工作区;hard是最硬的,重置索引区...
1)通过git reset是直接删除指定的commit git log # 得到你需要回退一次提交的commit id git reset --hard <commit_id> git push origin HEAD --force # 强制提交一次,之前错误的提交就从远程仓库删除 2)通过git revert是用一次新的commit来回滚之前的commit git log # 得到你需要回退一次提交的commit id git ...
HEAD:HEAD是一个指针。一个仓库就是一颗树,每个分支则是不同的树枝,树枝上有不同的节点,代表每一个commit,平时我们提交commit则是增加节点,当前分支如果是master,master会指向最新的提交,而HEAD会指向当前分支。git可以通过reset、checkout、revert、merge和rebase等操作指令,花式移动指针,游走于整颗commit树。 origin:...
◈ “你的分支已经与 'origin/main' 同步” ◈ HEAD^、 HEAD~、 HEAD^^、 HEAD~~、 HEAD^2、 HEAD~2 ◈ .. 和 ... ◈ “可以快速前移” ◈ “引用”、“符号引用” ◈ refspecs ◈ “tree-ish” ◈ “索引”、“暂存的”、“已缓存的” ...
git reset HEAD build.sh 回滚后工作区会保留该文件的改动,可重新编辑再提交,或者 git checkout -- 文件名 彻底丢弃修改。 回滚场景:已 commit,但还没有 push 时 即已经提交到本地代码库了,不过还没有 push 到远端。这时候可用 git reset 命令,命令格式为: ...
git reset HEAD build.sh 回滚后工作区会保留该文件的改动,可重新编辑再提交,或者 git checkout -- 文件名 彻底丢弃修改。 回滚场景:已 commit,但还没有 push 时 即已经提交到本地代码库了,不过还没有 push 到远端。这时候可用 git reset 命令,命令格式为: ...
e71ebc7ebHEAD@{4}:pull origin dev/V4.12.0:Fast-forward... 上面的“380125a6e HEAD@{2}: commit: bug fix : 13 pro 系列 高德地图SDK bug ”就是我只 commit 没有 push 的代码。并且本地已经 被“reset“。但是如何恢复,我没有立即使用"git reset --soft HEAD@{2}",还是担心出问题。 于是我...
git reset –hard HEAD~“`这将把当前分支重置到上一个提交,并将上一个提交以及之后的所有提交从版本历史中移除,并且丢弃所有更改。 4. 重置分支到远程分支:“`git reset origin/“`这将把当前分支重置到指定的远程分支,并将所有以后的提交从版本历史中移除,但是这些提交的更改还是保留在工作目录中。 需要注意的...
git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>] 说明:回退HEAD到某一个<commit> git reset<paths>//git add<paths>的反向用法。 git add<paths>是将修改后的文件添加到暂存区。 git reset<paths>则是将暂存区内的文件移出。如果没有指定路径文件,则会将暂...