git常用命令学习

目录

文章目录

  • 目录
  • 第一章 git简介
    • 1.Git 与SVN
    • 2.Git 工作区、暂存区和版本库
  • 第二章 git常用命令学习
    • 1.ssh设置
    • 2.设置用户信息
    • 3.常用命令设置
      • 1.初始化本地仓库init
      • 2.克隆clone
      • 3.查看状态 git status
      • 4.添加add命令
      • 5.添加评论
      • 6.分支操作
        • 1.创建分支
        • 2.查看分支
        • 3.切换分支
        • 4.删除分支
      • 7.查看当前远程地址
      • 8. 分支比较
      • 9.log命令
      • 10.删除命令 git rm
      • 11.添加/移除远程仓库
      • 12.从远程仓库获取代码
      • 13.命令行-tag

第一章 git简介

1.Git 与SVN

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。

Git 与 SVN 区别点:

在这里插入图片描述

2.Git 工作区、暂存区和版本库

  • 工作区:就是你在电脑里能看到的目录。
  • 暂存区:英文叫stage, 或index。一般存放在 “.git目录下” 下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
  • 版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。

第二章 git常用命令学习

在这里插入图片描述

1.ssh设置

生成公钥私钥
ssh-keygen -t -rsa

2.设置用户信息

1.临时修改用户名和邮箱

如果只需要修改当前仓库的提交者信息,可以使用以下命令:

git config user.name "新用户名"
git config user.email "新邮箱地址"

查看临时配置:

git config user.name
git config user.email

2.全局修改用户名和邮箱

git config --global user.name "lixiaowei"
git config --global user.email "995439743@qq.com"

查看全局用户名和邮箱配置

git config --global user.name  //查看用户名
git config --global user.email //查看邮箱
git config --list    //查看其他更多信息

3.常用命令设置

1.初始化本地仓库init

初始化git仓库 一般有两种方式,一种是从远程仓库克隆一个完整的项目到本地,另一种是本地初始化一个新的git仓库。

//初始化仓库带工作区
git init
//初始仓库不带工作区
git init --bare

2.克隆clone

用于从远程仓库克隆一个完整的项目到本地。它不仅会创建一个新的 Git 仓库,还会下载所有的历史记录和分支,并将远程仓库设置为默认的上游仓库

git clone 远程仓库地址

3.查看状态 git status

是 Git 中一个非常常用的命令,用于查看当前工作目录的状态。它可以帮助你了解哪些文件已被修改、哪些文件已添加到暂存区、以及哪些文件尚未被跟踪。

//1.查看状态,命令用于显示工作目录和暂存区的状态。它告诉你有哪些修改被暂存,哪些没有,
//以及哪些文件被 Git 未跟踪。
git status
//2.查看状态 使输出信息更加简洁
git status -s
//3.显示状态并以长模式输出,列出已修改的文件的详细信息:
git status --long
//4.显示状态并以short模式输出,但不列出已跟踪的文件:
git status -u

在这里插入图片描述

4.添加add命令

//将未跟踪的文件加入暂存区
git add <文件>
//将暂存区的文件取消暂存
git reset <文件>
//1.添加单个文件到暂存区
git add 文件名
//2.添加所有文件到暂存区
git add .
//3.添加某个目录到暂存区
git add 目录名/
//4.使用通配符添加多个文件到暂存区:
git add *.txt
//5.添加所有文件和目录的变化到暂存区(包括新的文件和目录,但不包括未跟踪的文件):
git add -A
//6.添加自上次 commit 以来的所有变化到暂存区(包括删除的文件):
git add -u

//7.强制添加所有文件
git add -f . 

5.添加评论

git commit -m "文件描述"
git commit --amend  //修改最后提交

6.分支操作

