Git的简介以及基本使用

目录

一.Git的简介

 ===拓展:Git与SVN的区别(各自的优点与缺点)

二.Git文件的4种状态

三.Git的常用命令

搭建完成之后,将项目文件也上传之后,现在模拟其他人来下载这个代码

今天就分享到这啦!!


一.Git的简介

        Git是一种分布式版本控制系统,最初由Linus Torvalds在2005年创建,用于管理和跟踪代码的变化。Git与传统的集中式版本控制系统不同,它将代码仓库完全复制到每个开发者的本地,使得每个开发者都拥有完整的代码历史记录和版本控制功能。

 ===拓展:Git与SVN的区别(各自的优点与缺点)

  1. 分布式vs集中式:Git是一种分布式版本控制系统每个开发者都可以在本地完整地拥有代码仓库的副本,并且可以独立地进行版本控制和提交SVN是一种集中式版本控制系统,所有的代码都集中存储在中央服务器上,开发者需要从服务器上获取代码并提交更改。

  2. 高效性能:Git在处理大型项目和大量文件时比SVN更高效。Git使用了一种称为"快照"的机制,只存储文件的变化而不是整个文件。这使得Git在提交、分支和合并操作上更快速。

  3. 分支和合并:Git对分支和合并的支持更加强大和灵活。在Git中,创建、合并和切换分支非常简单,开发者可以轻松地进行并行开发和团队协作。而SVN的分支和合并操作相对复杂,需要在中央服务器上进行。

  4. 本地操作:由于Git是分布式的,开发者可以在没有网络连接的情况下进行代码的提交、分支切换和历史查看等操作。SVN需要与中央服务器进行交互,无法在没有网络连接的情况下进行操作。

  5. 历史记录:Git的历史记录更加详细和完整,每次提交都会生成唯一的SHA-1哈希值,可以追踪每个文件的每一次修改。SVN的历史记录相对简单,只记录文件的增删改操作。

综上所述,Git在分布式、性能、分支合并和本地操作等方面具有优势,而SVN在集中式操作和简单性方面更加适合一些项目。

用一张图来进行理解:

二.Git文件的4种状态

1. 未追踪(Untracked):文件在Git仓库中不存在,没有被Git跟踪。

                 解决方法:使用`git add`命令将文件添加到暂存区。

2. 已修改(Modified):文件已经被修改过,但还没有被添加到暂存区。

                解决方法:使用`git add`命令将文件添加到暂存区。

3. 已暂存(Staged):文件已经被添加到暂存区,准备提交到版本库。

                解决方法:使用`git commit`命令将暂存区的文件提交到版本库。

4. 已提交(Committed):文件已经被提交到版本库。

                解决方法:无需解决,文件已经保存在版本库中。

此外,还有一些特殊的文件状态:

1. 忽略文件(Ignored):在.gitignore文件中指定的文件,Git会忽略对其的跟踪。

                解决方法:编辑.gitignore文件,添加或修改相应的规则。

2. 冲突文件(Conflict):在合并分支时,如果同一个文件在不同的分支中有不同的修改,                  Git会标记为冲突文件。

                解决方法:手动编辑冲突文件,解决冲突后使用`git add`命令将文件标记为已解决,再进行提交。

三.Git的常用命令

        ①申请激活一个Gitee(码云)账号,进入 工作台 - Gitee.com 网站进行登录注册

         ②在window中安装Git,版本要求 在Git-2.22.0-64-bit.exe以上的版本,注意不要安装在C盘,因为win10会有权限问题 没有点出来的就直接默认即可,最后安装完成即可

 1 .直接点击下一步,然后需要输入安装路径

 2 .基础设置:

  3.开始菜单创建快捷方式与否:

工作台 - Gitee.com4.添加环境,以及选择使用git的命令行工具

③新建一个库,点击右上角的加号,然后填写一个库的名字即可就会出现下方界面,

 ④ 新建一个存放这个库的位置,右击点击,这个文件夹里面放入项目的文件

⑤ 在里面 Git的全局设置

