锋盈数科-知识库 Logo
首页
软件开发
计算机基础
Hello Halo
新手必读
关于本知识库
登录 →
锋盈数科-知识库 Logo
首页 软件开发 计算机基础 Hello Halo 新手必读 关于本知识库
登录
  1. 首页
  2. 软件开发
  3. Git命令汇总

Git命令汇总

0
  • 软件开发
  • 发布于 2024-08-19
  • 0 次阅读
黄健
黄健

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。


文章目录

  • 一、配置相关的命令
    • 1. 查看Git的配置信息
      • 1.1 查看Git配置文件及文件位置
      • 1.2 查看Git配置参数列表
    • 2. 配置Git的用户信息
      • 2.1 全局配置用户信息
      • 2.2 特定项目配置用户信息
      • 2.3 查看Git单一参数
    • 3. 配置Git界面颜色
    • 4. 添加隐藏文件到暂存区
    • 5. 配置Git命令别名
    • 6. 删除别名
  • 二、Git使用相关命令
    • 1. 克隆`clone`
    • 2. 初始化版本库`init`
    • 3. 添加文件到版本库`add`
    • 4. 提交到版本库`commit`
    • 5. 推送到远程
    • 6. 从远程拉取到本地
    • 7. 查看远程仓库
    • 8. 查看版本库状态
    • 9. 日志查看
    • 10. 回退
    • 11. 重置
  • 三、Git版本管理命令
    • 1. 撤销修改
    • 2. 取消暂存的文件
    • 3. 撤销对文件的修改
    • 4. 删除文件
      • 4.1 删除本地文件
      • 4.2 删除暂存区文件
    • 5. 恢复删除的文件
  • 四、Git分支的操作命令
    • 1. 查看分支
    • 2. 创建分支
    • 3. 切换分支
    • 4. 创建分支并切换到新建分支
    • 5. 合并分支
    • 6. 删除分支
    • 7. 切换分支switch
      • 7.1 切换并创建分支
      • 7.2 切换到某个分支
    • 8. 查看分支历史
  • 五、现场相关命令
    • 1. 查看现场列表
    • 2. 保存现场
    • 3. 根据stashId恢复现场
    • 4. 删除现场
    • 5. 恢复并删除现场
  • 六、转移命令`cherry-pick`
    • 1. 转移单个提交
    • 2. 转移多个(连续)提交
    • 4. 解决代码冲突
    • 5. 转移到另一个代码库
  • 七、标签相关命令
    • 1. 推送一个本地标签到远程
    • 2. 推送全部标签到远程
    • 3. 删除一个本地标签
    • 4. 删除一个远程标签
    • 5. 创建一个带描述的标签
    • 6. 创建一个带gpg签名的标签


Git相关文章参考:
Git学习和使用指南详细篇
Git学习和使用指南简单篇

一、配置相关的命令

1. 查看Git的配置信息

1.1 查看Git配置文件及文件位置

查看配置文件及所在位置的命令

git config --list --show-origin

1.2 查看Git配置参数列表

查看Git配置参数列表,如账号名邮箱等的参数内容

git config --list

2. 配置Git的用户信息

2.1 全局配置用户信息

在机器的整个环境下所有项目都会使用这个用户信息提交代码
用户名配置,如寒山

git config --global user.name "寒山"

邮箱配置,如hanshan@163.com

git config --global user.email hanshan@163.com

2.2 特定项目配置用户信息

在某个项目下想使用单独的用户信息提交代码,可使用不带--global的命令配置用户信息
某个项目目录下配置用户名

git config user.name "hanshan"

某个项目目录下配置用户邮箱

git config user.email hanshan@163.com

2.3 查看Git单一参数

查看用户名

git config user.name

查看邮箱

git config user.email

等等

3. 配置Git界面颜色

git config --global color.ui true

4. 添加隐藏文件到暂存区

如果想强制添加被忽略的文件,执行时加-f参数强制执行即可

git add -f a.class				

检查忽略规则

git check-ignore

5. 配置Git命令别名

当使用git命令时,可以通过配置git命令别名来简写git命令
如git add .可换成git a .
git commit -am"" 可以换成git cm -am""

加--global是配置全局,不加则只对当前用户
语法如下

git config --global alais.gitNewCommands 'git-origin-commands'

gitNewCommands表示新命令即别名
git-origin-commands表示原命令

6. 删除别名

如何将配置的别名删除
全局配置文件的删除方法:
在.git/config文件中的alais部分是别名的配置参数,删除对应的别名即可
用户配置文件的删除方法:
当前用户的配置文件放在用户目录下的.gitconfig中,删除文件中对应的别名即可

二、Git使用相关命令

1. 克隆clone

先在远程仓库中复制仓库地址
然后使用克隆命令将项目克隆到本地,命令如下

