算法之工程化内容(2)—— Git常用命令

目录

1. git初始化配置

2. 新建仓库

3. 工作区——>暂存区——>本地仓库

4. git reset回退版本

5. 查看差异 git diff

6. 删除文件git rm

7. .gitignore

8. vscode操作git

9. git分支、合并和删除

10. 解决合并冲突

11. 回退和rebase

12. 添加远程仓库

参考链接:

01.课程简介_哔哩哔哩_bilibili


1. git初始化配置

查看版本号:git -v
配置用户:git config --global user.name 'huanhaunwang'
配置邮箱:git config --global user.email 'whh@nit.zju.edu.cn'
保存配置:git config --global credential.helper store
查看配置:git config --global list

2. 新建仓库

git clone http://github.xxx.com
mkdir learn-git
cd learn-git
git init / git init my-repo       # 初始化my-repo仓库
cd .git
ls -alltr

3. 工作区——>暂存区——>本地仓库

工作区——>暂存区:git add . 
暂存区——>本地仓库:git commit -m 'xxx'      # 'xxx'为commit的描述

###### 添加和提交文件
初始化本地仓库:git init
查看状态:git status
工作区-->暂存区:git add .--> 提交txt文件到暂存区:git add *.txt--> 删除暂存区内容:git rm --cached <file>
暂存区-->本地仓库:git commit -m 'description'
写内容到file1.txt:echo 'This is the first file' > file1.txt
提交记录:git log/ git log --oneline

4. git reset回退版本

git reset三种模式

工作区

暂存区

git reset --soft

git reset --hard

git reset --mixed

  • 查看暂存区内容:git ls-files
  • 当出现误操作时:查看历史所有操作 git reflog --> 回退指定版本号 git reset --hard xxx(版本号)

5. 查看差异 git diff

(工作区/暂存区/本地仓库,不同版本v1/v2/v3,不同分支)

git diff v1_num v2_num
git diff HEAD~ HEAD
git diff HEAD~2 HEAD
git diff HEAD~3 HEAD
git diff HEAD~3 HEAD <file>
git diff HEAD^ HEAD
git diff <branch_name> <branch_name>

6. 删除文件git rm

工作区&暂存区同时删除:git rm <file> --> git commit -m 'delete <file>'
工作区删除-->暂存区删除-->本地仓库删除:rm <file> --> git add <file> / git add. --> git commit -m 'delete <file>'
暂存区缓存删除:git rm --cached <file>

7. .gitignore

忽略所有log日志:echo '*.log' > .gitignore --> git add . --> git commit -m 'commit .gitignore'
忽略temp下的所有内容:echo 'temp/' > .gitignore --> git add . --> git commit -m 'commit .gitignore'
忽略所有的.a文件:*.a
忽略任何目录名为temp/的文件夹

8. vscode操作git

9. git分支、合并和删除

查看分支:git branch
创建分支:git branch/checkout <branch-name>
切换分支:git switch <branch-name>
合并分支:切换到main/master主分支 --> git merge <branch-name>
删除分支:(1)已合并:git branch -d <branch-name>(2)未合并:git branch -D <branch-name>
查看分支创建&合并流程:git log --graph --oneline --decorate --all
  • git log --graph --oneline --decorate --all

10. 解决合并冲突

解决合并:vi <main_conflict.txt> --> git add . --> git commit -m 'solve conflict'
终止合并:git merge --abort

11. 回退和rebase

12. 添加远程仓库

克隆远程仓库:git clone ssh链接(此命令需要提前配好ssh -key.pub)
给远程仓库命别名:git remote add <远程仓库别名> ssh链接 e.g. git remote add origin git@github.com:xxx/xxx/xxx.git切换分支:git branch main/master
推送本地 --> remote远程:git push -u <远程仓库别名> <分支名>
查看远程仓库:git remote -v
拉取remote远程 --> 本地:git pull / git pull -u <远程仓库别名> <远程分支名>:<本地分支名>(1)远程-->本地:1)手动修改远程2)拉取到本地:git pull = git fetch + git merge
(2)本地-->远程:1)手动修改本地文件2)添加至缓存区:git add.3)提交到本地仓库:git commit -m 'description'4)推送/更新远程仓库:git push

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Go语言】Go语言的占位符

