git checkout . #本地所有修改的。沒有的提交的,都返回到原來的狀態(tài)
git stash #把所有沒有提交的修改暫存到stash里面??捎胓it stash pop回復。
git reset --hard HASH #返回到某個節(jié)點,不保留修改。
git reset --soft HASH #返回到某個節(jié)點。保留修改
撤銷Git add操作
git reset HEAD file> # 取消add操作并保留修改
git checkout -- file> # 若繼續(xù)該命令,則會刪除掉剛剛的修改內容
撤銷Git commit操作
git reset --soft commit_id> #可以回退到某個commit并保存之前的修改 commit_id>從git log中取,取前7位即可
git reset --hard commit_id> #回退到某個commit不保留之前的修改
撤銷Git push操作
原理: git revert 會產生一個新的 commit,它和指定 SHA 對應的 commit 是相反的(或者說是反轉的)。 任何從原先的 commit 里刪除的內容會在新的 commit 里被加回去,任何在原先的 commit 里加入的內容會在新的 commit 里被刪除。這是 Git 最安全、最基本的撤銷場景,因為它并不會改變歷史 — 所以你現(xiàn)在可以 git push 新的“反轉” commit 來抵消你錯誤提交的 commit。
Git:代碼沖突常見解決方法
如果系統(tǒng)中有一些配置文件在服務器上做了配置修改,然后后續(xù)開發(fā)又新添加一些配置項的時候,
在發(fā)布這個配置文件的時候,會發(fā)生代碼沖突:
error: Your local changes to the following files would be overwritten by merge:
protected/config/main.php
Please, commit your changes or stash them before you can merge.
如果希望保留生產服務器上所做的改動,僅僅并入新配置項, 處理方法如下:
git stash
git pull
git stash pop
然后可以使用Git diff -w +文件名 來確認代碼自動合并的情況.
反過來,如果希望用代碼庫中的文件完全覆蓋本地工作版本. 方法如下:
git reset --hard
git pull
以上這篇基于Git的常用撤銷技巧與解決沖突方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:- git pull時沖突的幾種解決方式(小結)
- git在idea中的沖突解決方法(非常重要)
- IDEA中解決 git pull 沖突的方法
- 詳解Eclipse提交項目到GitHub以及解決代碼沖突
- git沖突解決_動力節(jié)點Java學院整理
- 關于Git遠程與本地沖突的解決方法
- 詳解git合并沖突解決方法