Git入门实战教程之创建版本库

一、Git简介

Git是一个分布式版本控制系,分层结构如下:

Git分为四层:

1、工作目录

当前正在工作的项目的实际文件目录,我们执行命令git init时所在的地方,也就是我们执行一切文件操作的地方。

2、暂存区

暂存区是一个介于工作目录和本地仓库之间的缓冲区域。它保存了已经通过git add命令添加但尚未通过git commit命令提交到本地仓库的修改。在工作目录中对文件进行修改后,可以使用git add命令将这些修改添加到暂存区,然后使用git commit命令将暂存区中的内容提交到本地仓库。

3、本地仓库

本地仓库是Git存储项目完整历史记录的地方,包含了所有提交的版本和元数据信息。当通过git commit命令提交暂存区中的修改时,Git会将这些修改保存到本地仓库中。本地仓库包括了完整的版本历史记录,可以通过git log命令查看提交历史,以及通过git checkout命令切换不同的分支或恢复到不同的提交状态。

4、远程仓库

远程仓库是位于网络上的一个或多个Git仓库,通常用来协作和共享代码。它可以托管在诸如GitHub、GitLab、Bitbucket等服务上,也可以是自己搭建的Git服务器。远程仓库包含了与本地仓库相同的完整历史记录,可以通过git push命令将本地仓库中的修改推送到远程仓库,通过git pull命令从远程仓库拉取更新到本地仓库,以及通过git fetch命令获取远程仓库的更新但不合并到当前分支。

二、Git常用命令之创建版本库

1、初始化版本库

在本地项目目录中打开命令行界面,然后使用git init命令初始化一个新的Git仓库。这将在当前目录下创建一个名为.git的隐藏文件夹,用于存储Git的版本控制信息和配置。

2、查看修改的文件

在本地修改项目文件后,使用git status命令用于查看当前工作区和暂存区的状态。执行这个命令可以了解到哪些文件被修改了、哪些文件已经添加到暂存区、以及哪些文件准备好被提交到本地仓库等信息。通常在进行任何提交之前,都会先执行 git status 命令来确认当前的工作状态。

git status是比较重用的命令之一:主要是用来查看我们文件状态的,红色为工作区;绿色为暂存区

3、检查修改的文件内容

当我想要查看在提交之前我所做的具体修改时,可以使用 git diff 命令来查看工作目录中的文件和暂存区之间的差异。

  • git diff 比较的是工作目录中未暂存文件的修改与暂存区之间的差异(未add前使用)。
  • git diff --cached 比较的是暂存区中即将提交的文件与上一次提交到本地仓库的文件之间的差异(未commit前使用)。

4、添加文件到版本库

将项目中的文件添加到Git的跟踪列表中,我可以使用git add命令。例如,假设我有一个名为README.md的文件需要添加:

也可以使用git add .命令一次性添加所有修改过的文件。

5、提交文件到版本库

一旦我添加了文件,就可以使用git commit命令将这些文件的快照保存到Git版本库中。每次提交都需要添加一条提交消息,说明本次提交的目的。

在上面的命令中,-m参数用来添加提交消息。

6、连接远程仓库(可选)

 如果打算与他人协作或者备份我的代码到远程服务器,我需要将本地仓库连接到远程仓库。假设我已经有了一个远程仓库地址,例如GitHub或GitLab等,我可以使用git remote add命令添加远程仓库。

git remote add origin <remote_repository_URL>

 

这里origin是远程仓库的别名,可以自定义。<remote_repository_URL>是远程仓库的URL。

7、推送到远程仓库

如果已经连接了远程仓库,并且想要将本地仓库中的代码推送到远程仓库,可以使用git push命令。

git push -u origin master

 

上述命令将本地仓库中的master分支推送到远程仓库的master分支。 -u 参数是设置跟踪关系,它使得以后的 git pushgit pull 不需要指定远程和分支,直接执行即可。

参考文章:超详细的 Git 实战教程_git实战-CSDN博客

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

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

相关文章

Docker Compose从入门到熟悉

