陈斌彬的技术博客

Stay foolish,stay hungry

Git 命令大全

  • 关联用户:$ git config –global user.name “yourName”
  • 关联邮箱账号:$ git config –global user.email “yourEmail”
  • 创建新文件夹:$ mkdir
  • 显示当前目录:$ pwd
  • 将某个目录变成Git仓库:$ git init
  • 将文件添加到仓库:$ git add
  • 把文件提交到仓库,-m后面输入的是本次提交的说明:$ git commit -m “wrote a readme file”
  • 显示仓库当前的状态:$ git status
  • 查看文件的修改内容:$ git diff
  • 查看提交历史:$ git log
  • 单行显示提交历史:$ git log –pretty=oneline
  • 把当前版本回退到上一个版本:$ git reset –hard HEAD^
  • 查看 readme.txt 文件的内容:$ cat readme.txt
  • 回退到某一版本[例如3628164]:$ git reset –hard 3628164
  • 查看命令历史:$ git reflog
  • 查看文件工作区和版本库里最新版本的区别:$ git diff HEAD –
  • 丢弃文件工作区的修改:$ git checkout –
  • 把文件暂存区的修改回退到工作区:$ git reset HEAD
  • 删除文件:$ rm
  • 创建SSH Key:$ ssh-keygen -t rsa -C “yourEmail”
  • 建立本地仓库与GitHub远程仓库的关联:$ git remote add origin git@github.com:GitHubName/.git 或者:$ git remote add origin https://github.com/GitHubName/.git
  • 把本地库的内容推送到远程,加-u参数,把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令:$ git push -u origin master
  • 简化后的推送命令:$ git push origin master
  • 从GitHub远程仓库克隆:$ git clone git@github.com:GitHubName/.git 或者:$ git clone https://github.com/GitHubName/.git
  • 查看文件列表:$ ls
  • 创建“dev”分支:$ git branch dev
  • 切换到“dev”分支:$ git checkout dev
  • 创建“dev”分支并且切换到“dev”分支:$ git checkout -b dev
  • 列出所有分支,当前分支前面会标一个*号:$ git branch
  • 合并“dev”分支到当前分支:$ git merge dev
  • 删除dev分支:$ git branch -d dev
  • 用带参数的 git log 查看分支的合并情况:$ git log –graph –pretty=oneline –abbrev-commit –no-ff参数,表示禁用Fast forward,因为本次合并要创建一个新的commit,所以加上-m参数,把commit描述写进去:$ git merge –no-ff -m “merge with no-ff” dev
  • 把当前工作现场“储藏”起来:$ git stash
  • 查看储藏的工作现场列表:$ git stash list
  • 恢复“储藏”的工作现场同时把stash内容也删除:$ git stash pop
  • 恢复“储藏”的工作现场但不删除stash内容,需要用git stash drop来删除:$ git stash apply
  • 丢弃一个没有被合并过的“dev”分支:$ git branch -D dev
  • 查看远程库的信息:$ git remote
  • 查看远程库的详细信息:$ git remote -v
  • 推送“dev”分支到远程:$ git push origin dev
  • 在本地创建dev和远程分支对应的dev分支:$ git checkout -b dev origin/dev
  • 指定本地dev分支与远程origin/dev分支的链接:$ git branch –set-upstream dev origin/dev
  • 抓取分支:$ git pull
  • 打一个新标签v1.0:$ git tag v1.0
  • 查看所有标签:$ git tag
  • 对某一 commit id(例如6224937) 打标签:$ git tag v0.9 6224937
  • 查看v0.9标签信息:$ git show v0.9
  • 创建带有说明的标签,用-a指定标签名,-m指定说明文字,3628164为示例commit id:$ git tag -a v0.1 -m “version 0.1 released” 3628164
  • 通过-s用私钥签名一个标签:$ git tag -s v0.2 -m “signed version 0.2 released” fec145a
  • 删除本地v0.1标签:$ git tag -d v0.1
  • 推送v1.0标签到远程:$ git push origin v1.0
  • 一次性推送全部尚未推送到远程的本地标签:$ git push origin –tags
  • 删除本地v0.9标签:$ git tag -d v0.9
  • 删除远程v0.9标签:$ git push origin :refs/tags/v0.9
  • 让Git显示颜色:$ git config –global color.ui true
  • 配置st为status的别名:$ git config –global alias.st status