git config --global user.name "自己定义库的名字"    

git config --global user.email "13671306+the-posture-is-not-bad@user.noreply.gitee.com"

执行完上面的两行代码之后,在本机的C盘->用户->名字下->会出现一个文件,即设置成功

⑥创建git库,依次运行下方代码即可

mkdir temp1  创建一个temp1的文件夹

cd temp1       进入这个文件夹

git init            标记为git管理的仓库

touch README.md    创建一个文件

git add README.md     将文件交给git管理

git commit -m "first commit" 提交到本地仓库

git remote add origin https://gitee.com/the-posture-is-not-too-bad/temp1.git 将本地仓库与远程仓库进行绑定
git push -u origin "master"推送

点击刷新gitee

⑦上传项目文件

搭建完成之后,将项目文件也上传之后,现在模拟其他人来下载这个代码

① 组员也新建一个仓库temp2

 ②右击打开小黑窗口和上方一样,再将temp1环境已经搭建好的项目克隆过来,在temp1复制路径

③在temp2的路径下克隆 

这样在我们一个团队中,就把自己新写地代码发布,给其它队员们下载更新,也不会担心如果一台电脑蓝屏或者什么就整个项目丢失地情况啦!

今天就分享到这啦!!

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

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

相关文章

第五章:Testing Modules

文章目录 State and ProgramsTestability of State-Based Programsintrusively test 侵入性测试Non-intrusive test 非侵入测试java和其他工具的实践有限状态机进行单元测试(Unit testing with FSA)构建状态机步骤step1:识别 FSA 状态step2:确定某个状态下的可用操作step3:…

pytorch_神经网络构建5

文章目录 生成对抗网络自动编码器变分自动编码器重参数GANS自动编码器变分自动编码器gans网络Least Squares GANDeep Convolutional GANs 生成对抗网络 这起源于一种思想,假如有一个生成器,从原始图片那里学习东西,一个判别器来判别图片是真实的还是生成的, 假如生成的东西能以…

Qt 二维码生成与识别

1.简介 QZXing是一个基于Qt框架的二维码解码库,它是对ZXing(Zebra Crossing)开源项目的一个Qt封装。ZXing是一个功能强大的开源二维码解码库,支持多种类型的码,包括QR码、DataMatrix码、Aztec码等。 QZXing提供了一个…

Flink(一)【WordCount 快速入门】

前言 学完了 Hadoop、Spark,本想着先把 Kafka、Flume 这些工具先学完的,但想了想还是把核心的技术先学完最后再去把那些工具学学。 最近心有点累哈哈哈,偷偷立个 flag,反正也没人看,明年的今天来这里还愿哈&#xff0c…

vue3错误排查-POST请求的body参数 传参方式form-data和json

问题:vue3实现登录功能,登录成功后 跳转到登陆后的界面 一秒后 闪退回登录页 对应的输出结果也一闪而过,反复复查了代码,没问题。(封装的 post 请求未成功发起) 自测:进行断点输出调试。强行跳…

接口幂等性详解

1. 什么是幂等性 幂等性指的是对同一个操作的多次执行所产生的影响与一次执行的影响相同。无论操作执行多少次,系统状态都应该保持一致。 在计算机科学和网络领域中,幂等性通常用来描述服务或操作的特性。对于RESTful API或HTTP方法,一个幂…

049-第三代软件开发-软件部署脚本(一)

第三代软件开发-软件部署脚本(一) 文章目录 第三代软件开发-软件部署脚本(一)项目介绍软件部署脚本(一)其他方式 关键字: Qt、 Qml、 bash、 shell、 脚本 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Object…

Java 最常见的面试题:常用的 jvm 调优的参数都有哪些?

Java 最常见的面试题:常用的 jvm 调优的参数都有哪些? 常用的Java虚拟机(JVM)调优参数有很多,以下是一些重要的参数: -Xms 和 -Xmx:这两个参数分别设置了JVM启动内存的最小值和最大值,单位通…