一、DockerCompose是什么&#xff1f; Compose 项目是 Docker 官方的开源项目&#xff0c;负责实现对 Docker 容器集群的快速编排。使用前面介绍的Dockerfile我们很容易定义一个单独的应用容器。然而在日常开发工作中&#xff0c;经常会碰到需要多个容器相互配合来完成某项任务…

栈的应用——用栈实现算数混合运算表达式的计算

1、单目运算符双目运算符 算数运算符分为单目运算符和双目运算符等 单目运算符只需要一个操作数,双目运算符需要两个操作数 双目运算符最常见:常见的算术运算符:*/,比较运算符:<>=等等以下是一些单目运算符:正号 (+): 用于表示正数或给数值一个正号。例如:+5 仍然…

基于卷积神经网络的土豆疾病识别系统(pytorch框架)【python源码+UI界面+前端界面+功能源码详解】

功能演示&#xff1a; 土豆疾病识别系统&#xff0c;基于vgg16&#xff0c;resnet50卷积神经网络&#xff08;pytorch框架&#xff09;_哔哩哔哩_bilibili &#xff08;一&#xff09;简介 基于卷积神经网络的土豆疾病识别系统是在pytorch框架下实现的&#xff0c;系统中有两…

Linux | MySQL基础

MySQL MySQL是关系型数据库&#xff08;RDBMS&#xff09;&#xff0c;采用表格结构存储数据 同类型的还有Oracle、SQL Server 主要特点 适用于中小规模、关系型数据库系统(RDBMS) 支持Linux、Unix、Windows等多种操作系统 支持Python、Java、Perl、PHP等编程语言 典型应…

计组第三版书例题

基础知识过一下 存储器与CPU的连接主要通过数据总线、地址总线和控制总线实现。CPU首先向存储器发送地址信号&#xff0c;然后发出读写控制信号&#xff0c;最后在数据总线上进行数据的读写操作 。这种连接方式确保了CPU能够正确地访问和控制存储器中的数据。 https://blog.cs…

关于k8s集群中连接数不够,内存溢出的20道高级面试题

1. 描述Kubernetes集群中连接数不够的情况&#xff0c;以及可能导致的后果。 在Kubernetes集群中&#xff0c;连接数不够通常指的是网络连接的限制&#xff0c;这可能是由于以下几个原因造成的&#xff1a; 负载过高&#xff1a;当服务或应用承受的请求量超过其能够处理的范围…

树的基本概念与二叉树

文章目录 树的基本概念与二叉树一、树的概念和结构1. 树的概念2. 树的相关概念 二、树的存储1. 左孩子右兄弟表示法2. 双亲表示法 三、二叉树1. 特殊的二叉树1.1 满二叉树1.2 完全二叉树 树的基本概念与二叉树 一、树的概念和结构 1. 树的概念 树是一种非线性的数据结构,它是…

11 - Debian如何限制sudo权限

作者&#xff1a;网络傅老师 特别提示&#xff1a;未经作者允许&#xff0c;不得转载任何内容。违者必究&#xff01; Debian如何限制sudo权限 《傅老师Debian小知识库系列之11》——原创 上一篇介绍了特定用户使用su命令切换root。但是权限太大&#xff0c;而且root密码有泄…

MBTI测试背后的心理学原理:为什么它能揭示你的职业性格?

MBTI简介 迈尔斯-布里格斯类型指标&#xff08;Myers–Briggs Type Indicator&#xff0c;MBTI&#xff09;是由美国作家伊莎贝尔布里格斯迈尔斯和她的母亲凯瑟琳库克布里格斯共同制定的一种人格类型理论模型。 该指标以瑞士心理学家卡尔荣格划分的8种心理类型为基础&#xff…

节点与其祖先之间的最大差值(DFS,Java)

题目描述&#xff1a; 给定二叉树的根节点 root&#xff0c;找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff0c;其中 V |A.val - B.val|&#xff0c;且 A 是 B 的祖先。 &#xff08;如果 A 的任何子节点之一为 B&#xff0c;或者 A 的任何子节点是 B 的祖先&#xff…

【数据结构】--- 探索栈和队列的奥秘

