Git详解及常用命令

news2024/11/28 7:37:11

前言

Git 是一个分布式版本控制系统,用于跟踪和管理项目的代码变化。它由Linus Torvalds在2005年创建,现在是开源社区中最流行的版本控制工具之一。

国内码云地址:工作台 - Gitee.com

  1. 版本控制系统 (VCS):Git 用于跟踪文件和目录的变化,以便多个开发者可以协同工作,并记录项目的历史。每次更改都被记录为一个"提交",并且可以随时回退到以前的提交状态。

  2. 分布式系统:与一些中心化的版本控制系统不同,Git 是分布式的,每个开发者都有完整的代码仓库的拷贝。这意味着即使没有网络连接,您也可以进行版本控制操作,然后在稍后将更改同步。

  3. 仓库 (Repository):Git 仓库是包含项目文件和历史记录的目录。有两种类型的 Git 仓库:本地仓库和远程仓库。本地仓库存在于开发者的计算机上,而远程仓库通常位于云端或网络上的其他位置,用于协作。

  4. 分支 (Branch):分支是 Git 仓库的一个重要概念。它允许开发者在不影响主要代码线的情况下进行独立的开发。开发者可以创建、合并、删除分支,以便并行开发不同的功能或修复不同的 bug。

  5. 提交 (Commit):提交是对代码库所做更改的快照。每次提交都有一个唯一的标识符(哈希值),并包含了修改的文件、提交消息(对更改的描述)和提交者的信息。

  6. 工作目录 (Working Directory):工作目录是当前正在工作的文件副本,它与 Git 仓库中的特定提交相对应。当您编辑工作目录中的文件时,您可以通过提交将这些更改保存到仓库中。

  7. 暂存区 (Staging Area):暂存区是位于工作目录和仓库之间的中间层。您可以使用 git add 命令将更改从工作目录添加到暂存区,然后使用 git commit 命令将这些更改保存为一个新的提交。

  8. 远程仓库 (Remote Repository):远程仓库是分布式团队协作的关键。它是一个存储在网络上的 Git 仓库,允许多个开发者协同工作,同步和分享代码。

  9. 克隆 (Clone):克隆是创建远程仓库的本地拷贝。开发者可以使用 git clone 命令从远程仓库中复制代码到本地计算机,以便进行开发。

  10. 合并 (Merge):当一个分支的更改需要合并到另一个分支时,可以使用 git merge 命令将两个分支的更改合并在一起。

  11. 冲突解决 (Conflict Resolution):当多个开发者修改了同一文件的相同部分,会导致冲突。在合并时,需要手动解决这些冲突。

  12. 分布式开发协作:Git 允许多个开发者协同工作,他们可以通过远程仓库共享代码,并在分支上独立工作。开发者可以通过拉取(pull)和推送(push)来同步他们的更改。

  13. GitHub 和 GitLab:这些是基于 Git 的托管服务,使开发者能够在云端存储和协作开发他们的项目。GitHub 和 GitLab 提供了许多协作工具,如问题跟踪、合并请求等。

  14. 命令行和图形用户界面 (GUI):Git 可以通过命令行和各种图形用户界面工具来使用。命令行提供更多的灵活性和控制,而 GUI 工具通常更易于入门。

一. Gitee新建仓库

准备工作

(1).创建Gitee账号

这个自行创建即可

(2).安装Git

这里不过多介绍,自行查阅资料安装即可 

1.创建开源仓库

填写好仓库相关信息创建开源仓库

2.创建本地仓库

新建完开源仓库后,会有相关提示命令,将其复制到文档中备用使用

 在本地磁盘中新建一个文件夹当作自己存放本地项目的仓库,如果考虑到多人开发,那就需要为自己的组员单独创建文件夹

 进入到当前本地文件夹,准备进行全局配置及初始化

全局配置

将刚刚创建完开源仓库后的提示命令中将全局配置中的命令依次执行

全局配置完成后,在C:\Users\用户名 目录下找到.gitconfig文件时打开,确认为自己的配置时即为配置成功

输入以下命令创建本地仓库文件夹

mkdir 自定义的仓库名称
cd 自定义的仓库名称

初始化本地仓库,将当前目录标记为被Git所管理的仓库

git init

将新建的仓库与Gitee中的仓库进行关联

新建 README.md 文件

touch README.md

查看当前文件状态

git status

当出现文件名为红色时说明并没有被git所管理 

提交文件,将文件交给git管理

git add README.md

git commit -m "first commit"

git remote add origin 自己的gitee地址

推送本地代码到远程仓库中

git push -u origin "master"

注意:如果是第一次使用,需要输入自己的账号和密码

到这里如果没有出现错误的话那么本地仓库就已经搭建好了且已与远程仓库连接并交给Git进行管理了 

