Git 常用命令

Git 可以自动补全命令(按Tab)

Git 可以给命令起别名

Git默认开发分支:master

Git 默认远程版本库:origin

1、git的初始化配置

$ git config –global user.name “your name ”

$ git config –global user.email “your email”

基本的配置就结束了,你可以使用$ git config –list 查看你的配置

2、基本用法图解:

上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。

3、创建版本库

使用cd命令到你想创建版本库的文件目录下

$ git clone <url>     #克隆远程版本库到本地

$ git init            #初始化版本地版本库

$ git add test.txt      #把test.txt文件放入暂存区

$ git add .            #把当前目录所有改动的文件放入暂存区

$ git diff              #查看更改的内容

$ git diff HEAD –readme.txt       #查看工作区和版本库里面最新版本的区别

$ git commit test.txt -m “commit message”     #把test.txt提交

$ git commit –a –m “message”     #相当于运行 git add 把所有当前目录下的文件加入暂存区再运行git commit.新添加的文件使用该命令无法提交

$ git status           #查看当前文件状态,还会提示你下一步怎么走[多使用]

$ git cherry-pick <commit id>  #对已经存在的commit 进行再次提交

$ git fsck –lost-found   #检查丢失的提交

4、更新和修改

$ git fetch origin            #更新内容

$ git mv <old> <new>        #文件改名

$ git rm <file>              #删除文件

$ git rm –cached <file>       #文件不加入暂存区但不删除

5、查看提交历史

$ git reflog                 #查看版本号和历史【与log有区别,版本返回后,使用该命令可以查看返回之前的历史】

$ git log                   #查看提交历史

$ git log –p <file>            #查看指定文件的提交历史

$ git log –oneline            #一行显示

$ git log –stat               #显示一些概要

$ git log –grep=”Something in the message”  #查找

$ git log –author=”hante”     #显示所有关于hante提交的信息

$ git log –since=2015-08-01  #查看从2015-08-01至今的历史

$ git help log    #查看更多关于log命令的参数

$ git blame <file>            #以列表形式查看详细信息

$ gitk                     #图形显示提交历史

6、撤销操作

$ git reset –hard HEAD    #撤销工作目录中所有未提交文件的修改

$ git checkout –<file>      #取消工作区对文件的修改【危险操作

$ git revert <commit>      #撤销指定的提交

$ git commit –amend       #撤消刚才的提交操作

7、分支与标签

$ git branch          #显示所有本地分支

$ git checkout <branch/tag>   #切换到指定分支或标签

$ git branch <new-branch>    #创建新分支

$ git branch –d <branch>      #删除本地分支

$ git push <本地仓库名>:<Github端分支> 同步到github上删除该分支

$ git tag                #列出所有本地标签

$ git tag <tagname>       #基于最新提交创建标签

$ git tag –d <tagname>     #删除标签

$ git tag –a V1.0.1 4b30ela    #给图上往期提交加上V1.0.1标签

$ git show V1.0.1          #显示该标签对应的log

$ git push origin [tagname]   #标签推送到远程版本库中

$ git push –tags            #把所有标签上传远程

8、合并分支

$ git merge <branch>     #合并指定分支到当前分支

$ git branch –merged     #查看哪些分支已被并入当前分支

$ git branch –no-merged   #查看尚未合并的分支

$ git branch -d branch-name   #删除分支

$ git remote –v          #查看远程分支信息

$ git remote add <branch> <url>   远程端加新分支

$ git push origin newbranch    #推送本地分支到远程端

$ git checkout -b newbranch origin/newbranch  #在本地新建和远程一样的分支第一个newbranch可更改

$ git checkout –track origin/newbranch         #跟踪远程分支

$ git push <本地仓库名>:<branch/tag-name> 删除远程分支或标签

git push <远程名> <本地分支>:<远程分支>   删除远程分支

9、Git命令别名

$ git config –global alias.ci commit

现在,如果要输入 git commit 只需键入 git ci 即可

$ git config –global alias.last ‘log -1 HEAD’

$ git last相当于 $git log -1 HEAD

$ git config –global alias.lg “log –color –graph –pretty=format:’%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset’ –abbrev-commit”

执行 $ git lg

 10、Git 挂钩[钩子] hooks:

当某些重要事件发生时,Git 以调用自定义脚本,这些脚本叫挂钩。挂钩都被存储在 Git 目录下的hooks子目录中,即大部分项目中的.git/hooks。在Git 1.6版本之后,这些样本名都是以.sample结尾。在Git 1.6版本之前,这些样本名都是正确的,但这些样本不是可执行文件,需要修改权限。可以根据开发的需要更改钩子文件。

更多内容:

http://www.git-scm.com/book/zh

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部