git 版本库管理 命令总结

mac2025-03-01  2

整理自廖雪峰git教程,原教程:https://www.liaoxuefeng.com/wiki/896043488029600/897889638509536

git log --pretty=online     

单行显示log

 

git checkout --file

撤销对工作区的修改,即没有add之前,使用此命令可以撤销文件修改,add后就要用reset

要注意--file,如果没有--,就为切换分支命令

不仅修改,撤销删除操作也可以使用此命令

 

git reset HEAD file

把暂存区的修改撤销,即把暂存区的修改回退到工作区。

原理就是此时HEAD指针指向的文件是commit后的库中最新的文件,把HEAD的文件覆盖到file中

 

git reset --hard HEAD^

回退到上一个版本,依此类推 HEAD^^^^,reset 用于对commit的撤销

git reset命令既可以回退版本,也可以把暂存区的修改回退到工作区

 

so,if you had git add a file,but want to withdraw,the peocess is:

git reset HEAD filename

git checkout --filename

 

场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令git checkout -- file。

场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令git reset HEAD <file>,就回到了场景1,第二步按场景1操作。

场景3:已经提交了不合适的修改到版本库时,想要撤销本次提交,参考版本回退一节,不过前提是没有推送到远程库。

 

git reflog

如果从21世纪回退到了19世纪,而且原来的terminal已经关闭了,但是后悔穿越到19世纪了,所以用这个命令查看21世纪的id

 

git diff HEAD -- xx.txt

查看工作区和版本库里面最新版本的区别,  stage为暂存区

 

 

删除文件操作:

rm file

git rm file

git commit -m "xxx"

注意:git rm 和git add的效果是一样的,一个增文件,一个减文件

 

git config --global core.autocrlf false

关闭git的自动lf转为crlf,linux下换行符为lf,win下为crlf

 

 

 

最新回复(0)