关联文章:Git入门图文教程(1.5W字40图)--深入浅出、图文并茂

指令-查看状态信息

指令 描述
git --version 查看git版本
git status 查看本地仓库状态,比较常用的指令,加参数-s简洁模式
git [指令] -h 查看指令帮助信息
git [指令] --help 打开指令详细帮助页面
git remote -v 查看所有远程仓库,不带参数-v只显示名称
git branch 查看分支列表,以及当前分支
git tag 查看标签列表
git log -n20 查看日志(最近20条),可省略n-20;参数--graph可视化显示分支关系
git log --follow [file] 显示某个文件的版本历史,包括文件改名
git reflog 查看所有可用的历史版本记录(实际是HEAD变更记录),包含被回退的记录,常用来撤销回退
git blame [file] 以列表形式查看指定文件的历史修改记录
git config --list 查看配置信息,包括系统(--system)+全局(--global)+项目(--local)配置
git config --list --system 查看系统配置,全局(--global)、项目(--local)配置配置类似
cat [file] 读取一个文件,展示其文件内容

指令-代码/仓库管理

指令 描述
git clone [git地址] 从远程仓库克隆到本地(当前目录)
git init [文件目录] 初始化创建Git仓库,如果不指定[文件目录],则在当前目录创建。
git add [file1] [file2] 添加文件到暂存区,包括修改的文件、新增的文件
git add [dir] 同上,添加目录到暂存区,包括子目录
git add . 同上,添加所有修改、新增文件(未跟踪)到暂存区
git rm [file] 删除工作区文件,并且将这次删除放入暂存区
git commit -m '说明' 提交变更,参数-m设置提交的描述信息,应该正确提交,不带该参数会进入说明编辑模式
git commit -a 参数-a,表示直接从工作区提交到版本库,略过了git add步骤,不包括新增的文件
git commit [file] 提交暂存区的指定文件到仓库区
git commit --amend -m 使用一次新的commit,替代上一次提交,会修改commithash值(id)
git cherry-pick [commit] 拣选提交,复制一个特定的提交到当前分支,而不管这个提交在哪个分支
git log -n20 查看日志(最近20条),不带参数-n则显示所有日志
git log -n20 --oneline 参数“--oneline”可以让日志输出更简洁(一行)
git log -n20 --graph 参数“--graph”可视化显示分支关系
git log --follow [file] 显示某个文件的版本历史
git blame [file] 以列表形式显示指定文件的修改记录
git reflog 查看所有可用的历史版本记录(实际是HEAD变更记录),包含被回退的记录(重要

指令-diff

指令 描述
git diff 查看暂存区和工作区的差异
git diff [file] 同上,指定文件
git diff --cached 查看已暂存的改动,就是暂存区与新版本HEAD进行比较
git diff --staged 同上
git diff --cached [file] 同上,指定文件
git diff HEAD 查看已暂存的+未暂存的所有改动,就是与最新版本HEAD进行比较
git diff HEAD~ 同上,与上一个版本比较。HEAD~表示上一个版本,HEAD~10为最近第10个版本
git diff [id] [id] 查看两次提交之间的差异
git diff [branch] 查看工作区和分支直接的差异

指令-远程仓库

指令 描述
git clone [git地址] 从远程仓库克隆到本地(当前目录)
git remote -v 查看所有远程仓库,不带参数-v只显示名称
git remote show [remote] 显示某个远程仓库的信息
git remote add [name] [url] 增加一个新的远程仓库,并命名
git remote rename [old] [new] 修改远程仓库名称
git pull [remote] [branch] 取回远程仓库的变化,并与本地版本合并
git pull 同上,针对当前分支
git fetch [remote] 获取远程仓库的所有变动到本地仓库,不会自动合并!需要手动合并
git push 推送当前分支到远程仓库
git push [remote] [branch] 推送本地当前分支到远程仓库的指定分支
git push [remote] --force/-f 强行推送当前分支到远程仓库,即使有冲突,️很危险!
git push [remote] --all 推送所有分支到远程仓库
git push –u 参数–u表示与远程分支建立关联,第一次执行的时候用,后面就不需要了
git remote rm [remote-name] 删除远程仓库
git pull --rebase 使用rebase的模式进行合并

指令-分支

指令 描述
git branch 列出所有本地分支,加参数-v显示详细列表,下同
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支,用不同颜色区分
git branch [branch-name] 新建一个分支,但依然停留在当前分支
git branch -d dev 删除dev分支,-D(大写)强制删除
git checkout -b dev 从当前分支创建并切换到dev分支
git checkout -b feature1 dev 从本地dev分支代码创建一个 feature1分支,并切换到新分支
git branch [branch] [commit] 新建一个分支,指向指定commit id
git branch --track [branch] [remote-branch] 新建一个分支,与指定的远程分支建立关联
git checkout -b hotfix remote hotfix 从远端remotehotfix分支创建本地hotfix分支
git branch --set-upstream [branch] [remote-branch] 在现有分支与指定的远程分支之间建立跟踪关联:
git branch --set-upstream hotfix remote/hotfix
git checkout [branch-name] 切换到指定分支,并更新工作区
git checkout . 撤销工作区的(未暂存)修改,把暂存区恢复到工作区。
git checkout HEAD . 撤销工作区、暂存区的修改,用HEAD指向的当前分支最新版本替换
git merge [branch] 合并指定分支到当前分支
git merge --no-ff dev 合并dev分支到当前分支,参数--no-ff禁用快速合并模式
git push origin --delete [branch-name] 删除远程分支
git rebase master 将当前分支变基合并到master分支
switch:新的分支切换指令 切换功能和checkout一样,switch只单纯的用于切换
git switch master 切换到已有的master分支
git switch -c dev 创建并切换到新的dev分支

指令-标签管理

指令 描述
git tag 查看标签列表
git tag -l 'a*' 查看名称是“a”开头的标签列表,带查询参数
git show [tagname] 查看标签信息
git tag [tagname] 创建一个标签,默认标签是打在最新提交的commit上的
git tag [tagname] [commit id] 新建一个tag在指定commit上
git tag -a v5.1 -m'v5.1版本' 创建标签v5.1.1039-a指定标签名,-m指定说明文字
git tag -d [tagname] 删除本地标签
git checkout v5.1.1039 切换标签,同切换分支
git push [remote] v5.1 推送标签,标签不会默认随代码推送推送到服务端
git push [remote] --tags 提交所有tag

指令-撤销变更

指令 描述
git checkout . 撤销工作区的(未暂存)修改,把暂存区恢复到工作区。不影响暂存区,如果没暂存,则撤销所有工作区修改
git checkout [file] 同上,file指定文件
git checkout HEAD . 撤销工作区、暂存区的修改,用HEAD指向的当前分支最新版本替换工作区、暂存区
git checkout HEAD [file] 同上,file指定文件
git reset 撤销暂存区状态,同git reset HEAD,不影响工作区
git reset HEAD [file] 同上,指定文件fileHEAD可省略
git reset [commit] 回退到指定版本,清空暂存区,不影响工作区。工作区需要手动git checkout签出
git reset --soft [commit] 移动分支masterHEAD到指定的版本,不影响暂存区、工作区,需手动git checkout签出更新
git reset --hard HEAD 撤销工作区、暂存区的修改,用当前最新版
git reset --hard HEAD~ 回退到上一个版本,并重置工作区、暂存区内容。
git reset --hard [commit] 回退到指定版本,并重置工作区、暂存区内容。
git revert [commit] 撤销一个提交,会用一个新的提交(原提交的逆向操作)来完成撤销操作,如果已push则重新push即可

指令-stash

指令 描述
git stash 把未提交内容隐藏起来,包括未暂存、已暂存。 等以后恢复现场后继续工作
git stash list 查看所有被隐藏的内容列表
git stash pop 恢复被隐藏的内容,同时删除隐藏记录
git stash save "message" git stash,可以备注说明message
git stash apply 恢复被隐藏的文件,但是隐藏记录不删除
git stash drop 删除隐藏记录

命令行的退出方式

有些git命令的执行并不是一次就完成了,会有连续的后续操作。

① “git log”退出git log输出历史日志记录,比较多的时候先出现一部分,输入回车持续输出。

  • 退出方式:输入“q”。

② “git commit”退出git commit没有带-m参数时,会进入vim编辑模式,等待输入提交的描述信息。

  • 保存并退出:

    1. 按 Esc 键退出编辑模式,英文模式下输入 :wq ,然后回车。
    2. 按 Esc 键退出编辑模式,大写英文模式下输入 ZZ ,然后回车。
  • 不保存退出:
    1. 按 Esc 键退出编辑模式,英文模式下输入 :q! ,然后回车。
    2. 按 Esc 键退出编辑模式,英文模式下输入 :qa! ,然后回车。

Git常用指令集合🔥的更多相关文章

  1. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  2. git常用指令整理

    git常用指令一览表 GIT指令 说明 git add . 将全部文件的内容加到Git索引以便执行commit. 这个指令不会检查文件夹中是否有文件被删除. 要注意的是,只有执行" git ...

  3. 实践中的Git常用指令分析

    从工作开始,一直都在使用为知笔记(作为程序员需要知道的内容很多---不需要很深入理解,一段时不使用的东西可能就会忘记).但本周一同步不同PC端时,了解到为知会在2017/1/1开始收费! 既然收费了, ...

  4. git常用指令

    <a>github的提交方式      git status     (1)git add .--------------------存储到本地       git add -u      ...

  5. xcode svn commit is not under version control 和 git常用指令

    使用Xcode提交一个第三方库时,由于包含资源文件,总是提交不了,提示报错:XXX commit is not under version control (1) 网上查了下,得知 xcode对于sv ...

  6. Git常用指令和GitHub操作总结

    Git版本管理工具(CVS) 首先粘上两个Git的基础链接~ 阮一峰:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html 廖雪峰:h ...

  7. git常用指令汇总

    命令行指令 Git 全局设置 git config --global user.name "cqu2003" git config --global user.email &quo ...

  8. Git常用指令整理(Git Cheat Sheet)

    [Toc] 1. 创建 复制一个已创建的仓库:git clone ssh://user@domain.com/repo.git 创建一个新的本地仓库:git init 2. 本地修改 显示工作路径下已 ...

  9. git 常用指令

    下载项目 git clone https://git.oschina.net/jianqingwang/jianblog.git 注意,clone跟的是项目地址 查看分支(也就是版本) git bra ...

  10. git常用命令集合

    git命令 git init:创建一个仓库并在目录下新建一个.git的文件(初始化一个git仓库) 注:.git文件在工作区,是一个隐藏文件(用ls -ah命令查看),但是它不算工作区,而是git 的 ...

随机推荐

  1. devexpress中dockManager保存布局后恢复不正常

    在使用dockManager保存布局后进行恢复发现不正常,与中间的gridcontorl接触的都不行.gridcontorl设置的填充是fill 所以在在界面上再添加一个PanelControl控件并 ...

  2. lauyi渲染

    下拉框 <div class="layui-form-item x-city" id="start"> <label class=" ...

  3. windows10 设置VS一类的不提供兼容性视图的程序默认管理员启动

    选择兼容性疑难解答: 选择疑难解答程序: 下一步后保存即可.

  4. Solon v1.11.0 发布,Hello Java

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  5. Servlet面试题合集

    servlet的生命周期 在创建servlet对象时,通过调用.init()方法进行初始化 通过service()方法来接收客户端的请求.根据请求方式的不同转发给对应的doGet()或doPost() ...

  6. 【Shell脚本案例】案例6:查看网卡实时流量

    一.背景 监控,对服务器查看实时流量 了解服务器的数据传输量 二.说明 1.获取网络流量 ifconfig查看网卡就能看到数据包传输情况 2.可以使用工具查看 iftop cat /proc/net/ ...

  7. Thrift RPC添加access log

    前言: 当我们在部署web服务的时候,web容器通常都会记录来自客户端的访问日志.而当我们使用Thrift RPC服务的时候,Thrift服务则不会给我们自动记录客户端的访问日志. 通过这篇文章,你可 ...

  8. CH334H与GL85x功能对比(过流检测与电源控制说明)

    CH334H与GL85x功能对比 CH334H是符合 USB2.0 协议规范的高性能MTT 4 端口 USB2.0  HUB 控制器芯片,高ESD特性,工业级设计,外围精简,可应用于计算机和工控机主板 ...

  9. day13-功能实现12

    家居网购项目实现012 以下皆为部分代码,详见 https://github.com/liyuelian/furniture_mall.git 29.功能27-Ajax检验注册名 29.1需求分析/图 ...

  10. 将xlsx列表文件转为md列表

    转换网站: https://tableconvert.com/ 在这篇文章中,我将告诉你如何快速的将Excel转换为markdown表格,以及如何将Google Docs,Numbers,网页中的表格 ...