git放弃某个commit
git reset --hard YourCommitId
回到指定的commit id, 所有未commit的改动都会消失;
–hard 要慎重使用!!! 这是彻底删除, 并且不可恢复, 并且所有未commit的改动都会被撤销;
假设目前版本状态是: A–>B–>C–>D–>E
如果想放弃E的改动, 则 reset到E的上一个commit id, 即D, 命令为: git reset --hard D
执行前:
Administrator@PC-20210511UFOW MINGW64 /f/projects/Go_home/src/mid-micro (develop)
$ git log
commit b8f103412a3ba1267a18776ca7a78262d2745538 (HEAD -> develop)
Author: pony <[email protected]>
Date: Wed Jun 30 16:12:01 2021 +0800
refactor: model
commit c804c36ff32b4adeb04782d7e25102687382665a
Author: pony <[email protected]>
Date: Wed Jun 30 16:11:01 2021 +0800
fix: repo hash, remove useless code
执行:
Administrator@PC-20210511UFOW MINGW64 /f/projects/Go_home/src/mid-micro (develop)
$ git reset --hard c804c36ff32b4adeb04782d7e25102687382665a
HEAD is now at c804c36 fix: repo hash, remove useless code
执行后:
Administrator@PC-20210511UFOW MINGW64 /f/projects/Go_home/src/mid-micro (develop)
$ git log
commit c804c36ff32b4adeb04782d7e25102687382665a (HEAD -> develop)
Author: pony <[email protected]>
Date: Wed Jun 30 16:11:01 2021 +0800
fix: repo hash, remove useless code
commit 51a65dc5929063afc4a1e7591d79dd1d49aeee75
Author: pony <[email protected]>
Date: Wed Jun 30 16:08:48 2021 +0800
refactor: format code