git clone 远程仓库地址

远程项目名称克隆下来后在本地的文件夹名称如果想在克隆时就修改,可通过命令后加文件夹名称指定,如

git clone 远程仓库地址 项目别名

2. 初始化版本库init

初始化版本库

git init

指定默认分支初始化版本库

git init -b <branch>

3. 添加文件到版本库add

添加全部文件

git add .

添加某个文件

git add <file>

添加某些文件

git add <file1> <file2> <file3> ...

4. 提交到版本库commit

将本地文件提交到版本库中

git commit -m "提交时的描述信息"

5. 推送到远程

git push origin <branch>

6. 从远程拉取到本地

前提是已经建立连接

git pull

7. 查看远程仓库

查看远程仓库名

git <remote>

查看远程仓库详细信息

git <remote> -v

该命令可查看到抓取fetch和推送push的地址,若无推送权限则不会显示push地址

8. 查看版本库状态

查看git仓库当前状态变化

git status

具体变化查看命令

git diff

9. 日志查看

git log
git log --pretty=online

10. 回退

git回退到上一个版本的命令
git中用HEAD表示当前版本,HEAD^表示上一个版本,HEAD^^表示上上一个版本
上一百个版本使用HEAD~100表示
回退上一个版本的命令

git reset --hard HEAD^

11. 重置

当回退后想要恢复到最新版本,使用git reset --hard 新版本的commitId
如何查看最新版本的commit id,使用命令

git reflog

找到对应的commitId,然后使用

git reset --hard commitId

进行重置

三、Git版本管理命令

1. 撤销修改

当你提交一次代码到当前分支时,注释信息写错了或者之前add的时候少添加了某个文件,此时想重新操作后再commit,但是第二次commit就会留下一个commit的历史,我不想要这个commit历史
此时就可以用该命令

git commit --amend

执行后不会有上一次commit的描述信息也不会有上次commit的历史,只会看到后面这次的commit信息

2. 取消暂存的文件

当使用add添加文件到暂存区后,发现这个文件并不需要提交,此时想要取消暂存

git reset HEAD file

file为所要取消暂存的文件,
举例
如取消暂存区文件test01.text

git reset HEAD test01.text

3. 撤销对文件的修改

当你对某个文件做了修改,但是原来的更好,你想恢复,则可用以下命令撤销修改

git checkout --file

使用--指定文件名,可对该文件的修改进行撤销
对文件的修改撤销之后该文件在本地的所有修改都会消失,无法恢复
git会使用最近提交的版本覆盖掉

4. 删除文件

4.1 删除本地文件

本地文件夹删除文件的方式可以是直接右键删除文件,也可以使用rm命令删除文件
删除文件命令

rm test.txt

4.2 删除暂存区文件

当工作区的文件也就是本地文件夹的文件删除时,如果该文件之前提交到了暂存区,git版本库的暂存区也会知道,此时使用以下命令删除暂存区对应的文件

git rm 文件

然后

git commit -m"rm file"

5. 恢复删除的文件

如果删除错了如何恢复

git checkout --file

使用上述命令恢复对文件的删除,如删了test01.text想要恢复

git checkout --test01.text

注意:使用该恢复命令的前提是该文件之前提交到版本库过,如果从未提交过则无法使用该命令恢复

四、Git分支的操作命令

1. 查看分支

git branch

带*的是当前分支

2. 创建分支

git branch 分支名

3. 切换分支

git checkout 分支名

4. 创建分支并切换到新建分支

(如新建dev)

git checkout -b dev

5. 合并分支

git merge 分支名

6. 删除分支

git branch -d 分支名

该命令表示删除指定分支

强制删除,谨慎使用

git branch -D 分支名

7. 切换分支switch

为了区分切换分支和撤销修改的命令git checkout <branch>和git checkout --<file>
在新版本的git中使用switch来实现切换分支

7.1 切换并创建分支

git switch 分支名

7.2 切换到某个分支

git switch -c 分支名

8. 查看分支历史

git log --graph --pretty=online --abbrev-commit

五、现场相关命令

1. 查看现场列表

git stash list

查看的结果中有一个stash的id如stash@{0},id后面会有对应的描述包含了分支的commitId

2. 保存现场

git stash

3. 根据stashId恢复现场

根据stash的id恢复:

git stash apply stashId

4. 删除现场

恢复后需要删除stash,因为不会自动删除

git stash drop stashId

5. 恢复并删除现场

也可以使用pop直接恢复同时删除,也就是相当于执行了上面的两个命令(2和3)

git stash pop stashId

六、转移命令cherry-pick

git cherry-pick的使用:

1. 转移单个提交

以下命令会将分支名对应的最新提交放到当前分支

git cherry-pick 分支名

