(一)初始配置
用于生成git自身的用户信息,在ssh密匙中有用到
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
(二)创建版本库(repository)
在一个空文件夹中创建:
$ mkdir <name>
$ cd <name>
显示当前目录:
$ pwd
把目录变为git可管理的仓库:
$ git init
(三)提交至库
将文件存入暂存区:
$ git add <file>
将暂存区中的文件提交至仓库:
$ git commit -m "message"
(四)查看当前仓库状态
查看仓库当前的状态:
$ git status
查看修改信息:
$ git diff <file>
(五)查看当前仓库状态
查看仓库当前的状态:
$ git status
查看修改信息:
$ git diff <file>
查看最近提交的日志:
$ git log
$ git log --pretty=oneline
查看工作区和版本库里面最新版本的区别:
$ git diff HEAD -- <filename>
(六)版本回退
查看上一版本信息:
$ git reset --hard HEAD^(~n)
查看历史命令:
$ git reflog
(七)撤销修改
撤销暂存区中的修改:
$ git reset HEAD <filename>
撤销工作区中的修改:
$ git checkout -- <filename>
(八)删除文件
删除文件:
$ git rm <filename>
再提交
$ git commit -m " "
撤销删除:
$ git checkout -- <filename>
(九)远程仓库
创建ssh密匙:
$ ssh-keygen -t rsa -C "youremail@example.com"
再.ssh目录中找id_rsa.pub文件
建立关联:
$ git remote add <>origin <git@github.com:........>
推送文件:
$ git push -u <>origin master
克隆本地库:
$ git clone <git@github.com.....>
查看远程仓库信息:
$ git remote <-v>
(十)分支管理
创建并切换分支:
$ git checkout -b dev
$ git switch -c dev
查看当前分支:
$ git branch
切换分支:
$ git switch master
合并当前分支到指点分支:
$ git merge dev
合并当前分支到指点分支禁用快速合并有合并信息:
$ git merge --no-ff -m "merge with no-ff" dev
删除指定分支:
$ git branch -d dev
查看分支合并图:
$ git log --graph
储藏工作现场:
$ git stash
查看储藏的工作:
$ git stash list
恢复储藏工作区:
$ git stash pop(恢复的同时把stash内容也删了)
$ git stash apply(只恢复)
$ git stash drop(只删除)
复制特定提交到当前分支:
$ git cherry-pick <4c805e2>
强行删除分支:
$ git branch -D <feature-vulcan>
向远程仓库推送分支:
$ git push origin <master>
创建远程分支到本地:
$ git checkout -b dev origin/dev
(十一)标签管理
创建标签:
$ git tag <v1.0>
$ git tag <v1.0> <commitid>
$ git tag -a <v1.0> -m "message" <commitid>
查看所有标签:
$ git tag
查看标签信息:
$ git show <v1.0>
删除标签:
$ git tag -d <v1.0>
推送标签至远程仓库:
$ git push origin <v1.0>
一次性推送
$ git push origin --tags
删除远程仓库标签:
先本地删除标签再执行命令
$ git push origin :refs/tags/<tagname>