1.创建分支
//创建分支
git branch <branch_name>
//创建新分支并且切换到该分支
git checkout -b <branch_name>
2.查看分支
//1.查看本地分支
git branch
//2.查看远程分支
git branch -r
//3.查看本地和远程分支
git branch -a
//4.本地创建分支
git branch 分支名称
//5.切换分支
git checkout分支名称
//6.删除分支
git branch -d 分支名称
//7.强制删除分支
git branch -D 分支名称
//8.提交本地分支到远程仓库
git push <仓库简称> <分支名称> //git push origin b1
//9.分支h合并
git merge <分支名称>
//10.删除远程仓库分支
git push <仓库简称> -d <分支名称> //git push origin -d b1
3.切换分支
//1.切换到指定分支
git checkout <branch_name>
//2.指定提交切换分支
git checkout <branch_name> <commit_hash>

//3.指定提交切换并且创建分支
git checkout -b  <分支名称>
4.删除分支
// 删除本地分支(只适用于已合并的分支)
git branch -d <branch_name>
// 强制删除本地分支 (未合并的也会被删除)
git branch -D <branch_name>
//删除远程分支
git push origin --delete <branch_name>

7.查看当前远程地址

//1.查看远程 列出指定的每一个远程服务器的简称
git remote
//2.查看远程 列出简称和地址
git remote -v
//3.查看远程仓库详细地址
git remote show <仓库简称>

8. 分支比较

git diff <branch_1> <branch_2>

9.log命令

  1. 查看特定文件的提交记录
git log <文件名>

2.查看某个分支的提交记录

git log branch-name

3.显示提交历史的分支结构

git log --graph
// 示例
git log --oneline --graph --all
// 输出
* 789abcd (HEAD -> main) Fix bug in calculation
| * abc1234 (feature-branch) Add new feature
|/
* 1234567 Initial commit

10.删除命令 git rm

//1.删除工作区和暂存区的文件:
git rm <file>
//2.仅删除工作区的文件,保留暂存区的版本(即撤销上一次的 git add):
git rm --cached <file>
//3.在删除前询问确认:
git rm -i <file>
//4.删除目录:
git rm -r <directory>
//5.仅从工作区删除,不影响暂存区和本地仓库:
git rm --cached -r <directory>
//6.强制删除文件,即使文件被修改过:
git rm -f <file>
//7.删除所有未跟踪的文件和目录(通常用于清理生产环境):
git rm -rf .

//8.如果工作区误删除,想要回退
git checkout head <文件名>

11.添加/移除远程仓库

//1.添加远程仓库
git remote add <shortname> <url>
//1.添加远程仓库
git remote rm <shormame> 

12.从远程仓库获取代码

//1.从远程仓库克隆
git clone <url>
//2.从远程仓库拉去(拉取到.git目录,不会合并到工作区,工作区发生变化)
git fetch <shormame> 
//3.手动合并 把某个版本的某个分支合并到当前工作区
git merge <shortname>/<分支名称>
//4.从远程仓库拉取=fetch+merge
git pull  <shortname> <分支名称>
git pull  <shortname> <分支名称> --allow--unrelated-histories//强制拉取合并
//5.推送到某个分支
git push [remote-name] [branch-name]
eg:git push origin master

13.命令行-tag

Git 中,tag是标记存储库历史记录中特定提交的一种方式。tag通常用于标记项目的特定版本,例如版本 1.02.0

tag可以用于指定在仓库历史记录的某个特定点上创建的版本,这在软件开发中非常有用。如果需要在软件发布时创建tag,开发人员就可以跟踪哪个版本用于真实世界中的生产环境。在软件开发中,tag还可以用于标记里程碑特定功能的实现

除此之外,tag还可以用于将存储库中的提交版本控制系统中的标记关联。这可以用于确保特定版本的软件与存储库中的特定提交相关联。在软件开发中,这可以用于确保特定版本的软件与单独的存储库分支相关联

//1.列出所有标签
git tag
//2.查看tag 详情
git show [tagname]
//3.新建一个tag
git tag [tagname]
eg:git push origin 名称 //推送到远端
//4.提交制定的tag
git push [仓库简称] [tagname]
//5.新建一个分支指向某个tag
git checkout -b [branch] [tag]
//6.删除本地tag
git tag -d [tag]
//7.删除远程tag
git push origin :refs/tags/[tag]

联**。

