git reset head ...
git checkout -- ...
git revert撤銷某次提交,但是被撤銷的提交是會被保留的。
如下:king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git log -3 --pretty=oneline
bbe630da410cda6fa910689cb92710309c12b540 commit3
0ff91e7df56e4505a012acb35cd2fe5bb184b24d commit2
62731c3c0bdfd2f169cff665d7cad6d3602718f2 commit1
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git revert head
[wgh_dev f601569] revert "commit3"
1 files changed, 0 insertions(+), 1 deletions(-)
delete mode 100644 wgh3.h
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git status
# on branch wgh_dev
nothing to commit (working directory clean)
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git log -3 --pretty=oneline
f601569f11d3f5cf583e8a989b067e138e9287d7 revert "commit3"
bbe630da410cda6fa910689cb92710309c12b540 commit3
0ff91e7df56e4505a012acb35cd2fe5bb184b24d commit2
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git reset
--soft head~1
king@royal /d/gitworkspace/worktree/test (wgh_dev)
//--soft為預設值,被退回的修改會退到暫存區。
$ git status
# on branch wgh_dev
# changes to be committed:
# (use "git reset head ..." to unstage) #
# deleted: wgh3.h #
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git log -3 --pretty=oneline
bbe630da410cda6fa910689cb92710309c12b540 commit3 //可以看到沒有新增乙個類似
revert "commit3"的提交,而是直接退到了commit3
0ff91e7df56e4505a012acb35cd2fe5bb184b24d commit2
62731c3c0bdfd2f169cff665d7cad6d3602718f2 commit1
king@royal /d/gitworkspace/worktree/test (wgh_dev
)//直接退回到了commit2,被退回的修改不會退到暫存區。
$ git reset
--hard head~1
head is now at 0ff91e7 commit2
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git log -3 --pretty=oneline
0ff91e7df56e4505a012acb35cd2fe5bb184b24d commit2
62731c3c0bdfd2f169cff665d7cad6d3602718f2 commit1
0df764e62b09176095cba24013be4cc3b0733b94 merge branch 'test_main_branch' of d:/g
git commit --amend
修改最近一次提交。
修改commit 注釋或者補充漏掉的commit的檔案。
king@royal /d/gitworkspace/worktree/test (wgh_dev)
$ git commit --amend
git 學習筆記 撤銷修改
自然,你是不會犯錯的。不過現在是凌晨兩點,你正在趕乙份工作報告,你在readme.txt中新增了一行 cat readme.txt git is a distributed version control system.git is free software distributed under t...
git撤銷操作
當改動還沒有被提交之前,它們仍然被稱之為 本地 改動。這些在你的工作目錄的修改還仍然在本地,它們屬於未被提交的改動。有時候你對 進行了一些修改,但是發現這些改動帶來的問題比之前還要多。在這種情況下,你可能想要放棄你剛剛的改動,讓 恢復到你改動之前的版本,也就是上次提交之後的狀態。恢復乙個檔案到上次提...
Git撤銷操作
在使用git的過程中,我們可能想要撤銷某些操作,在不同的階段撤銷的命令有所區別。撤銷暫存的檔案 當我們使用git add命令將檔案新增到暫存區域後,想要取消新增的檔案,操作的命令如下 git reset head 檔名 撤銷對檔案的修改 當我們對檔案進行修改後 還沒有提交到暫存區 不想保留對它的修改...