Git命令大全

git命令大全 一、基本的linux命令 cd 进入某个目录 pwd 显示当前目录路径 ls(ll) 列出当前目录的文件 ll就是ls -l,列出详细信息 touch 新建一个文件 rm 删除要给文件,加上-rf,就是强制删除目录 mkdir 新建一个目录 mv 移动文件,或者是更改文件名称,mv index.html ./aa,这就是将index.html移动到./aa目录下。mv index.html ./......... 阅读详情

Git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下:

git

关于git,首先需要了解几个名词,如下:

Workspace           //工作区
Index / Stage       //暂存区
Repository          //仓库区(或本地仓库)
Remote              //远程仓
 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

一、新建代码库

// 在当前目录新建一个Git代码库
$ git init

// 新建一个目录,将其初始化为Git代码库
$ git init [project-name]

// 下载一个项目和它的整个代码历史
$ git clone [url]
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

二、配置

Git的设置文件为.gitconfig,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。

// 显示当前的Git配置
$ git config --list

// 编辑Git配置文件
$ git config -e [--global]

// 设置提交代码时的用户信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

三、增加/删除文件

// 添加指定文件到暂存区
$ git add [file1] [file2] ...

// 添加指定目录到暂存区,包括子目录
$ git add [dir]

// 添加当前目录的所有文件到暂存区
$ git add .

// 添加每个变化前,都会要求确认
// 对于同一个文件的多处变化,可以实现分次提交
$ git add -p

// 删除工作区文件,并且将这次删除放入暂存区
$ git rm [file1] [file2] 

// 停止追踪指定文件,但该文件会保留在工作区
$ git rm --cached [file]

// 改名文件,并且将这个改名放入暂存区
$ git mv [file-original] [file-renamed]

 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

四、代码提交

// 提交暂存区到仓库区
$ git commit -m [message]

// 提交暂存区的指定文件到仓库区
$ git commit [file1] [file2] ... -m [message]

// 提交工作区自上次commit之后的变化,直接到仓库区
$ git commit -a

// 提交时显示所有diff信息
$ git commit -v

// 使用一次新的commit,替代上一次提交
// 如果代码没有任何新变化,则用来改写上一次commit的提交信息
$ git commit --amend -m [message]

// 重做上一次commit,并包括指定文件的新变化
$ git commit --amend [file1] [file2] 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

五、分支

// 列出所有本地分支
$ git branch

// 列出所有远程分支
$ git branch -r

// 列出所有本地分支和远程分支
$ git branch -a

// 新建一个分支,但依然停留在当前分支
$ git branch [branch-name]

// 新建一个分支,并切换到该分支
$ git checkout -b [branch]

// 新建一个分支,指向指定commit
$ git branch [branch] [commit]

// 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]

// 切换到指定分支,并更新工作区
$ git checkout [branch-name]

// 切换到上一个分支
$ git checkout -

// 建立追踪关系,在现有分支与指定的远程分支之间
$ git branch --set-upstream [branch] [remote-branch]

// 合并指定分支到当前分支
$ git merge [branch]

// 选择一个commit,合并进当前分支
$ git cherry-pick [commit]

// 删除分支
$ git branch -d [branch-name]

// 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42

六、标签

// 列出所有tag
$ git tag

// 新建一个tag在当前commit
$ git tag [tag]

// 新建一个tag在指定commit
$ git tag [tag] [commit]

// 删除本地tag
$ git tag -d [tag]

// 删除远程tag
$ git push origin :refs/tags/[tagName]

// 查看tag信息
$ git show [tag]

// 提交指定tag
$ git push [remote] [tag]

// 提交所有tag
$ git push [remote] --tags

// 新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

七、查看信息

// 显示有变更的文件
$ git status

// 显示当前分支的版本历史
$ git log

// 显示commit历史,以及每次commit发生变更的文件
$ git log --stat

// 搜索提交历史,根据关键词
$ git log -S [keyword]

// 显示某个commit之后的所有变动,每个commit占据一行
$ git log [tag] HEAD --pretty=format:%s

// 显示某个commit之后的所有变动,其"提交说明"必须符合搜索条件
$ git log [tag] HEAD --grep feature

// 显示某个文件的版本历史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]

// 显示指定文件相关的每一次diff
$ git log -p [file]

// 显示过去5次提交
$ git log -5 --pretty --oneline

// 显示所有提交过的用户,按提交次数排序
$ git shortlog -sn

// 显示指定文件是什么人在什么时间修改过
$ git blame [file]

// 显示暂存区和工作区的差异
$ git diff

// 显示暂存区和上一个commit的差异
$ git diff --cached [file]

// 显示工作区与当前分支最新commit之间的差异
$ git diff HEAD

// 显示两次提交之间的差异
$ git diff [first-branch]...[second-branch]

// 显示今天你写了多少行代码
$ git diff --shortstat "@{0 day ago}"

// 显示某次提交的元数据和内容变化
$ git show [commit]

