一.撤銷修改的方法
撤銷本地全部沒有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...