//1.列出所有标签
git tag
//2.查看tag 详情
git show [tagname]
//3.新建一个tag
git tag [tagname]
eg:git push origin 名称 //推送到远端
//4.提交制定的tag
git push [仓库简称] [tagname]
//5.新建一个分支指向某个tag
git checkout -b [branch] [tag]
//6.删除本地tag
git tag -d [tag]
//7.删除远程tag
git push origin :refs/tags/[tag]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/959836.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

私有包上传maven私有仓库nexus-2.9.2

一、上传 二、获取相应文件 三、最后修改自己的pom文件

汽车定速巡航

配备定速巡航功能的车型&#xff0c;一般在方向盘附近设有4~6个按键&#xff08;可能共用键位&#xff09;。 要设置定速巡航&#xff0c;不仅需要方向盘上的按键&#xff0c;还要油门配合。 设置的一般流程&#xff1a; 开关&#xff1a;类似步枪上的“保险”&#xff0c;按…

安宝特方案 | AR在供应链管理中的应用:提升效率与透明度

随着全球化的不断深入和市场需求的快速变化&#xff0c;企业对供应链管理的要求也日益提高。如何在复杂的供应链环境中提升效率、降低成本&#xff0c;并确保信息的透明度&#xff0c;成为了各大行业亟待解决的问题。而增强现实&#xff08;AR&#xff09;技术&#xff0c;特别…

JavaScript(8)-函数

一.什么是函数&#xff1a;执行特定任务的代码块 讲js中需要的公共部分抽取并封装&#xff0c;谁用谁调用&#xff0c;代码复用。 先声明&#xff0c;后调用 使用function函数名需要调用的内容 使用&#xff1a;函数名&#xff08;&#xff09; 二.使用方式 声明&a…

HTML<label>标签

例子 三个带标签的单选按钮&#xff1a; <form action"/action_page.php"> <input type"radio" id"html" name"fav_language" value"HTML"> <label for"html">HTML</label><br&…

4.flask-SQLAlchemy,表Model定义、增删查改操作

介绍 SQLAlchemy是对数据库的一个抽象 开发者不用直接与SQL语句打交道 Python对象来操作数据库 SQLAlchemy是一个关系型数据库 安装 flask中SQLAlchemy的配置 from flask import Flask from demo.user_oper import userdef create_app():app Flask(__name__)# 使用sessi…

【C++初阶】第11课—vector

文章目录 1. 认识vector2. vector的遍历3. vector的构造4. vector常用的接口5. vector的容量6. vector的元素访问7. vector的修改8. vector<vector\<int\>>的使用9. vector的使用10. 模拟实现vector11. 迭代器失效11.1 insert插入数据内部迭代器失效11.2 insert插入…

GPT 结束语设计 以nanogpt为例

GPT 结束语设计 以nanogpt为例 目录 GPT 结束语设计 以nanogpt为例 1、简述 2、分词设计 3、结束语断点 1、简述 在手搓gpt的时候&#xff0c;可能会遇到一些性能问题&#xff0c;即关于是否需要全部输出或者怎么节约资源。 在输出语句被max_new_tokens 限制&#xff0c…

PTMD2.0-疾病相关的翻译后修饰数据库

翻译后修饰&#xff08;PTMs&#xff0c;post-translational modifications&#xff09;通过调节蛋白质功能参与了几乎所有的生物学过程&#xff0c;而 PTMs 的异常状态常常与人类疾病相关。在此&#xff0c;PTMD 2.0展示与疾病相关的 PTMs 综合数据库&#xff0c;其中包含 93 …

ArcGIS10.2 许可License点击始终启动无响应的解决办法及正常启动的前提

1、问题描述 在ArcGIS License Administrator中&#xff0c;手动点击“启动”无响应&#xff1b;且在计算机管理-服务中&#xff0c;无ArcGIS License 或者License的启动、停止、禁止等均为灰色&#xff0c;无法操作。 2、解决方法 ①通过cmd对service.txt进行手动服务的启动…

spring框架之IoC学习与梳理(1)