// 显示某次提交发生变化的文件
$ git show --name-only [commit]

// 显示某次提交时,某个文件的内容
$ git show [commit]:[filename]

// 显示当前分支的最近几次提交
$ git reflog
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60

八、远程同步

# 下载远程仓库的所有变动
$ git fetch [remote]

# 显示所有远程仓库
$ git remote -v

# 显示某个远程仓库的信息
$ git remote show [remote]

# 增加一个新的远程仓库,并命名
$ git remote add [shortname] [url]

# 取回远程仓库的变化,并与本地分支合并
$ git pull [remote] [branch]

# 上传本地指定分支到远程仓库
$ git push [remote] [branch]

# 强行推送当前分支到远程仓库,即使有冲突
$ git push [remote] --force

# 推送所有分支到远程仓库
$ git push [remote] --all
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

九、撤销

// 恢复暂存区的指定文件到工作区
$ git checkout [file]

// 恢复某个commit的指定文件到暂存区和工作区
$ git checkout [commit] [file]

// 恢复暂存区的所有文件到工作区
$ git checkout .

// 重置暂存区的指定文件,与上一次commit保持一致,但工作区不变
$ git reset [file]

// 重置暂存区与工作区,与上一次commit保持一致
$ git reset --hard

// 重置当前分支的指针为指定commit,同时重置暂存区,但工作区不变
$ git reset [commit]

// 重置当前分支的HEAD为指定commit,同时重置暂存区和工作区,与指定commit一致
$ git reset --hard [commit]

// 重置当前HEAD为指定commit,但保持暂存区和工作区不变
$ git reset --keep [commit]

// 新建一个commit,用来撤销指定commit
// 后者的所有变化都将被前者抵消,并且应用到当前分支
$ git revert [commit]

// 暂时将未提交的变化移除,稍后再移入
$ git stash
$ git stash pop
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

十、其他