毅速丨为什么不锈钢材料在金属3D打印中应用广泛

不锈钢材料作为一种常见材料,在金属3D打印中应用广泛,可以说是目前使用率最高的材料,为什么不锈钢大受欢迎,主要由几点原因。 第一、工艺适合性 金属3D打印的工艺,如直接金属激光烧结(DMLS)或选…

Leetcode—2578.最小和分割【简单】

2023每日刷题&#xff08;二十三&#xff09; Leetcode—2578.最小和分割 实现代码 class Solution { public:int splitNum(int num) {vector<int> a;while(num) {a.push_back(num % 10);num / 10;}int n a.size();sort(a.begin(), a.begin() n);int num1 0;int num…

【Spring】bean的自动装配

目录 一.byName 二.byType 快捷书写 people1 package org.example;public class People1 {public void eat(){System.out.println("吃饭");} }people2 package org.example;public class People2 {public void sleep(){System.out.println("睡觉");} …

【SVN】

SVN 1 svn使用1.1 主干合并到分支1.2 分支合并到主干1.3 分支建立1.4 创建分支1.5 切换分支1.6 合并分支1.7 删除分支 2 概念理解 1 svn使用 1.1 主干合并到分支 首先&#xff0c;在本地trunk中先update一下&#xff0c;有冲突的解决冲突&#xff0c;保证trunk和repository已…

软件测试/测试开发丨接口测试学习笔记,TcpDump与WireShark

点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/27859 协议分析工具 网络监听&#xff1a;TcpDump WireShark 代理 Proxy 推荐工具&#xff1a;手工测试charles [全平台]、安全测试burpsuite [全平台 j…

10-Docker-分布式存储算法

01-哈希取余算法分区 哈希取余分区&#xff08;Hash Modulus Partitioning&#xff09;是一种在分布式计算和数据存储中常用的分区策略&#xff0c;其目的是将数据或计算任务分配到多个节点或服务器上&#xff0c;以实现负载均衡和提高性能。这种分区策略的核心思想是使用哈希…

java网络通信:Springboot整合Websocket

网络通信 什么是webSocket&#xff1f;WebSocket 原理springboot整合websocket过程 网络通信三要素&#xff1a;ip地址&#xff08;ipv4、ipv6&#xff09;、端口号&#xff08;应用程序的唯一标识&#xff09;、协议&#xff08;连接和通信的规则&#xff0c;常用&#xff1a;…

基于袋獾算法的无人机航迹规划-附代码

基于袋獾算法的无人机航迹规划 文章目录 基于袋獾算法的无人机航迹规划1.袋獾搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用袋獾算法来优化无人机航迹规划。 1.袋獾搜索算法 …

深入探讨 Presto 中的缓存

Presto是一种流行的开源分布式SQL引擎&#xff0c;使组织能够在多个数据源上大规模运行交互式分析查询。缓存是一种典型的提高 Presto 查询性能的优化技术。它为 Presto 平台提供了显着的性能和效率改进。 缓存通过将频繁访问的数据存储在内存或快速本地存储中&#xff0c;避免…

redis的数据类型及操作

一、redis 的数据库 Redis是一个字典结构的存储服务器。一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存在哪个字典中。这与关系型数据库例中可以创建多个数据库似。因此,可以将每个字典理解为一个独立的数据库。每个数据库对外都是以0开始的递增数字命名…

HTML的表单标签和无语义标签的讲解

HTML的表单标签 表单是让用户输入信息的重要途径, 分成两个部分: 表单域: 包含表单元素的区域. 重点是 form 标签. 表单控件: 输入框, 提交按钮等. 重点是 input 标签 form 标签 使用form进行前后端交互.把页面上,用户进行的操作/输入提交到服务器上 input 标签 有很多形态,能…

本地消息表分布式事务

BASE论文 论文链接&#xff1a;https://queue.acm.org/detail.cfm?id1394128 里面提到&#xff0c; The most critical factor in implementing the queue, however, is ensuring that the backing persistence is on the same resource as the database. This is necessary…