目录 一、spring-IoC的基本解释。 二、spring-IoC的简单demo&#xff08;案例&#xff09;。 &#xff08;1&#xff09;maven-repository官网中找依赖坐标。 &#xff08;2&#xff09;.pom文件中通过标签引入。 &#xff08;3&#xff09;使用lombok帮助快速开发。 &#xff…

系统架构设计师教材:信息系统及信息安全

信息系统 信息系统的5个基本功能&#xff1a;输入、存储、处理、输出和控制。信息系统的生命周期分为4个阶段&#xff0c;即产生阶段、开发阶段、运行阶段和消亡阶段。 信息系统建设原则 1. 高层管理人员介入原则&#xff1a;只有高层管理人员才能知道企业究竟需要什么样的信…

基于STM32单片机设计的宠物喂食监控系统

1. 项目开发背景 随着宠物数量的增加&#xff0c;尤其是人们对宠物的养护需求日益增多&#xff0c;传统的人工喂养和管理方式难以满足现代养宠生活的需求。人们越来越希望通过智能化手段提高宠物养护的质量和效率&#xff0c;特别是对于宠物喂食、饮水、温湿度控制等方面的智能…

帕金森患者:科学锻炼,提升生活质量

帕金森病&#xff0c;作为一种常见的神经系统退行性疾病&#xff0c;给患者的日常生活带来了诸多挑战。然而&#xff0c;通过科学的锻炼&#xff0c;患者不仅可以在一定程度上缓解症状&#xff0c;还能提升生活质量。本文将详细介绍帕金森患者应该进行的几种关键锻炼&#xff0…

GA-CNN-LSTM-Attention、CNN-LSTM-Attention、GA-CNN-LSTM、CNN-LSTM四模型多变量时序预测一键对比

GA-CNN-LSTM-Attention、CNN-LSTM-Attention、GA-CNN-LSTM、CNN-LSTM四模型多变量时序预测一键对比 目录 GA-CNN-LSTM-Attention、CNN-LSTM-Attention、GA-CNN-LSTM、CNN-LSTM四模型多变量时序预测一键对比预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于GA-CNN-LST…

redis 实践与扩展

文章目录 前言一、springboot整合redis1、jedis1.1、单点模式1.2、哨兵模式1.3 集群模式1.4、关于jedis线程不安全的验证 2、lettuce(推荐)2.1、单点模式2.2、哨兵模式2.3、集群模式 3、RedisTemplate config 二、redis常用知识点1、缓存数据一致性2、缓存雪崩3、缓存击穿4、缓…

積分方程與簡單的泛函分析7.希爾伯特-施密特定理

1)def函數叫作"由核生成的(有源的)" 定义: 设 是定义在区域上的核函数。 对于函数,若存在函数使得, 则称函数是“由核生成的(有源的)”。 这里的直观理解是: 函数的“来源”可以通过核函数 与另一个函数的积分运算得到。 在积分方程理论中,这种表述常…

RH850F1KM-S4-100Pin_ R7F7016453AFP MCAL PWM 测试

1、PortPin配置 2、PwmChannel配置 4、PwmComplexDriverInit 配置注意事项 此参数指定通道是否初始化并由复杂驱动程序使用。 True:通道将被初始化并由复杂驱动程序使用。False:通道不会被初始化并被复杂驱动程序使用。

Spring Boot Starter介绍

前言 大概10来年以前&#xff0c;当时springboot刚刚出现并没有流行&#xff0c;当时的Java开发者们开发Web应用主要是使用spring整合springmvc或者struts、iBatis、hibernate等开发框架来进行开发。项目里一般有许多xml文件配置&#xff0c;其中配置了很多项目中需要用到的Be…

【科研建模】Pycaret自动机器学习框架使用流程及多分类项目实战案例详解

Pycaret自动机器学习框架使用流程及项目实战案例详解 1 Pycaret介绍2 安装及版本需求3 Pycaret自动机器学习框架使用流程3.1 Setup3.2 Compare Models3.3 Analyze Model3.4 Prediction3.5 Save Model4 多分类项目实战案例详解4.1 ✅ Setup4.2 ✅ Compare Models4.3 ✅ Experime…