git 常见命令(补充)

  • 回滚到上个版本
git reset --hard HEAD^
  • 回滚到上上个版本
git reset --hard HEAD^^
  • 查看提交记录
git log

# 格式化
git log --pretty=oneline
  • 查看变更内容
git diff
  • 查看操作的每一次记录(包括回滚记录,git log在某次回滚后,不会记录这次回滚以后的所有记录,一般可以用于旧版本恢复到新版本找不到commitid时使用)
# 参考https://blog.csdn.net/ouyang_peng/article/details/84061662
git reflog
  • 丢掉工作区的修改(用版本库里的版本替换工作区的版本)
git checkout -- filename
# git checkout 有两种情况
#一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状;
#一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。
  • 把暂存区的修改会退到工作区
git reset HEAD filename
# HEAD 表示最新版本 可用commitid 代替
  • 删除一个文件
# 从版本库中删除
git rm filename
# 删除本地文件
rm filename
# 提交
git commit -m 'delete filename'
  • 查看关联的远程仓库信息
# 查看关联的远程仓库的名称
git remote

# 查看关联的远程仓库的详情信息
git remote -v
  • 本地仓库和远程仓库关联
# origin 远程库名称 默认是origin 一般用origin即可
git remote add origin https://github.com/yujuangithub0805/learngit.git
  • 本地检出一个新的分支并推送到远程仓库
git push --set-upstream origin 分支名
  • 删除远程仓库的关联
git remote remove origin
  • 修改远程仓库的关联
git remote set-url origin <newurl>
  • 本地提交到远程仓库
# 首次提交 加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。
git push -u origin master

# 非首次提交
git remote add origin

  • 创建分之
git branch dev
  • 切换分支
git checkout dev
  • 创建分支并且切换
git checkout -b dev

  • 根据某个commitId 创建分支
git checkout -b dev fd3687e

-创建分支并且关联远程分支

git checkout -b dev origin/dev

  • 查看所有本地分支
# *表示当前分支
git branch 
  • 查看所有已经存在的分支(包括远程分支)
git branch -av
  • 查看本地和远程分支的跟踪关系
git branch -vv
  • 修改代码的跟踪关系
# 将当前分支跟踪到origin的master分支
git branch -u origin/master
  • 把dev分支代码合并到当前分之
git merger dev
  • 删除某个分支
git branch -d dev
  • 查看提交记录
# --graph 查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit

  • 将工作区暂存起来
git stash
  • 查看所有的暂存的工作区
git stash list
  • 恢复工作区
git stash apply # 不会把stash内容删除,需要执行git stash drop来删除
git stash pop # 会把stash内容删除
git stash apply stash@{0} # 恢复到指定工作区
  • 复制一个特定的提交到当前分支
git cherry-pick commitId
  • 本地分支和远程分支建立关联
git branch --set-upstream branch-name origin/branch-name;
  • 本地创建tag
# 默认是当前分支的最后一次提交创建tag
git tag <tagName>

# 只想以某一个特定的提交创建tag
git tag -a <tagName> <commitId>

# 创建tag 并且标注指定标签信息
git tag -a <tagName> <commitId> -m 'XXXX'
  • 推送tag 到远程
git push origin <tagName>
  • 推送全部tag到远程
git push origin --tags

  • 查看某个标签详细信息
git show <tagName>

  • 查看本地所有tag
git tag  
git tag -l
  • 查看远程所有tag
git ls-remote --tags origin
  • 删除标签
git tag -d <tagName>
  • 删除远程tag
 git push origin:<tagName>
  • 检出标签
git checkout -b <branchName> <tagName>
原文地址:https://www.cnblogs.com/jakaBlog/p/11458208.html