// 生成一个可供发布的压缩包
$ git archive
 
    所有项目清单和源代码 这是我大学所做的项目清单,一共有五个项目,但是有的项目规模不大,就没写上去了,还有些文件由于技术原因,不方便透露 立即下载

    相关推荐

    EV1527、PT2262傻傻分不清?一文讲透常见315/433MHz遥控编码协议区别与选型

    本文深度对比了EV1527、PT2262和SC5262三种常见的315/433MHz遥控编码协议,详细解析了它们的技术特点、成本效益和适用场景。EV1527作为低成本方案的首选,特别适合智能家居和简易安防设备;PT2262在稳定性和兼容性上表现优异;而SC5262则在安全性方面具有显著优势。文章还提供了实用的选型框架和工程建议,帮助开发者在不同应用场景中做出最优决策。

    weixin_33640562的博客 349

    常用 Git 命令清单

    git作为常用的版本控制工具,多了解一些命令,将能省去很多时间,下面这张图是比较好的一张,贴出了看一下:关于git,首先需要了解几个名词,如下:Workspace //工作区 Index / Stage //暂存区 Repository //仓库区(或本地仓库) Remote //远程仓一、新建代码库// 在当前目录新建一个

    SweetoDream 7365

    单细胞分析实战:用R语言绘制带连线的堆叠柱状图(附完整代码)

    本文详细介绍了如何使用R语言绘制带连线的堆叠柱状图进行单细胞转录组数据分析,特别适用于展示细胞比例变化趋势。通过完整代码示例和实战技巧,帮助研究者优化多组别比较的可视化效果,提升科研图表质量。

    yhn4567890的博客 390

    Git配置

    查询git版本命令:(git是因liux系统研发而来所以懒的话可以用tab键来补齐) git --version 通过命令来追踪到底谁做了修改,我们需要配置对应的用户名与邮箱地址: git config --global user.name "写名字"; git config --global user.email 写邮箱地址; git config --list 查询配置结果 工作流程详解: 提交的时候要经过暂存区 stage files 提交到暂存区 commit 然后在提交到本地仓库 当我拉出..

    weixin_56070336的博客 373

    C/C++关于VScode报错“终端将被任务重用,按任意键关闭”的解决方案

    这其实不是一种报错,有这个提示的原因是本地端口是被共享的,所以必须关闭一个进程才能执行另一个,只需要对 tasks.json文件做一些修改即可。 报错时候 此时的tasks.json为: { "version": "2.0.0", "command": "g++", "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"], // 编译命令参数 "problemMatche

    Jerry Man的博客 6424

    主板USB接口全部失效解决方案(通用串行总线USB控制器有黄色叹号)保姆级教程亲测有效

    通用串行总线控制器总是有叹号解决办法 办公室的崩腾时代老电脑,疫情期间没人用,来了开机之后发现鼠标键盘都用不了,本以为是主机放时间长出了问题,后来想起来就百度了“鼠标键盘都失效”的标题,结果发现了“串行总线控制器总是感叹号”的关联问题。正好办公室电脑都装有teamviwer常用来远程办公(在家偷懒)。所以通过远程发现电脑室可以运行的。并在控制面板发现:通用串行总线控制器总是感叹号,插入外设时USB无反应。如图:​ 并且右键选中其中一个,点击最后一个选项:“属性” 可以发现“设备状态”中会提示“由...

    xiao_bai_0_0的博客 2万+

    Git 常用命令备忘

    git常用操作,一般在实际开发中,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活,干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本,开发人员每个人都有自己的分支,时不时地往dev分支上合并就可以了。合并分支时,加上–no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并

    AaronZZH 的博客 689

    TI 实时操作系统SYS/BIOS使用总结

    1:概述: SYS/BIOS 是一个可扩展的实时的操作系统。具有非常快速的响应时间(在中断和任务切换时达到较短的延迟),响应时间的确定性,强壮的抢占系统,优化的内存分配和堆栈管理(尽量少的消耗和碎片)。能够实现系统的模块化并可裁剪。 最大的特点就是:实时。 2:XDCtools: XDCtools 是SYS/BIOS引用的一种实时的软件组件技术(RTSC),它包括一些有用的工具,标准的AP

    带头奋青的博客 5万+

    git杂记

    git 安装:在 Windows 上安装 Git 也有几种安装方法。官方版本可以在 Git 官方网站下载。打开,下载会自动开始。要注意这是一个名为 Git for Windows 的项目(也叫做 msysGit),和 Git 是分别独立的项目;更多信息请访问。

    wh_xia_jun的专栏 1988

    深度可分离卷积(DepthwiseSeparableConvolution):Depthwise卷积与Pointwise卷积

    深度可分离卷积不用多说,在轻量级网络架构方面是一个绕不开的话题,只要接触深度学习多多少少会接触。深度可分离卷积即DepthwiseSeparableConvolution,该卷积将一个常规卷积过程划分成两个完成Depthwise卷积和Pointwise卷积,在保证输出一样时,计算量大大降低。首先来看,一个常规卷积是怎么实现的。其示意图如果我们从通道数变换的角度来看,卷积就是将3通道的tensor变为了4通道的tensor,我们来看看深度可分离卷积是怎么实现通道的变化的。...

    xu.hyj 1万+

    微信小程序——01开发前的准备和开发工具

    微信小程序——01开发前的准备和开发工具

    总裁余(余登武)博客 1万+

    git--基础知识点--4--git文件变化状态周期

    git的文件状态变化周期,如下图所示 工作目录下面的所有文件都不外乎这两种状态:已跟踪或未跟踪。已跟踪的文件是指本来就被纳入版本控制管理的文件,在上次快照中有它们的记录,工作一段时间后,它们的状态可能是未更新,已修改或者已放入暂存区。 git commit -m用于提交暂存区的文件;git commit -am用于提交跟踪过的文件。 对于已跟踪过的文件来说 git commit -am == git add + git commit -m ...

    Chasing__Dreams的博客 746

    Java调用YOLOv26全解析:从ONNX模型部署到工业质检实战

    本文分享了工业自动化领域使用Java调用YOLOv26进行零件缺陷检测的完整方案。通过YOLOv26s模型结合ONNX Runtime Java部署,误检率和漏检率显著降低(分别从12%降至2.1%,8%降至0.8%)。文章详细介绍了方案选型理由、环境配置避坑指南、ONNX模型导出步骤,以及Maven依赖配置(分CPU/GPU版本)。该方案直接在上位机Java环境中运行,避免了跨语言调用损耗,适合工业质检场景部署,提供了可复用的性能优化和多线程推理实现。

    2601_94871597的博客 1105

    Git常用命令大全

    Git常用命令及方法大全 下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库 本地分支关联远程:git branch --set-upstream-to=origin/beta beta 一、新建代码库 ...

    WEB_优快云_SHARE的博客 5万+

    SAP B1中文培訓教材_SDK

    公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

    STM32F407中文手册

    STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

    Git命令大全(超详细)

    Git 是一个分布式版本控制系统,用于跟踪计算机文件的更改,并协调多个用户之间的工作。下面是一份较为详细的 Git 命令大全,涵盖了从初始化仓库到日常使用中常见的操作。

    邮箱:uemgyth@163.com 1507

    C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

    基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

    Git命令大全思维导图

    Git命令大全思维导图

    Deng XianJun 706

    最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

    Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

    git命令手册大全

    git命令大全 

    zhaoheqiang的博客 193

    Git 常用的命令大全

    Git 常用的命令大全

    weixin_39604653的博客 479
    上一篇: iOS 去掉tableview的cell线
    下一篇: swift学习笔记(1)-基础语法
    winterLiao
    博客等级 码龄10年 5粉丝 23原创
    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    个

    红包个数最小为10个

    元

    红包金额最低5元

    当前余额3.43元 前往充值 >
    需支付:10.00元
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付元
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值