git简介以及git操作软件下载以及安装教程,git基础指令介绍,持续更新中~

news2024/9/23 3:12:02

什么是Git?

最近在学一些git的基础指令,仔细地了解了一下git,发现了他的强大功能,分享一下:

Git是一个强大的工具,它在软件开发中扮演着至关重要的角色。
Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目。Git是目前世界上最流行的版本控制系统,广泛应用于软件开发中。

Git的核心概念:

  • 仓库(Repository):存储项目所有历史记录的地方,可以看作是项目的版本控制中心。
  • 工作区(Working Directory):项目文件的本地存放区域,你可以在这里修改文件。
  • 暂存区(Staging Area):当你准备提交更改时,可以使用git add命令将更改的文件添加到暂存区。
  • 分支(Branch):Git允许你创建分支来开发新功能或修复bug,而不影响主分支(通常是master或main)。
  • 合并(Merge):将一个分支的更改合并到另一个分支,通常是将分支的更改合并回主分支。
  • 远程仓库(Remote Repository):通常托管在服务器上,如GitHub、GitLab或Bitbucket,用于多人协作和代码共享。
  • 提交(Commit):记录项目历史的快照,每次提交都是项目状态的一个记录。
  • 标签(Tag):用于标记特定提交的名称,通常用于版本发布。

Git的主要特点包括:

  • 速度:Git在合并、分支、历史记录等操作时非常快速。
  • 分布式架构:每个开发者的本地仓库都是一个完整的版本库,可以进行所有操作,不依赖于中央服务器。
  • 数据完整性:Git通过SHA-1哈希算法保护代码和历史记录的完整性。
  • 支持离线工作:开发者可以在本地进行大部分Git操作,不需要网络连接。
  • 分支和合并:Git的分支操作简单,合并时可以自动合并大多数历史记录。
  • 支持多种操作系统:Git可以在Linux、Unix、Mac、Windows等多种操作系统上运行。
  • 支持大项目:Git高效地处理大型项目,如Linux内核项目。

Git通常与GitHub、GitLab或Bitbucket等远程仓库服务一起使用,这些服务提供了一个平台,让开发者可以共享代码、跟踪问题、管理合并请求等。

git指令练习-软件下载

在介绍git指令之前,推荐大家去git官网 https://git-scm.com/ 先下载可以本地操作的软件,安装过程简单,双击即可,步骤在下方:

在这里插入图片描述
在这里插入图片描述
以windows为例,下载下来是这样的,双击运行即可;
在这里插入图片描述
然后右键找到文件所在位置,将Git Bash这个快捷方式搬到桌面上就可以使用了;
在这里插入图片描述
测试一下,输入 git -v 如果可以正确的输出版本号信息,就是安装成功了。
在这里插入图片描述
另外,这个官网中还提供了很多git的图形化界面(GUI Clients),大家需要的话可以下载。

基本的git指令总结

查看git版本

git -v

添加个人信息 包括姓名,邮箱以及默认密码

git config --global user.name "zsl"

git config --global user.email xxx@gmail.com

git config --global credential.helper store

查看这些添加的信息

git config --global --list

这里需要对global这个参数进行说明:
省略(Local):本地配置, 只对本地仓库有效;
–global:全局配置,所有仓库生效
–system:系统配置,对所有用户生效 (一般不轻易使用system)

下面进行实例学习:

首先创建文件夹

mkdir learn-git

进入该文件夹

cd learn-git

创建仓库的两种方式:1.git init (本地) 2. git clone +链接 (远程)

ls -a 查看创建的.git文件

再次创建一个指定文件名的仓库:

git init my-repo

cd my-repo

查看仓库状态

git status

由于此时没有创建任何东西,所以会显示结果:

”On branch master No commits yet nothing to commit (create/copy files
and use “git add” to track) “

file1由未跟踪-已修改-已暂存的过程演示

先创建第一个文件

echo "这是第一个文件" > file1.txt

cat file1.txt

此时再次查看仓库状态会显示如下结果:

” On branch master No commits yet

Untracked files: (use “git add …” to include in what will be
committed)
file1.txt nothing added to commit but untracked files present (use “git add” to track) “

此时的文件还未被提交给仓库,还只是未被跟踪文件

将其提交给暂存区

git add file1.txt

此时再次查看仓库状态,显示结果如下:

” On branch master No commits yet Changes to be committed: (use “git
rm --cached …” to unstage)
new file: file1.txt “

但此时的文件还未被提交给仓库,只是被放在了暂存区

同样的,我们也可以创建一个file2.txt

echo "这是文件2的内容" > file2.txt

cat file2.txt

最后我们将file1提交给本地仓库

 git commit -m "第一次提交"

-m 后面添加了一个语言提示,方便识别
此时再次查看仓库状态,显示结果如下:

”On branch master Untracked files: (use “git add …” to
include in what will be committed)
file2.txt nothing added to commit but untracked files present (use “git add” to track) “