3.如何上传自己的项目

 将项目拷贝到当前文件夹

依次执行以下命令 

git add .

git commit -am '一期已提交'
git push

执行完成之后可以到自己的Gitee主页仓库中查看是否提交完成

二.协同开发开源仓库

1.项目克隆

这里使用同一台电脑模拟多人开发,再进行创建一个用户文件夹,模拟增加组员开发

 在当前文件夹中进行克隆远程仓库中的项目

git clone 远程仓库地址

2. 项目文件提交

假设组员甲添加某项目文件并进行提交远程仓库,其余组员进行接受

组员甲执行命令(已完成文件readme.txt)

git add .

git commit -am '配置文件已修改'

git push

命令提交完成后我们可以查看远程仓库是否存在

 确认远程仓库已接收到时,这时组员乙准备更新项目,获取到本地仓库

组员乙执行命令

git pull

执行完成后可以查看是否获取到本地仓库

命令:ll 

 

三.Git命令总结

  1. git init:初始化一个新的 Git 仓库。

  2. git clone <repository-url>:克隆一个远程仓库到本地计算机。

  3. git add <file>:将文件的更改从工作目录添加到暂存区。

  4. git add .:将所有工作目录中的更改添加到暂存区。

  5. git commit -m "commit message":将暂存区中的更改保存为一个新的提交。

  6. git status:查看工作目录、暂存区和当前分支的状态。

  7. git log:查看提交历史记录。

  8. git diff:查看当前工作目录和最新提交之间的差异。

  9. git branch:列出所有分支,当前分支会有特殊标记。

  10. git branch <branch-name>:创建一个新分支。

  11. git checkout <branch-name>:切换到另一个分支。

  12. git merge <branch-name>:将指定分支的更改合并到当前分支。

  13. git pull:从远程仓库拉取最新更改并合并到当前分支。

  14. git push:将本地分支的更改推送到远程仓库。

  15. git remote -v:查看远程仓库的列表。

  16. git remote add <remote-name> <repository-url>:添加一个新的远程仓库。

  17. git remote remove <remote-name>:移除已添加的远程仓库。

  18. git reset <commit>:将 HEAD 指针和当前分支移到指定的提交。

  19. git revert <commit>:创建一个新的提交,用于撤销指定提交的更改。

  20. git stash:将当前工作目录的更改保存到一个临时区域,以便稍后恢复。

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

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

相关文章

React进阶之路(三)-- Hooks

文章目录 Hooks概念理解什么是HooksHooks解决了什么问题 useState基础使用状态的读取和修改组件的更新过程使用规则回调函数作为参数 useEffect什么是函数副作用基础使用依赖项控制执行时机清理副作用发送网络请求 useRefUseContext Hooks概念理解 什么是Hooks Hooks的本质&am…

swift和OC混编报错问题

1.‘objc’ instance method in extension of subclass of ‘xxx’ requires iOS 13.0.0 需要把实现从扩展移到主类实现。iOS13一下扩展不支持objc 2.using bridging headers with framework targets is unsupported 报错 这个错误通常指的是在一个框架目标中使用桥接头是不…

HTTP-HTTPS区别详解

一、HTTP协议 1. GET和POST的请求的区别 Post 和 Get 是 HTTP 请求的两种方法&#xff0c;其区别如下&#xff1a; 应用场景&#xff1a; GET 请求是一个幂等的请求&#xff0c;一般 Get 请求用于对服务器资源不会产生影响的场景&#xff0c;比如说请求一个网页的资源。而 Po…

前端构建工具vite与webpack详解

文章目录 前言什么是构建工具先说说企业级项目里都需要具备哪些功能&#xff1f;这是代码改动后需要做的事情样例总结 一、构建工具他到底承担了哪些脏活累活&#xff1f;二、vite相较于webpack的优势三、 vite会不会取代webpack四、 你必须要理解的vite脚手架和vitecreate-vit…

外贸跨境商城源码:快速开发,系统源码,APP+PC+H5

随着全球电子商务的快速发展&#xff0c;外贸跨境商城已成为商业领域的一股不可忽视的力量。外贸跨境商城源码&#xff0c;即可以快速开发出高效、稳定、安全的外贸跨境商城的系统源码&#xff0c;以及APP、PC端和H5端的用户界面设计&#xff0c;是当前市场上的迫切需求。 一、…

多个电商平台搜索接口是否能聚合使用?

作为一名技术爱好者&#xff0c;我们总会遇到各种各样的技术问题&#xff0c;需要寻找合适的技术解决方案。而在互联网时代&#xff0c;我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而&#xff0c;在不同的技术分享中&#xff0c;我们常常会遇到质量参差不齐的文…

个人所得税思维导图参考二 —— 筑梦之路

