常用Git命令

Git作为一个极其强大的版本控制工具,其优势不言而喻,应该成为每个程序员的标配。如果你还在使用Svn,强烈建议体验一下Git,你一定会爱不释手的。推荐一个不错的Git入门教程,廖雪峰的官方网站。这里仅记录一些常见Git命令,以供查阅。

创建版本库

git init
在当前目录创建版本库(repository),会自动在根目录生成.git文件夹

git clone https://github.com/lulululbj/JavaDesignPatterns.git
克隆版本库地址

本地修改

git add readme.md
将文件添加到版本库,仅仅只是添加到暂存区

git commit -m "commit message"
将add到暂存区的文件提交到版本库,可多次add,一次提交。-m后的参数为本次提交的备注,这是一个应该养成的好习惯。

git add . or git add -A
添加本地所有修改

git status
查看本地仓库当前状态,修改了哪些文件,哪些文件等待commit等等。

git diff
查看具体修改内容,后面可以添加文件名查看具体文件修改内容。当然,如果你刚刚commit了,这个命令就查看不到任何东西。

提交管理

git log
查看提交历史

git log --pretty=oneline
如果你觉得git log命令显示的内容过于冗余,这个命令仅仅显示commit_id和提交时的备注

git reset --hard HEAD^
回退到上个版本,HEAD^^,上上个版本,HEAD~10,上10个版本

git reset --hard commit_id
根据commit_id恢复到指定版本

git reflog
记录你每次对版本库的操作,并显示每一次的commit_id

git diff HEAD -- readme.md
查看文件在工作区和当前版本库里面最新版本的区别

git checkout -- readme.md
撤销工作区的修改,恢复到最近一次git commit或者git add的状态

git reset HEAD readme.md
撤销暂存区的修改

git rm readme.md
删除文件

分支管理

git branch work
创建work分支

git checkout work
切换到work分支

git checkout -b work
创建并切换到work分支,相当于上面两条命令的合并

git branch
查看所有分支,当前分支前面会标注*

git merge work
合并work分支到当前分支

git branch -d work
删除work分支

git log --graph
查看分支合并记录

git stash
将当前工作区储存起来

git stash list
查看储存的工作区

git stash apply
恢复工作区域但不删除stash中内容

git stash pop
恢复工作区域并删除stash中内容

git stash apply stash@{0}
恢复指定的stash

标签管理

git tag
查看标签

git show v1.0
查看标签信息

git tag v1.0
在当前分支的最新一次commit上打标签

git tag -d v1.0
本地删除标签

git push origin v1.0
推送某个标签到远程

git push origin --tags
推送全部尚未推送到远程的标签

git push origin :refs/tags/v1.0
删除远程标签

远程仓库

git remote add origin git地址
关联本地仓库和远程仓库

git push -u origin master
将本地库的所有内容推送到远程库。第一次提交时需要加上-u,将本地master分支与远程库origin分支关联起来,以后直接git push origin master即可

git remote -v
查看远程库详细信息

有任何疑问,欢迎加群讨论:261386924

你可能感兴趣的:(常用Git命令)