此时file1已经被成功的提交给了本地仓库,但是由于我们没有给file2进行任何操作,因此其还是个未被跟踪文件。

此外,git也支持多文件同时提交,例如我们现在有文件3文件4文件5,三个文件已经被创建,我们可以一次性把这三个文件添加到暂存区

git add *.txt

当然,如果想把当前文件夹下的所有文件都添加到缓存区,可以:

git add .

此时如果想要全部提交到仓库,可以:

git commit

但是此时由于提交批量的文件,会进入vim编辑模式,只需要按下 i 进入编辑模式,同时在里面输入内容 ”这是第二次提交的内容“,然后按 esc 按键,退出编辑模式,在内容的末尾输入 : wq , 保存并退出即可。

查看仓库提交历史记录

当所有的都提交了之后,我们可以查看仓库提交历史记录:

git log

输出结果如下:

”commit ef0fa20003be3174b161ef596cf3c25262721f92 (HEAD -> master)
Author: zsl xxx@gmail.com Date: Tue Jul 2 16:29:38 2024 +0800

这是第二次提交内容

commit 8a0408aa2c807370f2d6ca443c51977751dc2fd3 Author: zsl
xxx@gmail.com Date: Tue Jul 2 16:02:38 2024 +0800

第一次提交 “

会显示出提交人的详细信息

当然,我们也可以使用更简洁的日志输出形式:

git log --oneline

结果如下:

”ef0fa20 (HEAD -> master) 这是第二次提交内容
8a0408a 第一次提交 “

此时的两次提交进程ID也可以看到了。

持续更新中~

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

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

相关文章

GET与POST请求的区别【随记】

区别 1. 请求参数的传递方式 2. 安全性 3. 数据量 4. 幂等性 5. 用途 在Java中,GET和POST请求是通过HTTP协议与服务器进行通信的两种常用方法,它们之间有一些关键的区别: 1. 请求参数的传递方式 GET请求:将参数直接附加在U…

书生·浦语2.5开源,推理能力再创新标杆

导读 2024 年 7 月 3 日,上海人工智能实验室与商汤科技联合香港中文大学和复旦大学正式发布新一代大语言模型书⽣浦语2.5(InternLM2.5)。相比上一代模型,InternLM2.5 有三项突出亮点: 推理能力大幅提升,在…

四、嵌入式技术(考点篇)

1 第二版教材2.4嵌入式内容补充 嵌入式系统是以应用为中心、以计算机技术为基础,并将可配置与可裁减的软、硬件集成于一体的专用计算机系统,需要满足应用对功能、可靠性、成本、体积和功耗等方面的严格要求。 一般嵌入式系统由嵌入式处理器、相关支撑硬…

View->不同刻度大小的刻度尺View

XML文件 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:o…

如何在centos7安装Docker

在centOS7中我们可以使用火山引擎镜像源镜像安装Docker,以下是具体的安装步骤。 step 1: 安装必要的一些系统工具 sudo yum install -y yum-utils Step 2: 添加软件源信息 sudo yum-config-manager --add-repo https://mirrors.ivolces.com/docker/linux/centos/docker-ce.r…

改进Transformer模型其实也不难

声明&#xff1a;文章是从本人公众号中复制而来&#xff0c;因此&#xff0c;想最新最快了解各类智能优化算法及其改进的朋友&#xff0c;可关注我的公众号&#xff1a;强盛机器学习&#xff0c;不定期会有很多免费代码分享~ 目录 原理简介 数据介绍 结果展示 完整代码 之前…

WAIC2024 上海 | Gooxi 全面展示智算新成果,加速人工智能落地应用

浦江之畔&#xff0c;大咖云集&#xff1b;智能浪潮&#xff0c;奔涌不息。7月4日&#xff0c;被誉为人工智能界风向标的世界人工智能大会暨人工智能全球治理高级别会议在上海盛大召开&#xff0c;Gooxi此次携最新AI服务器以及解决方案参与&#xff0c;以算为擎赋能新质生产力&…

LLM之RAG实战(四十一)| 使用LLamaIndex和Gemini构建高级搜索引擎

Retriever 是 RAG&#xff08;Retrieval Augmented Generation&#xff09;管道中最重要的部分。在本文中&#xff0c;我们将使用 LlamaIndex 实现一个结合关键字和向量搜索检索器的自定义检索器&#xff0c;并且使用 Gemini大模型来进行多个文档聊天。 通过本文&#xff0c;我…

人工智能在三级淋巴结:肿瘤浸润淋巴细胞领域的系统研究进展|顶刊速递·24-07-08

小罗碎碎念 本期文献主题&#xff1a;人工智能在三级淋巴结/肿瘤浸润淋巴细胞领域的系统分析 关于三级淋巴结和肿瘤浸润淋巴细胞的文献&#xff0c;会是接下来的分析重点&#xff0c;期间也会穿插临床文献&项目复现的推文。 另外再说点科研道路上的题外话&#xff0c;也算是…

