欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程

程序员文章站 2022-06-11 19:00:27
...

git 如何撤销本地提交的记录(例如回退上一个节点)

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程
实际情况中我不想在这个分支上提交我修改的东西,原因是这个分支不是我创建的,但是我切到这个分支上忘记切回去了,导致做了的东西无法挪动到我的分支上,原本以为git stash 就解决了,但git stash 是关联分支的,就想到了一个折中的办法:

1.首先每次提交前,先更新下当前分支到最新的节点:

git stash
git pull --rebase
git stash pop

若有冲突提示,按照常规5步走:git status 、git diff xxx 、 到文件中修改(保留自己的还是保留他人的,还是说都保留)、最后git add 、git commit -m “xxx” ,就解决冲突啦。

2.先提交到当前这个分支上(暂时提交到我不想在这个分支上)的本地暂存区:

git status
git add xxx
git commit -m "xxx"

3.关键:先切到你想要提交的分支,看下当前所有本地分支的提交情况:

git checkout xxno
git pull --rebase

若有冲突提示,同上按照5步走

gitk --all

选择你的提交并将这个提交pick到xxno分支上,然后就这将这个提交到远程分支上,就实现了切换分支提交记录!

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程

git push origin xxno

4.然而还没完! 在sdk-1106上不是有我这个提交记录吗,所以我得撤销这个记录,同样切回去sdk-1106分支:

git checkout sdk-1106
gitk --all

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程
可以看到这个记录在最新节点上,此时看下git log -2 的最新两条节点的SHAI ID 我需要回退到上一个节点的SHAI ID

git log -2 

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程

git reset SHID 

或者:
# n为撤销最新提交代码记录的数量
git reset HEAD~n

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程
这样就可以回退到上一个节点啦,此时看下status,可以发现撤销了提交记录了

git status

git 如何撤销本地提交的记录 、linux 查看当前进程、历史进程
若你想在该本地分支永久删除这些文件,意思是回到原点,但修改的内容被作废 注意得慎用!

git checkout -- .

linux 查看当前进程、历史命令

ps //查看所有进程
ps aux
ps -le
pstree //以树状显示正在运行的进程
history //查看所有历史命令