git 回退某个版本或者去掉某些patch

diff -urN linux-x.y.z/    linux/     >   xxx_patch

patch -p1 <  ../xxx_patch

diffstat -p1 xxx_patch

git checkout  ...../...../.....把本地源文件改了,回退到git log中的某个版本

git revert   XXXXXXXXXXXXXXXXXXXX,只是去掉某个提交,某个patch

git reset -hard 跟git  checkout  ..../..../.....的效果一样。


git reset  什么都不加,是只回退到某个commit,不改变本地文件。


1:git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息

2:git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可

3:git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容

1
2
3
4
5
6
7
8
9
10
11
12
git reset HEAD^   #回退所有内容到上一个版本 
git reset HEAD^ a.py  #回退a.py这个文件的版本到上一个版本
git reset –soft HEAD^ 3  #向前回退到第 3 个版本 
git reset –soft HEAD^2 #向前回退到第2个版本 
git reset –soft HEAD^4 #向前回退到第4个版本 
git reset –hard origin/master  #将本地的状态回退到和远程的一样 
git reset 057d  #回退到某个版本 
git revert HEAD  #回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit 


你可能感兴趣的:(git 回退某个版本或者去掉某些patch)