Git常用命令总结

来源:互联网 发布:jmeter 安装mac版 编辑:程序博客网 时间:2024/05/29 10:04

git diff

git diff [filename] 可以查看文件的修改状态。可以看成diff是和最近的commit或者add相比较,这一点和 git checkout 如出一辙。


git log

git log -p [filename] 可以查看文件的历史版本修改记录,git log --pretty=oneline 将版本记录每一条展示在一行方便观看。


git reset –hard

git reset --hard 更换版本的时候,commit只保存了暂存区的数据,也就是已经add过得文件可以通过版本切换找回,不过如果只是修改了但是没有add的文件就没办法了,另外新建了一个文件在任何一个版本都能找到,换句话说,如果你想将一个文件的改变加入版本中,必须 add&commit 这个文件。


git checkout -b branch

git checkout -b dev 新建一个分支,如果在同一目录上创建分支,那么在一个分支上对一个文件进行修改,在其他分支上也能看到,除非add&commit了,(commit之前,两个分支的修改都是同步的,包括add到暂存区)如果在dev上进行修改,但是在master上进行 add&commit ,那么这次修改算master的,dev上没有记录也没有修改。


git reset HEAD filename

git reset HEAD filename 可以将暂存区的文件清除,不小心add了可以返回,而且仅仅是将暂存区的清除,如果add后又改变了该文件,reset后不会用暂存区的文件将未暂存的覆盖。


git stash

git stash 可以将正在进行的工作状态进行保存,如果写到一半,要处理其他事物,可以将当前修改的文件保存起来,现在工作区就是前一个commit时的状态,这次的修改都被保存起来隐藏了。git stash list 可以看到当前所有保存的工作状态,使用 git stash apply 可以恢复工作状态,恢复指定的使用 git stash apply stash@{0} ,不过之前add的文件会被清出暂存区,展示在modify but no stage中,恢复完后可以使用 git stash drop 删除这个工作状态。


git remote add origin git@github.com:username/xxxx.git

git remote add origin git@github.com:username/xxxx.git 添加一个远程库,并命名为origin,光添加一个地址还不行,需要将自己的公钥上传到该github账号中,这样才能进行后续的pull,push等操作


git push &git pull

git push <远程主机名> <本地分支名>:<远程分支名> | git pull <远程主机名> <远程分支名>:<本地分支名> 通过给本地分支与远程分支建立追踪关系:$ git branch --set-upstream master origin/next ,下次push或pull是可以忽略不写分支,只需git pull/push


git设置别名

你可以给常用的命令设置简易别名,这样做能节约时间成本,列如:git config --global alias.co checkout ,设置以后你就可以这样使用 git co filename == git checkout filename


查看某次提交的文件修改

git show 可以查看某次提交的相关修改。


git忽略文件

.gitignore文件只对从未追踪过得文件起效果,即从未add或者commit的文件,如果想对已经追踪过得文件进行忽略,使用git rm –cached filename,然后commit即可