Git 命令行快速入门

前言

(1)新手个人建议使用TortoiseGit这类图形化界面来上手学习。
(2)如果一定需要用命令行进行操作,可以按照B站:程式与网页开发者必备技能!Git 和 GitHub 零基础快速上手,轻松掌握版本控制的要诀!视频教程来。
(3)上述视频教程讲解的非常好,我这里只是在该视频基础上稍微增加几条可能会使用到的命令。

Github操作

创建仓库

(1)创建仓库。

在这里插入图片描述

(2)输入仓库名称,然后创建。

在这里插入图片描述

查看仓库提交记录

(1)如果想在Github上查看仓库的提交信息,进行如下方法即可查看。

在这里插入图片描述

合并分支

(1)如果我们现在有多个分支,在会出现下图这样的情况。

在这里插入图片描述

(2)

在这里插入图片描述

(3)

在这里插入图片描述

(4)

在这里插入图片描述

(5)

在这里插入图片描述

(6)如果发现没有问题,进行合并

在这里插入图片描述

首次使用Git需要设置用户信息

(1)首次在电脑中使用Git,需要输入如下两条命令设置当前用户姓名用户邮箱
非首次使用Git的用户,不需要执行该操作。

# 设置用户名
git config --global user.name "myname"
# 设置用户邮箱
git config --global user.email "myemail"

在这里插入图片描述

常用命令介绍

初始化Git仓库

(1)执行如下操作进行初始化,最终会生成一个.git隐藏文件,用于跟踪版本,存储档案变更历史和备份记录。

# 初始化 Git 仓库
git init

在这里插入图片描述

查看仓库文件状态

(1)Git 仓库有四种状态:

  • Untracked(未追踪):该状态下,Git不会记录他们的内容变更和编辑历史。需要使用git add命令转换为下一个状态。
  • Tracked(已追踪):此时Git会追踪该文件,但文件内容与上一次提交时的内容相同。通俗来说,它们在上次提交后没有被修改过。需要使用git commit命令转换为下一个状态。
  • Staged(已暂存):这时会记录修改后的文件信息。需要使用git push命令转换为下一个状态。
  • Committed(已提交):此时本地仓库和远程仓库同步成功。
# 查看当前目录下文件状态
git status
# 以简短的格式显示当前目录下文件状态,推荐该命令
# ?? : 未追踪(Untracked)
# A : 已追踪,新增文件
# M : 已经被修改的文件,但是没有被暂存
# 
git status -s

追踪文件

(1)初始化仓库之后,Git 需要知道要追踪那些文件,因此可以使用如下命令进行追踪。

# git add : 追踪文件
# . : 追踪当前目录下所有文件
git add .

忽略追踪特定文件

.gitignore文件

(1)在一个工程中,我们可能有一部分文件不需要,例如工程打编译产生的build/文件夹。

# 创建一个 .gitignore 文件
touch .gitignore
# 在 .gitignore 文件中加入要屏蔽的文件/文件夹
build/

对于已经追踪打文件取消追踪

(1)该命令用于从Git的暂存区(索引)中删除文件或目录,同时保留工作目录中的文件。这意味着文件或目录将不再被Git追踪,但它们仍然会保留在你的本地文件系统中。
(2)一般是编译的过程文件被误操作追踪,使用该命令进行取消追踪。
(3)虽然说使用该命令可以将文件从Git的暂存区删除。但是需要注意,执行完该命令之后,还需要将要忽略的文件添加进入.gitignore文件,防止再次被误追踪。

# git rm: 删除文件或目录。
# -r: 递归删除,即删除目录及其内容。
# --cached: 仅从暂存区删除文件或目录,不从工作目录中删除。
git rm -r --cached <File>### 示例 ###
git rm -r --cached build/
# 然后进入 .gitignore 文件添加如下内容
build/

提交

(1)当Git成功追踪了工程之后,我们需要

# 打开编辑器编写详细提交消息。Ctrl+X退出编辑。
git commit
# 提交简短的更改信息。
git commit -m "first commit"
# 如果上一次提交信息有问题,可以使用该命令进行修改。Ctrl+X退出编辑。
git commit --amend

查看提交信息

(1)我们可以使用如下命令查看提交历史。

# 查看提交历史
git log
# 查看简化版的提交历史
git log --oneline
# 退出查看
q

在这里插入图片描述

版本对比

(1)如果出现了问题,我们可以使用如下命令对比版本信息。

# 先使用查看提交 ID
git log --oneline
# 版本对比
# git diff : 进行版本对比
# 8f3b66f : 提交ID
# ./main/hello_world_main.c : 要对比的文件
git diff 8f3b66f -- ./main/hello_world_main.c

在这里插入图片描述

版本回退

保留历史记录的回退

(1)如果是因为某个文件的错误导致出现了问题,我们就可以进行版本回退。
(2)该方式能够回退指定文件,并且不会将历史记录进行删除,是属于比较安全的版本回退方法。