Go语言的占位符 Golang 的字符串占位符在 fmt 包的各种打印函数中使用&#xff0c;如 fmt.Printf、fmt.Sprintf。 变量值与类型的打印 %v: 打印变量的值 %v 会根据变量的类型选择合适的格式进行打印。对于结构体&#xff0c;%v 会打印出结构体的字段。对于指针类型&#xf…

Linux 网络--TCP协议收包流程(NAPI机制)

Linux 网络--TCP协议收包流程&#xff08;NAPI机制&#xff09; 平台环境简介&#xff1a;宿主机: ubuntu18.04Linux内核源码版本: Linux-4.15网卡驱动: Intel e1000 &#xff08;ubuntu 虚拟机默认网卡驱动&#xff09;协议&#xff1a;TCP协议&#xff0c;本文分析收包过程 本…

缓存新境界:Eureka中服务的分布式缓存实现策略

缓存新境界&#xff1a;Eureka中服务的分布式缓存实现策略 引言 在微服务架构中&#xff0c;服务间的通信和数据交换频繁&#xff0c;引入分布式缓存可以显著提高系统性能和响应速度。Eureka作为Netflix开源的服务发现框架&#xff0c;虽然本身不提供缓存机制&#xff0c;但可…

【线程状态-2】

1、线程礼让 &#xff08;1&#xff09;礼让线程&#xff0c;让当前正在执行的线程暂停&#xff0c;但不阻塞 &#xff08;2&#xff09;将线程从运行状态转为就绪状态 &#xff08;3&#xff09;让cpu重新调度&#xff0c;礼让不一定成功&#xff01;看cpu心情 package st…

单对以太网:工业4.0时代的通信革命

单对以太网连接器概述 单对以太网&#xff08;Single Pair Ethernet&#xff0c;简称SPE&#xff09;是一种新兴的以太网技术&#xff0c;它通过一对双绞线实现数据传输&#xff0c;支持PoDL&#xff08;Power over Data Line&#xff09;技术&#xff0c;为终端设备提供电力供…

【AI工具介绍】— webkit简介

目录 一、起源与发展 二、核心组件与功能 三、特性与优势 四、应用与影响 五、结论 一、起源与发展 WebKit起源于苹果公司&#xff0c;最初是为了开发Safari浏览器而创建的。WebKit项目的起源可以追溯到苹果公司在2001年推出基于Unix的操作系统Mac OS X时&#xff0c;对浏…

windows JDK11 与JDK1.8自动切换,以及切换后失效的问题

1.windows安装不同环境的jdk 2.切换jdk 3.切换失败 原因&#xff1a;这是因为当我们安装并配置好JDK11之后它会自动生成一个环境变量&#xff08;此变量我们看不到&#xff09;&#xff0c;此环境变量优先级较高&#xff0c;导致我们在切换回JDK8后系统会先读取到JDK11生成的…

Java项目:基于SSM框架实现的中小型企业财务管理系统【ssm+B/S架构+源码+数据库+答辩PPT+开题报告+毕业论文】

一、项目简介 本项目是一套基于SSM框架实现的中小型企业财务管理系统 包含&#xff1a;项目源码、数据库脚本等&#xff0c;该项目附带全部源码可作为毕设使用。 项目都经过严格调试&#xff0c;eclipse或者idea 确保可以运行&#xff01; 该系统功能完善、界面美观、操作简单…

Spark实现电商消费者画像案例

作者/朱季谦 故事得从这一张图开始说起—— 可怜的打工人准备下班时&#xff0c;突然收到领导发来的一份电商消费者样本数据&#xff0c;数据内容是这样的—— 消费者姓名&#xff5c;年龄&#xff5c;性别&#xff5c;薪资&#xff5c;消费偏好&#xff5c;消费领域&#x…

CentOS 7:停止更新后如何下载软件?

