关联文章: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,替代上一次提交,会修改commit的hash值(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 从远端remote的hotfix分支创建本地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] 同上,指定文件file,HEAD可省略
git reset [commit] 回退到指定版本,清空暂存区,不影响工作区。工作区需要手动git checkout签出
git reset --soft [commit] 移动分支master、HEAD到指定的版本,不影响暂存区、工作区,需手动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. VulnHub靶机渗透实战9-vikings

    ​本次靶机是CTF风格的靶机. 靶场地址:Vikings: 1 ~ VulnHub 网络呢还是桥接模式. Description Back to the Top A CTF machine with ...

  2. PostgreSQL常用操作合辑:时间日期、系统函数、正则表达式、库表导入导出、元数据查询、自定义函数、常用案例

    〇.参考地址 1.pg官方文档 http://www.postgres.cn/docs/9.6/index.html 2.腾讯云仓pg文档 https://cloud.tencent.com/docu ...

  3. 【Shell案例】【awk map计数&sort按指定列排序】9、统计每个单词出现的个数

    描述写一个 bash脚本以统计一个文本文件 nowcoder.txt 中每个单词出现的个数. 为了简单起见,你可以假设:nowcoder.txt只包括小写字母和空格.每个单词只由小写字母组成.单词间由 ...

  4. Jenkins&&gitlab2

    Jenkins  slave 添加jenkins slave节点: jenkins slave节点创建工作目录与基本环境配置,如果jenkins slave节点需要clone代码和执行java 代码编 ...

  5. vue-cli3打包时vue-cli-service build怎么分不同环境(npm run build:stage和npm run build:prod)

  6. 3、数组、集合、Lambda、Stream与Optional类

    一.数组: 数组保存在JVM堆内存中 1.数组的创建: (1).一维数组创建方式一: //一维数组方式一 Integer[] array01 = {1,2,3}; System.out.println ...

  7. mac下 idea 注释快捷键冲突

    你好,我是悦创. 博客首发:https://bornforthis.cn/posts/28.html 打开偏好设置,将冲突的快捷键关掉,就可以解决 idea 使用注释快捷键,会打开 help 页面的问 ...

  8. C++ 编译依赖管理系统分析以及 srcdep 介绍

    C++ 编译依赖管理系统分析以及 srcdep 介绍 如果用 C++ 写一个中小型软件,有要用到很多第三方库的话,相信不少人会觉得比较麻烦.很多新兴的语言都有了统一的依赖管理系统和构建系统,但是 C/ ...

  9. 题解 P5607 [Ynoi2013] 无力回天 NOI2017

    简要题意 其实我觉得这个部分可以不要,因为这道题的题面还是很清晰的. 你需要维护一个数据结构,支持区间异或和区间求与 \(v\) 的最大异或和. 思路 对于这种区间问题,最容易想到的就是 分块 线段树 ...

  10. Matplotlib学习笔记2 - 循序渐进

    Matplotlib学习笔记2 - 循序渐进 调整"线条" 在Matplotlib中,使用plot函数绘制的线条其实是一种特定的类,matplotlib.lines.Line2D. ...