git命令清单

来源:互联网 发布:centos 6.8 32位下载 编辑:程序博客网 时间:2024/04/29 15:11

配置

$ git config --global user.name "Your Name"                   //配置
$ git config --global user.email "email@example.com"   //global 表示你这台机器上所有的Git仓库都会使用这个配置,也可以对某个仓库指定不同的用户名和Email地址。
$ git init                //把当前目录变成Git可以管理的仓库

$ git config --global color.ui true //让Git显示颜色

提交

$ git add xx.xx       //文件修改添加到暂存区,可反复add多次再commit,新增的文件或修改的文件要提交时都要先add,与svn只有新增需要add而修改不需要add不同
$ git rm xx.xx        //通知暂存区要删除文件,执行commit才在版本库中删除文件
$ git commit -m "xxx"         //将暂存区所有修改提交到当前分支,-m "xxx"是注释,这是可选的,可不填,填写是好习惯;commit提交的是暂存区的修改,如果add到暂存区后,又在工作区修改内容而没有add的话,提交的内容仅仅是上次的add进暂存区的内容。工作区--add-->暂存区--commit-->版本库
$ git checkout -- xx.xx //丢弃工作区上未提交到暂存区的修改,就是最后一次git commit或git add后的状态
$ git reset HEAD xx.xx //把暂存区的修改撤销掉(unstage),重新放回工作区
$ git reset --hard Head^ //版本回退,Head是当前版本,加^是上个版本,本处是回退到上个版本;加两个^是上上版本,Head^这个位置也可以换为指定版本号,如:$git reset -- hard 941300,版本号可以是非精确的,git会自动帮你找,但是不要填写太短以免找到多个;

查看

$ git status      //查看仓库当前状态:哪些文件修改了,新增了文件,commit了没等等
$ git diff HEAD --xx.xx       //对比差异,显示的格式是Unix通用的diff格式
$ git log           //查看提交历史,--pretty=oneline参数可以查看精简历史
$ git reflog       //查看命令历史

分支

$ git branch //查看分支
$ git branch <name> //创建分支
$ git checkout <name> //切换分支
$ git checkout -b <name> //创建+切换分支
$ git merge <name> //合并某分支到当前分支
$ git branch -d <name> //删除分支

$ git log --graph //查看分支合并图

远程库

$ git remote add origin git@github.com:path/repo-name.git //关联远程库origin,path是config时的your name
$ git push -u origin master //将本地master分支的所有内容推送到远程库origin,参数-u会把本地的master分支和远程的master分支关联起来,以后推送修改或拉取就不需要-u了
$ git clone git@github.com:yourname/yourgitrepo.git //使用远程库克隆一个本地库;从自己的账号下clone仓库,这样你才能推送修改

标签

$ git tag <tagname> <commit id> //创建标签,cmmit id不填将打在最近提交的commit上;参数-a指定标签名,-m指定说明文字;-s用私钥签名一个标签,签名采用PGP签名,因此,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有gpg密钥对,就会报错;创建的标签都只存储在本地,不会自动推送到远程;

$ git tag //查看所有标签
$ git show <tagname> //查看标签信息
$ git tag -d <tagname> //删除本地标签;如果标签已经推送到远程,从远程删除$ git push origin :refs/tags/<tagname>
$ git push origin <tagname> //推送指定标签到远程
$ git push origin --tags //推送全部尚未推送到远程的本地标签

0 0