git常用命令总结

断了今生、忘了曾经 提交于 2020-02-03 00:21:16

git常用命令总结

添加文件

  • git add -A 提交所有变化
  • git add -u 提交被修改和被删除的文件(不包括新文件)
  • git add . 提交新文件和被修改的文件(不包括被删除的文件)

删除文件

  • git rm等同于 git rm --cached + 文件名
  • git rm --cached + 文件名> 这个命令不会删除物理文件,只是将已经add进缓存的文件删除。
  • git rm --f + 文件名> 不仅将文件从缓存区删除,而且还会将物理文件删除,注意配合commit使用。
  • git checkout – 文件
    • 文件修改后没有放入缓存区,则撤销工作区修改回到和当前版本库一致的状态
    • 文件加入了缓存区,又做了修改,则回到加入缓存区时的状态
  • git reset HEAD + 文件名 取消缓存区的修改,不加文件名,即取消所有缓存区的修改,然后通过git checkout – 文件,就可回到与版本库一致的状态,或者git restore .。

查看commit信息

  • git log 查看历史记录
  • git log --pretty=oneline 简单版历史记录
  • git log --graph --pretty=oneline --abbrev-commit 获得一个漂亮的commit列表

版本回退

  • git reset --hard HEAD^ 回到上一个版本
  • git reset --hard HEAD@{数字} 回到指定版本
  • git reset --hard 版本号 回退到指定版本
  • git reflog 查看版本号
  • git revert commit_id 撤销指定的版本,会产生一次新的commit

与远程库联系

  • git remote add origin 地址 建立与远程库的连接
  • git push -u origin master 把本地库推送到远程库
  • git clone 链接 克隆远程库到本地
  • git checkout -b 分支名 origin/远程库的分支名 将远程库的分支拉到本地
  • git remote 查看远程库信息
  • git remote -v 查看远程库详细信息
  • git checkout -b dev origin/dev 把远程的分支加入到本地
  • git branch --set-upstream-to=origin/dev dev 设置本地分支与远程分支的连接
  • git push origin --delete 分支名 删除一个远程分支

分支操作

  • git checkout -b dev分支 创建并切换到dev分支
  • git branch dev 创建分支
  • git checkout branch 切换分支
  • git branch 查看分支
  • git branch -a 查看分支包括远程分支
  • git merge dev 合并某分支到当前分支
  • git branch -d dev 删除分支
  • git switch -c dev 创建并切换到新的分支
  • git switch master 直接切换到已有的分支
  • git merge --no-ff -m “保留信息” dev 合并分支并留下记录
  • git cherry pick 版本号 复制某一次分支的commit到指定分支

暂存状态

  • git stash 保存当前的工作区和缓存区去状态,然后回到最新的版本库。
  • git stash list 显示保存记录
  • git stash apply 版本号 还原工作现场,包括工作区和缓存区,但不会删除记录
  • git stash drop [版本号] 删除记录
  • git stash pop 版本号 还原工作现场,并且删除记录

标签操作

  • git tag (tagname) (版本号) 创建标签,方便记忆,默认一最近一次的commit为对象
  • git tag -a tagname -m “blablabla…” 指定标签信息
  • git show tagname 查看标签的详细信息
  • git tag 显示所有标签的信息
  • git push origin tagname 推送一个标签,tagname改为–tags,推送全部的标签
  • git tag -d tagname 删除一个本地标签
  • git push origin :refs/tags/tagname 可以删除一个远程标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!