将一个分支的提交转移到另一个分支
正常我们将一个分支的内容全部转移到另一个分支时直接使用git merge命令合并即可
当我们只需要将分支的某个提交改动转移到另一个分支时,就可以用git cherry-pick
语法:

git cherry-pick commitId

commitId为提交的Id

2. 转移多个(连续)提交

转移多个提交

git cherry-pick 提交a 提交b

转移某分支的连续提交
如dev的提交有a-b-c-d-e-f-g-h-i
现在将dev分支的d.e.f.g分支都转移到master分支

git cherry-pick c..g

只能c...g不可以g...c,要遵循先后顺序
上面命令用法转移的提交不包含c,如果像包含c如下

git cherry-pick c^..g

该命令会将cdefg转移到分支

4. 解决代码冲突

当执行cherry-pick命令是遇到代码冲突,cherry pick会停下
以下为三种情况,可根据需要选用:
先将冲突代码手动解决,然后
将修改的文件重新加入暂存区

git add 修改的文件

继续执行cherry-pick

git cherry-pick --continue

放弃合并将文件恢复到操作前

git cherry-pick --abort

退出cherry-pick但不回到操作前

git cherry-pick --quit

5. 转移到另一个代码库

git cherry-pick不仅可以在同一个代码库中操作,还可以将提交转移到另一个代码库

现将另一个代码库添加为远程仓库,如添加远程仓库target

git remote add target 远程仓库地址

将远程仓库抓取到本地

git fetch target

检查从远程仓库转移的提交,获取哈希值

git log target/master

转移提交

git cherry-pick <commitHash>

七、标签相关命令

1. 推送一个本地标签到远程

git push origin <tag-name>

2. 推送全部标签到远程

git push origin --tags

3. 删除一个本地标签

git tag -d <tag-name>

4. 删除一个远程标签

git push origin :refs/tags/<tag-name>

5. 创建一个带描述的标签

git tag -a <tag-name> -m "messages"

6. 创建一个带gpg签名的标签

git tag -s <tag-name> -m "messages"

感谢阅读,祝君暴富!

原文链接: https://hanshan.blog.csdn.net//article/details/139089899

标签: #Git 19 #软件开发 1171
相关文章

万字:支付“核心系统”详解 2024-11-02 15:33

专栏作者:隐墨星辰 \| 主编:陈天宇宙 这篇文章也尝试化繁为简,探寻支付系统的本质,讲清楚在线支付系统最核心的一些概念和设计理念。 虽然支付行业已经过了风头最劲的时光,但跨境支付仍然在蓬勃发展,每年依然有很多新人进入这个行业,这篇文章尝试为这些刚入行的新人提供一点帮助。 文章只介绍一些支付行业十几

资深支付架构师视角:实战从问题定义到代码落地的完整套路 2024-11-02 15:33

前言 今天从一个实际案例入手,介绍站在架构师的角度,如何识别并定义问题,提炼需求,技术方案选型,再到详细设计,最后利用AI的能力协助写出核心的代码,验证与调优。 解决问题存在一定的模式,也可以称之为框架,总结出自己的思考和解题框架,以后再碰到同类型的问题就可以如庖丁解牛一样容易。 很多年前,我写代码

Spring 实现 3 种异步接口 2024-10-18 09:07

大家好,我是苏三~ 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性,处理结果仅返回单个值。在某些场景下,如果需要接口异步处理的同时,还持续不断地

重学SpringBoot3-集成Redis(五)之布隆过滤器 2024-10-08 11:24

更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-集成Redis(五)之布隆过滤器 1. 什么是布隆过滤器? * 基本概念 适用场景 2. 使用 Redis 实现布隆过滤器 * 项目依赖 Redis 配置

设计模式第16讲——迭代器模式(Iterator) 2024-10-08 11:24

一、什么是迭代器模式 迭代器模式是一种行为型设计模式,它提供了一种统一的方式来访问集合对象中的元素,而不是暴露集合内部的表示方式。简单地说,就是将遍历集合的责任封装到一个单独的对象中,我们可以按照特定的方式访问集合中的元素。 二、角色组成 抽象迭代器(Iterator):定义了遍历聚合对象所需的方法

vue2路由和vue3路由区别及原理 2024-10-08 11:24

一、Vue2 与 Vue3 路由的区别 1. 创建路由实例方式的不同 Vue 2 中,通过 Vue.use() 注册路由插件,并通过 new VueRouter() 来创建路由实例。 import Vue from 'vue';import VueRouter from 'vue-router';i

目录

IT 外包服务商

  • 意见投递
  • zyf6619

软件开发应用

主菜单

  • 首页
  • 软件开发
  • 计算机基础
  • Hello Halo
  • 新手必读
  • 关于本知识库
Copyright © 2024 your company All Rights Reserved. Powered by Halo.