git撤銷的方法

2021-08-11 06:40:18 字數 2308 閱讀 3198

一.撤銷修改的方法

撤銷本地全部沒有git add過的修改

git checkout -- .

使用庫上檔案覆蓋本地修改(當然是指用本地庫覆蓋)git checkout file_name

回退掉某一次commit,回退方式是自動生成乙個反向的commit,不會影響其他commmitgit revert commitid

將git庫狀態強制回退到某個節點號,這個節點號之後的commit全部丟失git reset --hard commitid

將遠端庫強制覆蓋到本地,放棄本地全部修改git reset --hard origin 分支名

回退最近一次的commit,且該次commit所作的修改會退到沒有被add的狀態git reset --mixed head~1

回退最近的一次commit,回退後該次commit所作的修改仍處於add過了的狀態,可以通過git status檢視狀態,git reset --soft head~1

回退最近一次的commit,回退的同時working tree也會被修改,也就是回退的這次的commit所做的修改都會消失git reset --hard head~1

二、撤銷分支的方法

在使用git的過程中,因為人為因素造成分支(commit)被刪除,可以使用以下步驟進行恢復。

1.建立分支 abc

git branch abc

2.檢視分支列表

git branch -a

abc* develop

remotes/origin-dev/develop

3.切換到abc分支,隨便修改一下東西後 commit

切換分支

git checkout abc

switched to branch 'abc'

建立乙個檔案

echo 'abc' > test.txt

commit

git add .

git commit -m 'add test.txt'

[abc 3eac14d] add test.txt

1 file changed, 1 insertion(+)

create mode 100644 test.txt

4.刪除分支abc

git branch -d abc

deleted branch abc (was 3eac14d).

5.檢視分支列表,abc分支已不存在

git branch -a

* develop

remotes/origin-dev/develop

commit 3eac14d05bc1264cda54a7c21f04c3892f32406a

reflog: head@ (fdipzone .com>)

reflog message: commit: add test.txt

author: fdipzone .com>

date: sun jan 31

22:26:33

2016 +0800

add test.txt

git branch recover_branch_abc 3eac14d05bc1264cda54a7c21f04c3892f32406a

git branch -a

* develop

recover_branch_abc

remotes/origin-dev/develop

可以見到recover_branch_abc已建立

git checkout recover_branch_abc

switched to branch 'recover_branch_abc'

ls -lt

total 8

-rw-r

--r--

1 fdipzone staff 4131

22:38 test.txt

這樣就可以恢復被誤刪的分支了

1.git 誤刪分支恢復方法

2.恢復不小心刪除的git庫上檔案--git常見後悔藥

git撤銷單個檔案的修改 git撤銷檔案的修改

git撤銷某個檔案的修改,分為兩種情況 1.在工作區修改,但並未提交到暫存區 即並沒有add 對於單個檔案的撤銷修改而言,使用下面方法。git checkout 檔名 若想撤銷工作區中所有檔案的修改,則 git checkout 注意 git chekcout 是讓檔案回到最近一次該檔案git co...

git的撤銷動作

有時候我們提交完了才發現漏掉了幾個檔案沒有加,或者提交資訊寫錯了。想要撤消剛才的提交操作,可以使用 amend選項重新提交 git commit amend m 修改 提交 說明 此命令將使用當前的暫存區域快照提交。如果剛才提交完沒有作任何改動,直接執行此命令的話,相當於有機會 重新編輯提交說明,但...

git 修改 撤銷

git status 初始狀態是,什麼都沒有修改 on branch master nothing to commit working directory clean 修改了乙個檔案fu 狀態變成 root 172.18 4.100 gitlearn git status on branch mas...