关注小庄 顿顿解馋૮(˶ᵔ ᵕ ᵔ˶)ა &#x1f4a1;个人主页&#xff1a;9ilk &#x1f4a1;专栏&#xff1a;数据结构之旅 上回我们学习了顺序表和链表&#xff0c;今天博主来讲解两个新的数据结构 — 栈和队列 &#xff0c; 请放心食用 文章目录 &#x1f3e0; 栈&#x1…

三足鼎立 PTA(25分)

目录 题目 输入格式&#xff1a; 输出格式&#xff1a; 输入样例&#xff1a; 输出样例&#xff1a; 样例解释&#xff1a; 题解 C code Java code 题目 当三个国家中的任何两国实力之和都大于第三国的时候&#xff0c;这三个国家互相结盟就呈“三足鼎立”之势&#…

【C++】二叉搜索数

目录 一、二叉搜索树的概念 二、二叉搜索树的模拟实现 1、定义节点 2、构造二叉树 3、析构二叉树 ​4、拷贝二叉树 5、二叉树赋值 6、插入节点 &#x1f31f;【非递归方式】 &#x1f31f;【递归方式】 7、打印节点 8、搜索节点 &#x1f31f;【非递归方式】 &…

我的需求分析方法论

或网上看了无数博客文章、技术视频&#xff0c;或购买金装版本技术书籍&#xff0c;看过无数原理原则、各种各样经典方法论&#xff0c;真正在实际开发工作中&#xff0c;本能去遵守和执行的又留下多少呢。 启动一个新系统时&#xff0c;我们可能还会去花些时间遵循这些原理原则…

中文大模型隐私保护哪家强?InternLM 与 Baichuan2 胜出!

引言&#xff1a;中文大模型隐私保护能力探索 本文研究了大语言模型&#xff08;LLMs&#xff09;对隐私和安全的影响&#xff0c;采用了三层渐进框架对语言系统的隐私进行评估。主要目标是全面评估LLMs对私人信息的敏感性&#xff0c;并检查其在识别、管理和保护敏感数据方面…

每日面经分享(Git经典题目,Git入门)

1. GitHub是什么 a. Git是一个分布式版本控制系统&#xff0c;作用是跟踪、管理和协调软件开发项目中的代码更改。 b. 提供了一种有效的方式来管理代码的版本历史&#xff0c;以及多人协作开发的能力。 2. Git的作用有哪些 a. 版本控制&#xff1a;Git可以记录每次代码更改的…

混合专家(MoE)模型

文心一言 混合专家模型&#xff08;Mixture of Experts&#xff0c;简称MoE&#xff09;是一种基于Transformer架构的模型设计策略。它通过将多个模型&#xff08;称为“专家”&#xff09;直接结合在一起&#xff0c;以获得更好的预测性能。这种模型特别适用于处理大规模数据…

1.8 面试经典150题 O(1)时间插入删除和获取随机元素

O(1)时间插入删除和获取随机元素 实现RandomizedSet 类&#xff1a; RandomizedSet() 初始化 RandomizedSet 对象bool insert(int val) 当元素 val 不存在时&#xff0c;向集合中插入该项&#xff0c;并返回 true &#xff1b;否则&#xff0c;返回 false 。bool remove(int va…

vLLM vs TGI 部署大模型以及注意点

LLM 高并发部署是个难题&#xff0c;具备高吞吐量的服务&#xff0c;能够让用户有更好的体验&#xff08;比如模型生成文字速度提升&#xff0c;用户排队时间缩短&#xff09;。 vllm github 仓库 1 vLLM 1.1 启动模型服务 # cd /workspace/vllm python3 -m vllm.entrypoin…

springAI初体验 让人人都能跑大模型

springAI初体验 让人人都能跑大模型 Spring AI是一个旨在简化开发包含人工智能功能的应用程序的项目。它受到Python项目如LangChain和Llama Index的启发&#xff0c;但并非这些项目的直接移植。Spring AI的核心理念是为开发AI应用程序提供基础抽象&#xff0c;这些抽象有多个实…