# git checkout : 保留历史记录的版本回退
# 8f3b66f :  提交ID
# ./main/hello_world_main.c : 要回退的文件
git checkout 8f3b66f  -- ./main/hello_world_main.c

不保留历史记录的回退

(1)如果某个版本出现了问题,但是仅仅只修改特定的文件发现没有成功。我们可以使用如下命令将整个工程环境回退到能够使用的版本。
(2)需要注意,这个操作是不可逆的。如果想知道最新版本的仓库情况,需要重新拉取或者提前备份

git reset --hard <commit ID>

克隆项目

(1)如果你想获取他人的仓库,可以先按照如下方法获取地址信息。

在这里插入图片描述

(2)按照如下方法克隆即可。

git clone <仓库地址>

将本地文件上传至云端

(1)在本地修改工程后,我们还需要将本地的工程推送到云端才可以和其他人一起合作。

git push

将云端文件下载到本地

(1)如果同事将工程进行了修改,我们需要和他们的环境同步,执行下面的内容同步。

git pull

查看分支信息

(1)一个工程可能有多个分支,我们可以使用如下命令查看。

git branch

创建分支

# git checkout : 切换分支
# -b : 创建并切换至新分支
git checkout -b <新分支名>

切换分支

# 查看目前有多少个分支
git branch
# 切换分支
git checkout <分支名>

常用操作介绍

仓库首次创建推送

(1)

git init
git add .
git commit -m <内容>
# 将本地和远端的存储库进行连结
git remote add origin <仓库地址>
# 该操作只是对分支进行一个改名,可以不进行操作
# git branch : 分支管理
# -M : 重命名
git branch -M main# 执行完下面这条命令之后,刷新仓库页面即可看到本地仓库信息
# git push : 将本地仓库的更改推送到远程仓库
# -u : 设置本地分支与远程分支的关联,即上游分支。这样做的好处是,之后可以简化 git pull 和 git push 命令,不需要每次都指定远程分支。git push -u origin <分支>

新增工程文件并进行上传

(1)

git add . 
git commit -m "增加文件"
# 将这个提交推送至Github
git push

删除工程文件

(1)

git add .
git commit -m "删除文件"

README.md文件

(1)一个开源仓库给他人使用时候,别人是不知道具体信息的,因此需要添加一个README.md文件进行说明。

# 创建一个 README.md 文件,并且向该文件内输入# test
echo "# test" >> README.md

在这里插入图片描述

参考

(1)B站:程式与网页开发者必备技能!Git 和 GitHub 零基础快速上手,轻松掌握版本控制的要诀!

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

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

相关文章

干货:高水平论文写作思路与方法

前言:Hello大家好,我是小哥谈。高水平论文的写作需要扎实的研究基础和严谨的思维方式。同时,良好的写作技巧和时间管理也是成功的关键。本篇文章转载自行业领域专家所写的一篇文章,希望大家阅读后可以能够有所收获。🌈 目录 🚀1.依托事实/证据,通过合理的逻辑,…

汇川CodeSysPLC教程03-2-14 与HMI通信

硬件连接 PLC与HMI连接采用何种连接方式&#xff0c;通常是参考双方支持哪些接口。PLC&#xff08;可编程逻辑控制器&#xff09;与HMI&#xff08;人机界面&#xff09;之间的通讯方式主要有以下几种&#xff1a; 串行通讯&#xff08;Serial Communication&#xff09;&…

Git本地仓库的搭建与使用

目录 一、前言 二、Linux下搭建 git 仓库 三、Windows下搭建 git 仓库 一、前言 做项目时&#xff0c;我们常常需要将自己的代码进行托管&#xff0c;但有时候 Github 的速度属实叫人流泪。有的人会选择 Gitee 等进行托管代码&#xff0c;这当然是可以的。那如果没有其他代码…

前端图表库G2快速上手

文档地址&#xff1a; https://g2-v3.antv.vision/zh/docs/manual/getting-started/ https://g2.antv.antgroup.com/ 安装&#xff1a; pnpm i antv/g2在vue3中使用&#xff1a; <script setup> import {Chart} from antv/g2; import {onMounted} from "vue"…

LeetCode(2)-反转链表、删除链表中等于val的节点、返回链表中的中间节点

一、反转链表 . - 力扣&#xff08;LeetCode&#xff09; 解法1&#xff1a; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ typedef struct ListNode ListNode; struct ListNode* reverseList(struct ListN…

MySQL架构优化及SQL优化

变更项目的整体架构是性能收益最大的方式。主要涉及两方面&#xff0c;一方面是从整个项目角度&#xff0c;引入一些中间件优化整体性能&#xff0c;另一方面是调整MySQL的部署架构&#xff0c;确保能承载更大的流量访问&#xff0c;提高数据层的整体吞吐。 1. 引入缓存中间件…

手把手教你玩转AD9361数字调制解调系列(四) ----纯PL逻辑实现QPSK信号的数字调制解调

