Git详解及常用命令

前言

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.hqwc.cn/news/171113.html

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

相关文章

【Git】第四篇:基本操作(理解工作区、暂存区、版本库)

Git 工作区、暂存区和版本库 工作区&#xff1a;就是我们创建的本地仓库所在的目录暂存区&#xff1a; stage或index&#xff0c;一般放在.git(可隐藏文件)目录下的index文件&#xff08;.git/index&#xff09;中&#xff0c;所以我们把暂存区有时候也叫做索引&#xff08;in…

DNS域名解析

目录 1.概述 1.1产生原因 1.2作用 1.3连接方式 1.4因特网的域名结构 1.4.1拓扑 1.4.2分类 1.4.3域名服务器类型划分 2. DNS域名解析过程 2.1分类 2.2解析图 2.2.2过程分析 3.搭建DNS域名解析服务器 3.1.概述 3.2安装软件 3.3bind服务中三个关键文件 3.4主配置…

用excel计算一个矩阵的转置矩阵

假设我们的原矩阵是一个3*3的矩阵&#xff1a; 125346789 现在求它的转置矩阵&#xff1a; 鼠标点到一个空白的地方&#xff0c;用来存放结果&#xff1a; 插入-》函数&#xff1a; 选择TRANSPOSE&#xff0c;这个就是求转置矩阵的函数&#xff1a; 点击“继续”&#xff1a…

dcat admin 各种问题

样式问题 如何根据条件给表格数据栏添加背景色 use Illuminate\Support\Collection;protected function grid(){return Grid::make(new BookArticle(), function (Grid $grid) {... 其他代码// Collection的完整路径&#xff1a;Illuminate\Support\Collection;$grid->row…

ElasticSearch文档分析

ElasticSearch文档分析 包含下面的过程&#xff1a; 将一块文本分成适合于倒排索引的独立的 词条将这些词条统一化为标准格式以提高它们的“可搜索性”&#xff0c;或者 recall 分析器执行上面的工作。分析器实际上是将三个功能封装到了一个包里&#xff1a; 字符过滤器 首先&a…

项目生命周期分享

第一阶段&#xff1a; 项目启动&#xff0c;2天时间即可&#xff0c;需要输出项目进度计划 1.项目组成立1天&#xff0c;用来建立项目组&#xff0c;确定工作分工和工作方法&#xff0c;指定项目总体计划&#xff08;包括前期交流&#xff0c;需求收集&#xff0c;项目立项等…

【STM32 CAN】STM32G47x 单片机FDCAN作为普通CAN外设使用教程

STM32G47x 单片机FDCAN作为普通CAN外设使用教程 控制器局域网总线&#xff08;CAN&#xff0c;Controller Area Network&#xff09;是一种用于实时应用的串行通讯协议总线&#xff0c;它可以使用双绞线来传输信号&#xff0c;是世界上应用最广泛的现场总线之一。CAN协议用于汽…

【广州华锐互动】楼宇智能化VR虚拟教学系统

在如今的技术时代&#xff0c;教育行业正在逐步引入各种创新方法以提升教学质量。VR公司广州华锐互动开发的楼宇智能化VR虚拟教学系统就是其中的一种&#xff0c;它利用虚拟现实(VR)技术&#xff0c;为学生提供一种全新的、沉浸式的学习体验。 楼宇智能化VR虚拟教学系统涵盖综合…

openGauss学习笔记-121 openGauss 数据库管理-设置密态等值查询-使用JDBC操作密态数据库

文章目录 openGauss学习笔记-121 openGauss 数据库管理-设置密态等值查询-使用JDBC操作密态数据库121.1 连接密态数据库121.2 调用isValid方法刷新缓存示例121.3 执行密态等值查询相关的创建密钥语句121.4 执行密态等值查询相关的创建加密表的语句121.5 执行加密表的预编译SQL语…

前端如何结合mock模拟假数据

由于某人不想写后端接口&#xff0c;不想用真数据对接vue-element-admin框架&#xff0c;用以前的接口&#xff0c;改token有点点麻烦&#xff0c;所以咱试试mock.js

【优化版】DOSBox及常用汇编工具的详细安装教程

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;网络奇遇记、图解数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. dosbox的介绍、下载和安装1.1 dosbos简介1.2 dosbox的下载1.2.1 方式一&a…

RT-DETR算法优化改进: 一种新颖的可扩张残差(DWR)注意力模块,加强不同尺度特征提取能力

💡💡💡本文全网首发独家改进:一种新颖的可扩张残差(DWR)注意力模块,加强不同尺度特征提取能力,创新十足,独家首发适合科研 1)代替RepC3进行使用; 2)DWR直接作为注意力进行使用; 推荐指数:五星 RT-DETR魔术师专栏介绍: https://blog.csdn.net/m0_63774211/…