Git基本使用命令

Git配置

Git最小配置

  • 配置全局账户,该账户对所有Git仓库都有效
git config --global user.name '账户名称'
git config --global user.email 'Email地址'
  • 配置局部账户,该账户对当前Git仓库有效
git config --local user.name '账户名称'
git config --local user.email 'Email地址'

查看相关配置

  • 查看global类型的配置情况
git config --global --list
  • 查看某个仓库下的配置情况
git config --local --list

本地基本操作

基本操作

  • 查看变更情况
git status
  • 查看当前工作在那个分支
git branch -v
  • 切换到指定分支
git checkout 指定分支名称
  • 把当前 目录及其子目录下所有变更都加入到暂存区
git add .
  • 把仓库内 所有变更都加入到暂存区
git add -A
  • 把指定文件添加到暂存区
git add 文件1 文件2 ...

  • 创建commit,提交当前数据
git commit

比较差异

  • 比较某文件 工作区暂存区的差异
git diff 某文件
  • 比较某文件暂存区和HEAD的差异
git diff --cache 某文件
  • 比较工作区和暂存区的所有差异
git diff
  • 比较暂存区和HEAD的所有差异
git diff --cache

暂存区与工作区之间回滚

  • 把工作区 指定文件恢复成和 *暂存区一样
git checkout 文件1 文件2 ...

  • 把暂存区 指定文件恢复和 *HEAD一样
git reset 文件1 文件2 ...

  • 把暂存区和工作区 所有文件恢复成和 *HEAD一样
git reset --hard
  • difftool比较任意两个 commit的差异
git difftool commit1 commit2

其他

  • 查看哪些文件没有被Git管控
git ls-files --others

临时任务处理

  • 把未处理完的变更先保存到 stash
git stash
  • 临时任务处理完后, 继续之前的工作
git stash pop           # 把之前任务弹出
或者
git stash apply         # 从栈顶把任务取出
  • 查看所有的 *stash
git stash list
  • 取回某次 stash的变更
git stash pop stash @{数字}

修改分支历史

  • 修改 最后一次commit
git add
git commit --amend
  • 修改 中间的commit
git rebase -i (commit的id)
git add
git rebase --contiue

查看变更日志

  • 当前分支各个commit用 *一行显示
git log --online
  • 显示最近的 n个commit
git log -n
  • 用图示显示 *所有分支历史
git log --online --graph --all
  • 查看涉及到 某文件变更的所有commit
git log 某文件
  • 某文件各行最后修改 *对应的commit以及作者
git blame 某文件

分支和标签

创建新分支

  • 基于 当前分支创建新分支
git branch 新分支
  • 基于 指定分支创建新分支
git branch 新分支 已有分支
  • 基于 某个commit创建分支
git branch 新分支 某个commit的id
  • 创建分支并且切换到该分支
git chechout -b 新分支

列出分支

  • 列出 本地分支
git branch -v
  • 列出 本地和远端分支
git branch -av
  • 列出 *远端所有分支
git branch -rv
  • 列出 名称符号某样式的远端分支
git branch -rv -l '某样式'

删除分支

  • 安全删除本地某分支
git branch -d 要删除的分支
  • 强行删除本地分支
git branch -D 要删除的分支
  • 删除已合并到master分支的所有本地分支
git branch --merged master | grep -v '^\*\ | master ' | xargs -n 1 git branch -d
  • 删除远端origin已不存在的所有本地分支
git remote prune origin

打标签

  • commit打上标签
git tag 标签名 (commit的id)

两分支之间的集合

  • A分支合入到当前分支,且为merge创建commit
git merge A分支
  • A分支合入到B分支,且为Merge创建commit
git merge A分支 B分支
  • 当前分支基于B分支做rebase,以便把B分支合入到当前分支
git rebase B分支
  • A分支基于B分支做rebase,以便把B分支合入到A分支
git rebase B分支 A分支
  • 用 *mergetool解决冲突
git mergetool

远端交互

  • 列出 *所有 remote
git remote -v
  • *增加 remote
git remote add url地址
  • *删除 remote
git remote remove (remote的名称)
  • *改变 remote的 name
git remote rename 旧名称 新名称
  • 把远端所有分支和标签的变更都 *拉到本地
git fetch remote
  • 把远端分支的变更 拉到本地,且 merge到本地分支
git pull remote名称 分支名
  • 把 *本地分支push到远端
git push remote名称 分支名
  • *删除远端分支
git push remote --delete 远端分支名
或者
git push remote:远端分支名
  • 向 *远端提交指定标签