接上篇&#xff1a; 个人所得税思维导图参考 —— 筑梦之路-CSDN博客 这里继续整理下剩下的内容。 11. 个人所得税税率表

2023年下半年信息系统项目管理师下午真题及答案解析(第三批)

试题一(6分) 项目有A、B、C、D、E、F 6个活动&#xff0c;各活动的关系如下表&#xff1a; 2023年下半年信息系统项目管理师下午真题答案及解析 试题一(6分)

harmonyOS开发

在Cocos Creator中&#xff0c;场景是一个独立的文件资源&#xff0c;可以像打开PSD文件一样在编辑器中双击打开&#xff1b; 场景文件是数据驱动工作流的核心&#xff0c;场景中包括图像资源、动画、特效以及驱动游戏逻辑和表现的脚本&#xff1b; Cocos Creator是一个数据驱…

2023年合成数据最大的利用价值

开发成功的 AI 和 ML 模型需要访问大量高质量数据。但是&#xff0c;收集此类数据具有挑战性&#xff0c;因为&#xff1a; AI/ML 模型可以解决的许多业务问题都需要访问敏感的客户数据&#xff0c;例如个人身份信息 &#xff08;PII&#xff09; 或个人健康信息 &#xff08;…

怎么将竖排文字图片转为可编辑的文本?

我们知道&#xff0c;印刷文字的排版大多是横向从左到右排版的&#xff0c;但有些书籍的文字却是从右到左竖向排版的&#xff0c;而一般的OCR软件并不支持这种排版&#xff0c;会将这种排版的文字图片识别成乱码的&#xff0c;那怎么办呢&#xff1f;下面就是很好的解决方案&am…

2023最新版本 FreeRTOS教程 -9-互斥量(基本使用和解决优先级反转)

互斥量是一种特殊的二进制信号量 使用场景1 &#xff08;互斥访问&#xff09; 外设的独立访问 如打印 协议操作 使用场景2 解决优先级反转 外设的独立访问 如打印 协议操作 使用场景2 解决优先级反转 我们以较为复杂的场景2来分析 -1- 创建三个任务 优先级从低到高&…

重新安装电脑系统Win10步骤教程

我们的电脑系统出现了中病毒、崩溃等问题&#xff0c;就会影响到自己的正常使用。这时候选择给电脑重新安装上系统&#xff0c;就能快速解决这些系统问题了。如果有用户不清楚详细的重装Win10系统步骤&#xff0c;就可以参考下面小编带来的重新安装电脑系统Win10的详细步骤介绍…

MySQL -- 视图

MySQL – 视图 文章目录 MySQL -- 视图一、基本使用二、视图规则和限制 视图是一个虚拟表&#xff0c;其内容由查询定义。同真实的表一样&#xff0c;视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表&#xff0c;基表的数据变化也会影响到视图。 一、基本使用…

负载平衡介绍

负载均衡 建立在现有网络结构之上&#xff0c;它提供了一种廉价有效透明的方法扩展 网络设备 和 服务器 的带宽、增加 吞吐量 、加强网络数据处理能力、提高网络的灵活性和可用性。 1.1. 四层负载均衡 层负载均衡 vs 七层负载均衡 1.1.1. 四层负载均衡&#xff08; 目标地址和…

UML/SysML建模工具更新(2023.10)(1)StarUML、Software Ideas Modeler

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 工具最新版本&#xff1a;Software Ideas Modeler 14.02 更新时间&#xff1a;2023年10月9日 工具简介 轻量级建模工具&#xff0c;支持UML、BPMN、SysML。 平台&#xff1a;Windo…

前端学习基础知识

环境搭建 windows环境 nodejs版本管理工具NVM nvm全英文也叫node.js version management&#xff0c;是一个nodejs的版本管理工具。nvm和n都是node.js版本管理工具&#xff0c;为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 安装学习访…

vue-cli创建自定义preset预设项目

vue-cli创建自定义preset预设项目 背景自定义预设创建默认预设创建预设项目preset.jsonprompts.jstemplate预设模板generator.js 本地预设创建项目 背景 一个 Vue CLI preset 是一个包含创建新项目所需预定义选项和插件的 JSON 对象&#xff0c;让用户无需在命令提示中选择它们…

【LeetCode】每日一题 2023_11_9 逃离火灾(bfs 练习)

文章目录 刷题前唠嗑题目&#xff1a;最长平衡子字符串题目描述代码与解题思路偷看大佬题解 结语 刷题前唠嗑 LeetCode? 启动&#xff01;&#xff01;&#xff01; 嗯&#xff1f;什么&#xff1f;今天是 hard&#xff1f;陷入沉思。。。先看看题吧 题目&#xff1a;最长平…

【面经】如何查看服务器内存和磁盘空间占用

查看服务器内存占用 free -g查看服务器磁盘空间占用 df -h