转载请标明出处:http://blog.csdn.net/u013254166/article/details/78621480
本文出自: 【rhino博客】
创建本地库,成功后会在当前操作目录生成“.git”目录
$ git init
添加修改到暂存区(stage)
$ git add / git add <filename> / git add .
创建一个名为<remote-name>的远程库
$ git remote add <remote-name> <url>
从远程库<remote> 下载所有改变并合并HEAD
$ git pull<remote> <branch>
获取所有远程分支(不更新本地分支,另需merge)
$ git fetch
获取所有原创分支并清除服务器上已删掉的分支
$ git fetch --prune
将索引内容添加到仓库中,如果我们这里不用-m参数的话,git将调到一个文本编译器(通常是vim)来让你输入提交的描述信息。
$ git commit -m "提交的描述信息"
如果没有新增文件,只是修改了文件内容,或者删除已在仓库的文件,可以不用执行“git add”,执行下面命令即可。
$ git commit -am "提交的描述信息" 等同于 git commit -a -m "str"
合并上一次提交(用于反复修改)
$ git commit --amend -m 'xxx'
将被本地库的改变推送到一个远程库
$ git push<remote> <branch>
删除远程仓库的hotfixes/BJVEP933分支
$ git push origin :hotfixes/BJVEP933
把所有tag推送到远程仓库
$ git push --tags
查看当前状态
$ git status
显示所有未添加至index的变更
$ git diff
显示所有已添加index但还未commit的变更
$ git diff --cached
比较与上一个版本的差异
$ git diff HEAD^
比较与HEAD版本lib目录的差异
$ git diff HEAD --./lib
比较远程分支master上有本地分支master上没有的
$ git diff origin/master..master
只显示差异的文件,不显示具体内容
$ git diff origin/master..master --stat
克隆一个存在的远程库
$ git clone <url>
删除index中的文件
$ git rm xxx
递归删除
$ git rm -r *
查看所有commit历史记录, 以最近的一次commit开始
$ git log
显示1行日志 -n为n行
$ git log -1
查看文件<file>的的历史记录
$ git log –p <file>
显示某个提交的详细内容
$ git show s3rsfs353tfga523vzfasdsadf234
可只用commitid的前几位
$ git show s3rsf
显示当前分支历史
$ git show-branch
显示所有分支历史
$ git show-branch --all
显示本地分支
$ git branch
显示包含提交50089的分支
$ git branch --contains 50089
显示所有分支
$ git branch -a
显示所有原创分支
$ git branch -r
显示所有已合并到当前分支的分支
$ git branch --merged
显示所有未合并到当前分支的分支
$ git branch --no-merged
本地分支改名
$ git branch -m master master_copy
$ git branch -d hotfixes/BJVEP933
强制删除分支hotfixes/BJVEP933
$ git branch -D hotfixes/BJVEP933
将HEAD定义到<branch>
$ git rebase <branch>
终止一个rebase
$ git rebase –abort
解决冲突后继续rebase
$ git rebase –continue
从当前分支创建新分支master_copy并检出
$ git checkout -b master master_copy
检出已存在的features/performance分支
$ git checkout features/performance
检出远程分支hotfixes/BJVEP933并创建本地跟踪分支
$ git checkout --track hotfixes/BJVEP933
检出版本v2.0
$ git checkout v2.0
从远程分支develop创建新本地分支devel并检出
$ git checkout -b devel origin/develop
检出head版本的README文件(可用于修改错误回退)
$ git checkout --README
合并远程master分支至当前分支
$ git merge origin/master
合并提交ff44785404a8e的修改
$ git cherry-pick ff44785404a8e
还原一个commit
$ git revert <commit>
重置HEAD指针到一个历史的commit并撤销所有的修改
$ git reset –hard <commit>
重置HEAD指针到一个历史的commit并保留提交到暂存区(stage)的修改
$ git reset <commit>
重置HEAD指针到一个历史的commit并保留所有未提交的修改
$ git reset –keep <commit>
撤销工作版本库所有的本地修改
$ git reset –hard HEAD
撤销文件<file>的本地修改
$ git checkout HEAD <file>
文件中搜索文本“delete from”
$ git grep "delete from"