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

news2025/1/12 8:58:16

目录

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.coloradmin.cn/o/1911610.html

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

相关文章

6.824/6.5840 的Debugging by Pretty Printing配置

TA的原文在&#xff1a;Debugging by Pretty Printing (josejg.com) 为了在WSL2中配置好打印运行日志&#xff0c;我可是忙活了一下午。可恶的log配置 首先是安装rich库Textualize/rich: Rich is a Python library for rich text and beautiful formatting in the terminal. …

Android布局简介

布局是一种可用于放置很多控件的容器&#xff0c;根据既定的规则决定内部控件的位置。当然&#xff0c;布局的内部也可以放置布局&#xff0c;即布局嵌套&#xff0c;布局嵌套可以实现一些比较复杂的界面。 Android中有多种编写程序界面的方式可供选择。Android Studio提供了相…

Android应用程序调试Logcat的使用

Android的程序调试主要使用Logcat进行&#xff0c;本节主要介绍Logcat的使用。 开启调试模式 使用Android Studio进行程序调试&#xff0c;首先需要连接虚拟Android设备或真实Android设备&#xff0c;设备上需要启用调试功能。 虚拟Android设备默认情况下会启用调试功能。对…

超详细!Jmeter 压测-设计5W并发量场景

需求&#xff1a;设计一个5W并发量的性能场景&#xff1f; 1、确定性能测试工具&#xff0c;性能测试思路 测试工具&#xff1a;Jmeter 并发设计思路&#xff1a;如果被测服务足够快&#xff0c;比如10ms的响应时间&#xff0c;1个线程/秒就是100tps&#xff0c;5万的TPS&…

Redis代替Session实现共享

集群的session共享问题 session共享问题&#xff1a;多台tomcat并不共享session存储空间&#xff0c;当请求切换到不同的tomcat服务时导致数据丢失的问题。 session的替代方案&#xff1a; 数据共享内存存储key、value结构 将redis替换session可以解决session共享问题

AI发展的新方向:从卷模型到卷应用

在2024年7月4日于上海世博中心举办的世界人工智能大会暨人工智能全球治理高级别会议全体会议上&#xff0c;百度创始人、董事长兼首席执行官李彦宏发表了一段引人深思的演讲。他在产业发展主论坛上提出&#xff1a;“大家不要卷模型&#xff0c;要卷应用&#xff01;”这句话道…

打卡第7天-----哈希表

继续坚持✊,我现在看到leetcode上的题不再没有思路了,真的是思路决定出路,在做题之前一定要把思路梳理清楚。 一、四数相加 leetcode题目编号:第454题.四数相加II 题目描述: 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j…

设计模式使用简例(简单工厂+策略模式+模板方法)

直接上代码&#xff0c;方便记忆。主要的要点&#xff0c;已经写到注释中。 一&#xff0c;代码展示 启动类 package com.rojer;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootAppli…

【电路笔记】-C类放大器

C类放大器 文章目录 C类放大器1、概述2、C类放大介绍3、C类放大器的功能4、C 类放大器的效率5、C类放大器的应用:倍频器6、总结1、概述 尽管存在差异,但我们在之前有关 A 类、B 类和 AB 类放大器的文章中已经看到,这三类放大器是线性或部分线性的,因为它们在放大过程中再现…

离线运行Llama3:本地部署终极指南_liama2 本地部署

4月18日&#xff0c;Meta在官方博客官宣了Llama3&#xff0c;标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验&#xff0c;Llama3 8B效果已经超越GPT-3.5&#xff0c;最为重要的是&#xff0c;Llama3是开源的&#xff0c;我们可以自己部署&#xff01; 本文和大家…

大话光学原理:3.干涉与衍射

一、干涉 这是一束孤独的光&#xff0c;在真空的无垠中悄无声息地穿行。忽然&#xff0c;一堵高耸的墙壁挡住了它的去路&#xff0c;它别无选择&#xff0c;只能硬着头皮冲撞而去。在摸索中&#xff0c;它意外地发现墙壁上竟有两道孔隙&#xff0c;笔直而细长&#xff0c;宛如量…