Python 爬虫 tiktok API接口获取tiktok用户关注列表

此接口可获取tiktok用户关注列表。若有需要&#xff0c;请点击文末链接联系我们。 详细采集页面如下https://www.tiktok.com/quanap_official 请求API http://api.xxxx.com/tt/user/following?user_id7252644648840381445&count10&offset0&tokentest 请求参数 返…

拿客户电脑,半小时完成轮播组件开发!被公司奖励500!

故事背景 原文链接&#xff1a;拿客户电脑&#xff0c;用豆包IDE逆天改命完成需求紧急开发&#xff01;被公司奖励500&#xff01; 前几天&#xff0c;业务拉了一个大客户&#xff0c;客户需要先看我们做的样本项目&#xff08;类似于官网首页&#xff09;&#xff0c;然后才会…

更新GCC版本问题处理(Could not resolve host: mirrorlist.centos.org;)更换SCL配置源/SCL后yum使用不了

SCL&#xff1a; 在 Linux 系统中&#xff0c;更新 GCC&#xff08;GNU Compiler Collection&#xff09;编译器需要使用 Software Collections (SCL) 库的原因主要有以下几点&#xff1a; https://wiki.centos.org/AdditionalResources/Repositories/SCLhttps://wiki.centos…

游戏开黑语音-使用云服务器部署teamspeak服务(系统Ubuntu 20.04 LTS)

目录 前置物品服务器调整及部署1.重装系统2.换源3.下载teamspeak服务端并部署 连接服务器参考 前置物品 一台云服务器&#xff08;系统&#xff1a;Ubuntu 20.04 LTS) 服务器调整及部署 1.重装系统 在腾讯云官网的主机控制台内&#xff0c;选择重装系统 (由于之前为了快速和…

重庆交通大学数学与统计学院携手泰迪智能科技共建的“智能工作室”

2024年7月4日&#xff0c;重庆交通大学数学与统计学院与广东泰迪智能科技股份有限公司携手共建的“智能工作室”授牌仪式在南岸校区阳光会议室举行。此举标志着数统学院与广东泰迪公司校企合作新篇章的开启&#xff0c;也预示着学院在智能科技教育领域的深入探索和实践。 广东…

电源中电感底部需要铺地平面吗?

感有交变电流&#xff0c;电感底部铺铜会在地平面上产生涡流&#xff0c;涡流效应会影响功率电感的电感量&#xff0c;涡流也会增加系统的损耗&#xff0c;同时交变电流产生的噪声会增加地平面的噪声&#xff0c;会影响其他信号的稳定性。 在EMC方面来看&#xff0c;在电感底部…

作为产品经理,如何用大模型给我们赋能?非常详细,收藏我这篇就够了

作为一名产品经理&#xff0c;如果您考虑转行至大模型领域&#xff0c;您将能够将产品管理技能与大模型技术相结合&#xff0c;从而在产品开发和创新方面获得一系列好处。以下是转行大模型对产品经理的一些潜在益处&#xff1a; 更深入的技术理解&#xff1a;了解大模型技术将…

deepspeed huggingface传入参数 optimizer和lr_scheduler测试

Trainer中 首先&#xff1a; WarmupDecayLR --lr_scheduler_type linear WarmupLR --lr_scheduler_type constant_with_warmup 1 TrainArgument不传lr_scheduler_type、optim&#xff0c;warmup_steps15 ds config文件中定义如下&#xff1a; 注意&#xff1a;如果不在Trai…

java-spring boot光速入门教程(超详细!!)

目录 一、引言 1.1 初始化配置 1.2 整合第三方框架 1.3 后期维护 1.4 部署工程 1.5 敏捷式开发 二、SpringBoot介绍 spring boot 2.1 搭建一个spring boot工程 2.2 使用idea创建项目 2.3 在线创建姿势 2.4 项目的目录结构 2.5 项目的运行方式 2.6 yml文件格式 2…

无线麦克风哪个品牌音质最好,揭秘手机收音麦克风哪个牌子好!

随着全球直播和短视频行业的蓬勃发展&#xff0c;领夹麦克风因其便携性和出色的录音质量而备受青睐。用户在各种场合下追求清晰、真实的录音效果&#xff0c;领夹麦克风无疑是一个理想的选择。 然而&#xff0c;面对市场上琳琅满目的品牌和型号&#xff0c;想要挑选一款性能优…

计算机网络之无线局域网

1.无线局域网工作方式 工作方式&#xff1a;每台PC机上有一个无线收发机&#xff08;无线网卡&#xff09;&#xff0c; 它能够向网络上的其他PC机发送和接受无线电信号。 与有线以太网相似&#xff0c;无线局域网也是打包方式发送数据的。每块网卡都有一个永久的、唯一的ID号…