因最近客户需求&#xff0c;用纯PL实现AD9361的数字信号调制解调&#xff0c;于是就把各种数字调制都在AD9361上都实现了一遍。 优点就是&#xff1a;既可以在zynq系列上配置9361&#xff0c;也可以在纯FPGA系列配置9361。并且理解起来比较简单&#xff01;&#xff01;&#…

推荐4款免费好用文本转语音工具

Edge文本转语音 Edge文本转语音功能主要通过Edge-TTS实现。Edge-TTS是由微软开发的文本转语音&#xff08;TTS&#xff09;Python库&#xff0c;利用微软Azure Cognitive Services的强大功能&#xff0c;能够将文本信息转换成流畅自然的语音输出。该库支持多种中文语音语色&…

PID控制与模糊PID控制的比较

一、PID控制器的设计 1.PID控制原理图&#xff1a; PID控制其结构框图如下图所示&#xff1a; 图1&#xff1a;PID控制器结构框图 2.PID控制器传递函数的一般表达式 PID控制器传递函数的一般表达形式为&#xff1a; 其中kp为比例增益&#xff1b;ki为积分增益&#xff1b;k…

《大语言模型的临床和外科应用:系统综述》

这篇题为《大语言模型的临床和外科应用&#xff1a;系统综述》的文章对大语言模型&#xff08;LLM&#xff09;目前在临床和外科环境中的应用情况进行了全面评估。 大语言模型&#xff08;LLM&#xff09;是一种先进的人工智能系统&#xff0c;可以理解和生成类似人类的文本。…

【YOLO8系列】(二)YOLOv8环境配置,手把手嘴对嘴保姆教学

目录 一. 准备环境 1.Anaconda下载 2.创建yolov8虚拟环境 3.pytorch安装 4.CUDA下载 5.CUDNN下载 二、yolov8模型下载 1.clone模型 2.pycharm配置 ①解释器配置 ②终端配置 3.安装必要库 4.下载训练模型 三、 环境验证 四、总结 YOLOv8 是 YOLO 系列最新的目标…

兼容性报错--调整字符集解决

文章目录 错误解决办法Unicode 字符集(两个字节来表示一个字符)多字节字符集(一个字节来表示一个字符)如何选择字符集char与wchar_t的区别LPCSTR与LPCWSTR的区别 错误 解决办法 切换字符集类型 Unicode 字符集(两个字节来表示一个字符) 优点&#xff1a; 支持更多的字符集…

Linux|背景 环境搭建

目录 一、简述Linux发展史 1.1计算机的诞生 1.2操作系统的诞生 1.3Linux操作系统开源 1.4Linux发行版本 二、搭建Linux环境 三、使用shell远程登入到Linux 一、简述Linux发展史 可能大家未听说过Linux&#xff0c;或者只知道它是一个搭配在计算机上的操作系统&#xff0…

Studio One直播声音怎么调 Studio One直播没有声音输出怎么办 studio one如何设置声音变好听

Studio One做为新生代音乐工作站&#xff0c;凭借更低的价格和完备的功能&#xff0c;获得了音乐人和直播行业工作者的青睐&#xff0c;尤其是对硬件声卡的适配支持更好&#xff0c;特别适合用来配合线上教学和电商带货。 一、Studio One直播声音怎么调 在Studio One进行直播时…

C基础day7

一、思维导图 二、课后练习 1、提示并输入一个字符串&#xff0c;统计该字符串中字母、数字、空格以及其他字符的个数 #include<myhead.h> #define M 20 int main(int argc, const char *argv[]) {int sum_a0,sum_b0,sum_c0,sum_d0;char str[M];printf("please en…

鼠标点击触发-----以控制开灯、宝箱触发为例

开灯 当点击时触发开灯效果 &#xff08;不用设置触发器&#xff09; using System.Collections; using System.Collections.Generic; using UnityEngine;public class OpenLight : MonoBehaviour {public Transform light;bool isOpen;private void OnMouseDown(){if (!isOpe…

Hospital Management Startup 1.0 SQL 注入漏洞(CVE-2022-23366)

前言 CVE-2022-23366是一个影响HMS v1.0的SQL注入漏洞。该漏洞存在于patientlogin.php文件中&#xff0c;允许攻击者通过特定的SQL注入来获取或修改数据库中的敏感信息。 具体来说&#xff0c;攻击者可以通过向patientlogin.php发送恶意构造的SQL语句来绕过身份验证&#xff…

Joblib 是一个专注于高效计算和数据持久化的 Python 库

目录 01Joblib 是什么&#xff1f; 为什么选择 Joblib&#xff1f; 安装与配置 02Joblib 的基本用法 并行计算 数据持久化 03实战案例 项目简介 项目结构 依赖安装 应用代码 运行应用 …

FunAudioLLM SenseVoice语音转录与CosyVoice语音合成及语音克隆使用案例

参考: https://fun-audio-llm.github.io/ 1、SenseVoice语音转录 在线体验:https://modelscope.cn/studios/iic/CosyVoice-300M 参考:https://github.com/FunAudioLLM/SenseVoice 下载: pip install -U funasr使用: from funasr import AutoModelmodel_dir = "…