tableau树形图制作 - 7

树形图制作 1. 树状图绘制-11.1 选择属性1.2 智能选择树状图1.3 颜色设置 2. 树状图绘制-22.1 标签属性选择2.2 树状图绘制2.3 颜色设置2.4 设置标签2.5 设置筛选器 3. 树状图绘制 - 33.1 选择行列3.2 树状图转换3.3 统计转换3.4 颜色设置3.5 标签设置3.6 筛选器设置 1. 树状图…

【系统架构设计】计算机组成与体系结构(二)

计算机组成与体系结构 计算机系统组成存储器系统前言主存储器存储器存储数量&#xff08;计算&#xff09; 辅助存储器&#xff08;以磁盘为例&#xff09;Cache存储器 流水线 计算机系统组成 存储器系统 前言 存储器用来存放程序和数据的部件&#xff0c;是一个记忆装置&am…

Michael.W基于Foundry精读Openzeppelin第63期——Initializable.sol

Michael.W基于Foundry精读Openzeppelin第63期——Initializable.sol 0. 版本0.1 Initializable.sol 1. 目标合约2. 代码精读2.1 _getInitializedVersion() internal && _isInitializing() internal2.2 modifier initializer()2.3 modifier reinitializer(uint8 version…

Qt 异步实现事件的定时执行 - QTimer和QThread的联合使用

异步实现事件的定时执行 - QTimer和QThread的联合使用 引言一、核心源码二、其信号和槽函数简述三、定时器及其moveToThread简述 引言 在 Qt 中&#xff0c;如果想要定时执行某些事件或函数&#xff0c;通常会使用 QTimer 类。QTimer 允许设置一个时间间隔&#xff0c;当这个时…

聚星文社一键生成工具绘唐3科技AI工具

聚星文社一键生成工具绘唐3科技AI工具 绘唐3.0——用户文档 - 飞书云文档 聚星文社一键生成工具绘唐3科技AI工具是一个基于人工智能技术的辅助创作工具&#xff0c;可以帮助用户快速生成有关唐朝科技的文本内容。该工具利用自然语言处理和机器学习等技术&#xff0c;通过输入一…

opencv读取视频文件夹内视频的名字_时长_帧率_分辨率写入excel-cnblog

看视频的时候有的视频文件名贼长。想要翻看&#xff0c;在文件夹里根本显示不出来&#xff0c;缩短又会丢失一些信息&#xff0c;所以我写了一份Python代码&#xff0c;直接获取视频的名字&#xff0c;时长&#xff0c;帧率&#xff0c;还有分辨率写到excel里。 实际效果如下图…

Cesium自定义着色器构件三角面片【闪烁】问题,但是一移动视角就闪烁

问题&#xff1a;已知各个顶点的坐标信息、颜色和索引信息&#xff0c;并自定义绘制三角面片。 但是绘制的三角面片随着视角稍微改动就会出现闪烁现象&#xff01;&#xff01;&#xff01;why? Cesium数据类型的精度问题&#xff0c;例如下面为了获取能接收到高精度坐标信息…

linux磁盘分区管理

首先关机状态下&#xff0c;先配置硬盘 硬盘分区管理 识别硬盘 》分区规划 》 格式化 》 挂载使用 [rootlocalhost ~]# lsblk 查看硬盘 分区划分&#xff08;m帮助, p 查看分区, n 创建分区, d 删除分区, q 退出, w 保存&#xff0c; g gpt分区&#xff09; [roo…

华为云发起,openGemini正式成为CNCF官方项目!

openGemini 正式成为 CNCF 官方项目 北京时间2024年7月9日&#xff0c;云原生计算基金会&#xff08;CNCF&#xff09;正式接纳云原生高性能时序数据库项目 openGemini。openGemini的加入&#xff0c;极大地丰富了云原生数据库技术的探索、创新和发展。 openGemini是华为云数据…