Desc: .git 是工作区的根目录,通过.git 定位版本库,shell 命令和 Linux 中一样。pull = fetch + merge,cat .git/config查看本地分支和远程分支的对应关系、远程分支是否 tracking。

基础使用

git config --list ##显示git配置文件的内容
git config <section>.<key> ##读取某个配置的键值
git config <section>.<key>  <value> ##更改或设置某个配置的键值
git config --global --unset <section>.<key> ##取消删除全局配置key(不加--global参数则编辑当前项目配置)
git config --global --edit ##编辑全局配置(不加--global参数则编辑当前项目配置)
alias <command>='<value>' ##设置指令的别名,不带任何参数仅显示所有设置的别名
unalias <command> ##删除某个指令的别名
e.g. alias showdir='git rev-parse --show-prefix' ##别名showdiralias #查看git config --global alias.ci commit ##别名git cigit conig --global --list ##查看
git clone ##从远程仓库中检出项目(默认定位到master分支)
git clone -b <branchName> git地址 #指定分支clone
git clone git地址 [myDirName] #clone时指定项目的目录名称
git branch -a ##查看所有分支
git branch -r ##查看远程分支
git fetch -p 或 git fetch origin --prune 或git remote prune origin ##从远程拉取所有信息,更新远程分支列表
git push REMOTE '*:*'  或 git push REMOTE --all ## 要推送所有分支,请使用(用远程的名称替换REMOTE,例如“origin”)
git push <远程主机名> <本地分支名>:<远程分支名>
git push origin_git lasted:master  ## 将本地lasted分支推送到远程origin_git/master分支【可在不切换分支的情况下进行分支合并】
git pull <远程主机名> <远程分支名>:<本地分支名>
git pull origin next:master ##要取回origin主机的next分支,与本地的master分支合并
git branch -D localBranch_name #删除本地分支
git branch -m old_local_branch_name new_local_branch_name  #重命名本地分支
git push origin --delete <branchName> #删除远程分支
git checkout 分支名 ##切换到本地其他分支
git status [-s]  ##查看本地工作区的文件状态(和远程仓库中文件对比的差异)
git diff ##工作区和暂存区的文件差异对比
git diff HEAD ##工作区和版本库中的文件差异对比
git diff --cached | --staged ##暂存区和版本库中的文件差异对比
git grep 字符串 ##显示匹配指定字符串的文件
git rev-parse --git-dir ##显示版本库.git目录所在的路径
git rev-parse --show-toplevel ##显示工作区的根目录(即.git所在目录)
git rev-parse --show-prefix ##显示相对于工作区根目录的相对目录git reset HEAD ##暂存区的目录树被master分支指向的目录树替换,工作区不受影响
git checkout .或git checkout -- <file> ##用暂存区的所有文件或指定的文件替换工作区的文件(注意:会清除工作区中未添加到暂存区的改动)
git checkout HEAD .或git checkout HEAD <file> ##用HEAD指向的master分支中的全部或部分文件替换工作区和暂存区中的文件(注意:会清除工作区和暂存区中的改动)

Tag 标签操作

git tag -a v0.1.2 -m “0.1.2版本” #创建标签
git tag -a v0.1.1 9fbc3d0 #补打标签,9fbc3d0 是commit的version号
git tag -l ['v1.8.5*'] #[模糊]查询所有Tag
git tag -d v0.1.2 #删除本地标签
git show v0.1.2 #查看标签详情
git push origin --tags #推送所有本地tag到远程
git push --follow-tags #follow-tags参数会使得 commit 以及与之相关的标签(注意,不是所有的标签)一起推送
git push origin v0.1.2 #推送标签至远程仓库(git push不会推送标签,需要显示操作)
git push origin --delete tag v.0.1.2 #删除远程标签
git目前也没有提供一个直接的命令和参数选项可以删除本地的在远程已经不存在的tag(我目前是没找到有关这类tag问题的git命令~~,有知道的同学可以告知我下,互相进步)
git tag -l | xargs git tag -d #删除本地所有tag
git fetch -p #拉取远程所有分支和tag信息,并更新到本地```

命令行 commit 操作

git commit -a ##慎用,对本地所有变更的文件执行提交操作(包括修改和删除,但不包括未被版本库跟踪的文件)
git add  <fileName> ##跟踪新文件(将工作区的改动文件添加到暂存区)
git add -p [或--patch] ##GUI遍历所有改动文件,根据需要将改动的代码块添加到跟踪列表中
git commit -m <commment>  ##添加注释
git push ##同步到远程git仓库
git rm --cached <file> ##从当前跟踪列表移除文件,工作区不受影响
git commit --amend ##修改提交过得注释信息Git push orgin master ##将改动代码同步到远程服务器上(将改动代码同步到远程仓库的分支中)

查看提交记录 git log 和 git reflog

git log 可查看所有提交过的版本信息,git reflog 可查看本地所有分支的所有操作记录(包括已删除的 commit 记录和 reset 记录)