git push remote 标签名
  • 向 *远端提交所有标签
git push remote --tags

Original: https://www.cnblogs.com/in-dark/p/16167689.html
Author: 下月初相见
Title: Git基本使用命令

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606592/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Linux服务器配置git服务

    现在 Github 已经支持个人建立私有仓库,包括国内的一些开源平台如 Gitee 等也支持私有仓库,所以直接去建立私有仓库即可。或者可以自己买服务器搭建 GitLab。但是这篇文…

    Linux 2023年6月14日
    0123
  • 《kasini3000》批量修改linux被控机密码

    《卡死你3000》,是开源,免费,跨平台的devops批量脚本框架。 网址:码云家 https://gitee.com/chuanjiao10/kasini3000 批量生成密码之…

    Linux 2023年5月27日
    0120
  • redis集群部署

    Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式…

    Linux 2023年6月7日
    0112
  • windows 挂载 NFS共享

    实验环境: NFS主机(192.168.18.10):CentOS7.0 软件包:nfs-utils、rpcbind; 客户机(192.168.18.41):windows ser…

    Linux 2023年5月27日
    0235
  • Samba:文件共享

    samba:现主要用于Linux与Windows之间的文件共享。 samba的特点: 用于Linux与Windows之间进行文件共享和打印机共享 不仅用于Windows之间的文件共…

    Linux 2023年6月13日
    0126
  • Apache Bench压力测试使用方法

    Apache Bench是Apache轻量级压力测试工具,使用方便,简单,本文章简单介绍Windows平台使用Apache bench进行接口压力测试(ab测试) ApacheBe…

    Linux 2023年6月8日
    0115
  • Java引用类型

    1 强引用 当我们使用new创建对象时,被创建的对象就是强引用。只要有强引用,GC 永远不会回收掉该对象。 Map map = new HashMap(); 2 软引用 如果一个对…

    Linux 2023年6月7日
    0124
  • JVM 运行时数据区 堆和方法区

    2、运行时数据区 哔哩哔哩 尚硅谷视频 宋红康老师 2.5、堆 堆的核心概述 一个JVM实例只存在一个堆内存,堆也是Java管理内存的核心区域 Java 堆区在JVM启动的时候即被…

    Linux 2023年6月7日
    0137
  • 利用Hugo与GitHub仓库搭建免费的个人博客

    软件下载 配置环境变量 检验环境变量 创建博客文件 创建站点文件夹 下载主题 新建博客 将个人博客部署到github存储仓库 保姆级 基于Win10环境下的Hugo免费博客搭建 软…

    Linux 2023年6月7日
    0138
  • Linux指令_曾佳豪

    一、基础指令 1、ls指令 含义:ls (list) 用法1 :#ls 含义:列出当前工作目录下所有文件/文件夹的名称 [En] Meaning: list the names o…

    Linux 2023年5月27日
    0134
  • 【Linux】CMake源码编译安装教程

    步骤: 卸载旧版本 官网下载安装包 CMake源码编译安装 检查是否安装成功 Linux下,默认安装方式: sudo apt install cmake 如果使用默认的安装方式,这…

    Linux 2023年6月13日
    0120
  • hexo 升级5.4.0出现错误解决方法-hexo-theme-butterfly

    本篇文章已同步个人博客,可移步食用。hexo 升级 5.4.0 出现错误解决方法 -hexo-theme-butterfly 周末升级了下 hexo 到新版本,发现升级后,构建时出…

    Linux 2023年6月7日
    0124
  • podman的基本用法

    podman的基本设置和使用 运行示例容器 列出正在运行的容器 检查正在运行的容器 测试 httpd 服务器 查看容器的日志 查看容器的 pid 检查点容器 恢复容器 迁移容器 停…

    Linux 2023年6月13日
    096
  • 资源笔记

    Spring Cloud Stream中文指导文档 Original: https://www.cnblogs.com/iforeverhz/p/16274259.htmlAuth…

    Linux 2023年6月7日
    0134
  • FusionAccess桌面云安装(windows AD方法)

    创建FusionAccess虚拟机 选择自定义 默认兼容 选择稍后安装操作系统 选择Linux SUSE Linux 名字位置自己选择 选择最少4个处理器 选择最少8G内存 选择仅…

    Linux 2023年6月8日
    0126
  • 基于LNMP快速简单搭建wordpress平台

    一、WordPress 简介 WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把WordPress当…

    Linux 2023年6月7日
    0116
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球