本文使用于熟练运用git操作人员快速查找git相关命令。
新手请看:
Git教程 - 廖雪峰的官方网站
Git-官方网站
$ git init
$ git clone [repositoryUrl]
$ git clone repositoryUrl [localName]
repositoryUrl: 远程仓库的地址
localName: 本地仓库名字
现在你本地已经有了一个远程仓库名字一样的文件夹,因为是在远程仓库直接克隆下来的,本身已经是一个Git仓库,不需要重新使用git init 初始化,就可以进行提交或者拉取操作;如果本地仓库名字不想和远程仓库一样,可以使用 $ git clone repositoryUrl localName
$ git status
这个命令会把未提交前你本地变动(修改、新增、删除)的文件全部罗列出来
$ git reset [file-name]
$ git add .
$ git commit -m ' First commit'
$ git pull remote branch
$ git push -u remote branch
git add . : 把本地修改提交到暂存区,‘ . ’表示把所有修改提交,也可以为某一个文件名
git commit -m 'First commit' :把暂存区提交到本地仓库,并添加描述
git pull remote branch :拉取远程仓库内容,remote:远程仓库名称,branch:分支名
git push -u remote branch:推送到远程仓库,-u:表示绑定一个远程库, 下次推送时可直接使用 git push
注意:以上几条命令顺序不可颠倒!
$ git log
默认不加参数的话,git log会按照提交时间罗列出所有的更新
参数:
-p:显示每次提交内容的差异,后面可以跟 -2 表示仅显示最近两次的提交
--stat:和 -p 差不多,显示信息更简略
--pretty=[param]:有多个参数,online、short、full、fuller、format,可以自己动手实践看一下效果。format可以定制要显示的格式,详情 ==> format常用选项
--graph:添加ASCII字符串形象的展示你的分支,可与其他参数结合使用
git log 常用选项
$ git commit --amend
上次提交后,提交信息有错误,输入命令,可编辑上次提交信息;也可用这条命令直接提交,不会添加提交记录,会覆盖(合并)上一次提交。
$ git remote -v
$ git remote show [remote-name]
第一个命令会列出你指定的每一个服务器的简写
-v:把远程仓库url也显示出来
第二个命令会显示远程仓库详细信息
$ git remote add
shortname:远程库的简称
url:远程库地址
$ git fetch [remote-name]
$ git pull [remote-name]
git fetch 和 git pull 的区别
$ git remote rm [remote-name]
$ git remote rename [old-name] [new-name]
这个命令会把未提交前你本地变动(修改、新增、删除)的文件全部罗列出来
$ git branch [branch-name]
$ git log --oneline --decorate
$ git checkout [branch-name]
$ git checkout -b [branch-name]
第二个命令会自动创建一个分支并切换到这个分支
$ git log --oneline --decorate --graph --all
$ git merge [branch-name]
把 [branch-name] 分支上的内容合并至当前分支
$ git branch -d [branch-name]
$ git branch -v
这个命令会把全部分支显示出来,分支前带 * 号,代表当前分支
-v:这个参数会把每个的最后一次提交也显示
$ git branch --merged
此时,你可以运行 $ git branch -d [branch-name] 把已经合并到当前分支的分支删除,因为你已经把它们的工作整合到了当前分支,所以不会丢失任何东西。
$ git branch --no-merged
$ git tag
$ git tag -l 'v1.8.5*'
第一个命令会把标签全部罗列
第二个命令会把含有1.8.5的系列标签全部罗列出来
$ git tag [tag-name]
$ git tag -a [tag-name] -m 'description'
$ git show [tag-name]
git show:查看标签信息和对应的提交信息
第一个命令为轻量标签,git show 时不会看到额外的标签信息。 命令只会显示出提交信息
第二个命令为附注标签,git show 输出显示了打标签者的信息、打标签的日期时间、附注信息,然后显示具体的提交信息
$ git tag -a [tag-name] [commit-id]
这个命令会通过提交id对之前的提交打标签
$ git push [remote-name] [tag-name]
$ git push [remote-name] --tags
默认情况下,git push
命令并不会传送标签到远程仓库服务器上。 在创建完标签后你必须显式地推送标签到共享服务器上。
第一个命令推送单个标签
第二个命令推送多个标签
$ git checkout -b [branch-name] [tag-name]
在 Git 中你并不能真的检出一个标签,因为它们并不能像分支一样来回移动。这个命令会根据一个标签创建一个新分支
$ git config --global alias.co checkout
这时,运行 git co 相当于 git checkout
$ git config --global credential.helper store
--global:全局配置,如果只是需要在当前项目中使用,则不加这个参数
store:不会失效;cache:15分钟后过期;$ git config credential.helper 'cache -timeout=3600':一小时后过期