创建版本库

  • git clone <url> #克隆远程版本库
  • git init #初始化本地版本库

修改和提交

  • git status #查看状态
  • git diff #查看变更内容
  • git add . #跟踪所以改动的文件
  • git add <file> #跟踪指定的文件
  • git mv <odl> <new> #文件改名
  • git rm <file> #删除文件
  • git rm --cached <file> #停止跟踪文件但不删除
  • git commit -m "commit message" #提交所以更新过的文件
  • git commit --amend #修改最有一次提交(没用过)

查看提交历史

  • git log #查看提交历史
  • git log -p <file> #查看指定文件的提交历史
  • git blame <file> #以列表方式查看指定文件的提交历史

撤销

  • git reset --hard HEAD #撤销工作目录中所以未提交文件的修改内容
  • git checkout HEAD <file> #撤销指定的未提交文件的修改内容
  • git revert <commit> #撤销指定的提交

分支与标签

  • git branch #显示本地分支
  • git checkout <branch/tag> #切换到指定分支或标签
  • git branch <new-branch> #创建新分支
  • git branch -d <branch> #删除本地分支
  • git tag #列出所有本地标签
  • git tag <tagname> #基于最新提交创建标签
  • git tag -d <tagname> #删除标签

合并与衍合

  • git merge <branch> #合并指定分支到当前分支
  • git rebase <branch> #衍合指定分支到当前分支

远程操作

  • git remote -v #查看远程版本库
  • git remote show <remote> #查看指定远程版本库信息
  • git remote add <remote> <url> #添加远程版本库
  • git fetch <remote> #从远程库获取代码
  • git pull <remote> <branch> #下载代码及快速合并
  • git push <remote> <branch> #上传代码及快速合并
  • git push <remote> :<branch/tag-name> #删除远程分支或标签
  • git push --tags #上传所有标签

Branch命令

$ git branch //列出本地分支
$ git branch -r //列出远程分支
$ git branch -a //列出本地和远程分支
$ git branch newbranch  //新建一个分支
$ git branch -m oldbranch newbranch  //重命名一个分支
$ git branch -M oldbranch newbranch  //重命名一个分支,如果newbranch分支已经存在使用-M强制重命名
$ git branch -d(D) branchname  //删除branchname分支
$ git branch -d -r branchname  //删除远程branchname分支

删除线上的某次提交

1、本地仓库彻底回退到某一版本
$ git reset --hard xxxxx(版本号)
2、删除远程分支
$ git branch -r -d origin/branch-name
$ git push origin :branch-name
3、提交本地代码到版本仓库(与第一次创建类似)
$ git push origin master