git log <file>      # 查看该文件每次提交记录
git log -p <file>   # 查看每次详细修改内容的diff
git log -p -2       # 查看最近两次详细修改内容的diff
git show <id>     #查看某次提交的文件差异信息,id至少提供前面六个字符
git merge branch_name #将分支branch_name上的代码合并到当前分支中(和git rebase branch_name效果一样)
stash缓存改动代码
git stash list #查看缓存列表
git stash save ‘备注信息’ #将工作区所有改动缓存到当前分支中
git stash apply stash@{0} #将stash@{0}缓存应用到当前分支中(不删除这个缓存历史)
git stash pop #将最新的缓存应用到当前分支中(并删除这个缓存历史)

PS: stash 缓存适用于临时切换分支时缓存本地改动代码

解决.gitignore 中被列举的文件仍然被 git 跟踪的问题

.gitignore 只能忽略当前没有入库的文件(即对已经入库跟踪的文件无效),对已经入库的文件取消跟踪,执行

  1. git rm --cached file,再提交就可以了。
  2. git rm file #删除本地文件并取消 git 跟踪

git 命令操作手册大全相关推荐

  1. git 命令操作总结

    git 命令操作总结 git: 分布式版本控制工具 (项目代码的维护管理 以及 团队协作开发,项目的历史版本穿梭 互相分享共享) GitHub 平台 全球国际化平台网站: GitHub.com 程序员 ...

  2. VSCode自定义代码片段15——git命令操作一个完整流程

    git命令操作一个完整流程 {// git'command// 15 如何自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 新建全局代码片段文件... =&g ...

  3. Docker系列之常用命令操作手册

    Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Docker命令进行实践 文章目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4 ...

  4. Git命令大全或者使用Git命令操作也是Git命令总结

    Git的学习总结 学习Git的网站为: https://learngitbranching.js.org  闯关形式的学习方法,试用与电脑操作,手机端体验可能不佳 学习过程中会不断的进行提示,演示,然 ...

  5. java代码操作git_JGit--实现Git命令操作的Java API

    问题来源:最近在做一个项目,其中有一块需要用户上传代码到服务器中,然后分析用户所传的代码,传代码最直接的方式就是用户打个包上传,但是后期再分析代码的时候还要代码实现解压上传的代码,操作起来比较复杂. ...

  6. Linux 命令操作手册

    文章目录 一.Boot项目前后台 二.进程 三.防火墙 四.查看系统版本 五.权限赋予 六.远程同步文件 七.目录 八.文件 九.解/压缩 十 .大文件分割方案 十一.查看文件中关键词出现的次数 十二 ...

  7. 收好这份 Git 命令应急手册,关键时刻可保你一命

    今天跟大家分享一个比较有意思的网站 - Oh shit, git!. http://ohshitgit.com/ 这个网站整理了一些 Git 新手在使用 Git 时常会遇到的各种突发状况,并贴心的给出 ...

  8. Linux下SVN 命令操作手册

    1.将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:s ...

  9. idea项目代码上传git 命令操作 版本回退 warning: LF will be replaced by CRLF in .idea/workspace.xml.

    1.项目根目录右键 选择 Git Bash Here 2..初始化 git init admin@DESKTOP-JQ2K526 MINGW64 /d/workSpaceWork/RSADemo $ ...

最新文章

  1. 信息系统项目管理师-计算题专题(一)进度类计算
  2. PostGresSQL简介与Windows上的安装教程
  3. 学习笔记——本地事务ACID四大特性
  4. sklearn svm如何选择核函数_机器学习之支持向量机多种核模型对比
  5. Linux vi 编辑器常见命令的使用
  6. pic单片机内部时钟校准c语言,PIC系列单片机片内定时器实时时钟的实现(转)
  7. C/C++排序算法(6)堆排序
  8. 贪心 区间覆盖最小值
  9. 介绍下Javascript原型和原型链的特点?
  10. python脚本转换为EXE文件
  11. 程序设计流程图、项目管理流程图模板分享
  12. Java 使用嵌套 for 循环打印皇冠
  13. C语言经典面试题 与 C语言面试宝典
  14. android手机如何截屏,安卓手机怎么截图? (全文)
  15. Git版本控制管理——补丁
  16. 微信小程序登录与跳转到首页
  17. SSM电影点播系统03-UI界面设计
  18. MapReduce工作流程图
  19. kitti数据集转换成可运行的YOLOv5格式
  20. 关于windows powershell 使用ren命令重命名,报错“找不到xxx处的项”

热门文章

  1. 壁纸 - 精选热门高清图片和主题专辑
  2. windows下配置TensorFlow-GPU完整教程
  3. 均衡教育计算机教室解说,义务教育均衡发展解说词.pdf
  4. 免费SEO外链,轻松提升网站排名!
  5. 所有类型的Redis安装部署
  6. 腾讯云Ubuntu 18.04.1开启root用户远程登录并解决SSH服务器拒绝了密码的问题
  7. 对于keep-alive的理解
  8. php空间流量是,无忧主机php空间30G月流量支持多少用户访问
  9. 系统结构期末复习(三)流水线技术
  10. matlab在地图上标点,如何用matlab在地图上显示数据