引言 CentOS 7 是一个广受欢迎的 Linux 发行版&#xff0c;它为企业和开发者提供了一个稳定、安全、且免费的操作系统环境。然而&#xff0c;随着时间的推移&#xff0c;CentOS 7 的官方支持已经进入了维护阶段&#xff0c;这意味着它将不再收到常规的更新和新功能&#xff0c;…

图像类别生成数字标签

类别 COCO 2017数据集分类标签。coco2017数据集下载。 cls [background, person, bicycle, car, motorcycle, airplane, bus,train, truck, boat, traffic light, fire hydrant,stop sign, parking meter, bench, bird, cat, dog,horse, sheep, cow, elephant, bear, zebra,…

2024建博会|博联AI大模型全屋智能引领智能体验新纪元

7月8日&#xff0c;2024中国建博会&#xff08;广州&#xff09;在广交会展馆及保利世贸博览馆盛大启幕。BroadLink博联智能携AI大模型全屋智能以及AI商业照明解决方案惊喜亮相&#xff0c;全方位展示AI大模型在智能家居领域的前沿应用成果。 本次建博会&#xff0c;博联智能带…

java.lang.annotation包介绍

java.lang.annotation 包是 Java 标准库中的一个核心包,专门用于定义和支持 Java 注解(Annotation)。该包中包含了一些核心的接口和枚举类型,用于定义和控制注解在 Java 程序中的行为和使用方式。 主要的类和接口 Annotation 接口 java.lang.annotation.Annotation 所有注…

NPDP含金量高吗?什么人适合学习NPDP?

PMP考完了&#xff0c;最近在考NPDP&#xff0c;这也是一个有意思的证书&#xff0c;含金量还不错&#xff0c;非常适合想转型和升级的人来考。 一、NPDP是什么 NPDP其实就是产品经理国际资格认证&#xff08;New Product Development Professional&#xff09;&#xff0c;是…

C++惯用法: 通过std::decltype来SFINAE掉表达式

目录 1.什么是SFINAE 2.SFINAE(替换失败不是错误) 3.通过std::decltype来SFINAE掉表达式 1.什么是SFINAE SFINAE 技术&#xff0c;即匹配失败不是错误&#xff0c;英文Substitution Failure Is Not An Error&#xff0c;其作用是当我们在进行模板特化的时候&#xff0c;会去…

嵌入式c语言——指针加修饰符

指针变量可以用修饰符来修饰

量化交易常用名词介绍(七)——模块篇

目录 七、模块篇 1. NumPy 2. pandas 3. matplotlib 4. scikit-learn 5. TensorFlow 6. TA-Lib 7. statsmodels 8. Backtrader 9. PyPortfolioOpt 10. Zipline 七、模块篇 在量化交易中&#xff0c;Python 及其丰富的库生态系统提供了强大的支持。以…

Redis部署和基础命令

一、Redis基本概念 1.1 Redis简介 Redis&#xff08;远程字典服务器&#xff09; 是一个开源的、使用 C 语言编写的 NoSQL 数据库。 Redis 基于内存运行并支持持久化&#xff0c;采用key-value&#xff08;键值对&#xff09;的存储形式&#xff0c;是目前分布式架构中不可或…

python爬虫之scrapy基于管道持久化存储操作

python爬虫之scrapy基于管道持久化存储操作 本文基于python爬虫之基于终端指令的持久化存储和python爬虫之数据解析操作而写 scrapy持久化存储 基于管道&#xff1a; 编码流程&#xff1a; 1、数据解析 2、在item类中定义相关属性 3、将解析的数据封装存储到item类型的对象 4、…

Linux内核 -- 内存管理之scatterlist结构使用

Linux Kernel Scatterlist 使用指南 1. 简介 scatterlist 结构在 Linux 内核中主要用于 DMA&#xff08;直接内存访问&#xff09;操作中的内存管理。它允许将不连续的物理内存片段表示为一个逻辑上的连续块&#xff0c;从而使 DMA 操作可以高效地处理这些不连续的内存片段。…