当前位置: 首页 > news >正文

第三关:Git 基础知识

一、Git是什么

Git是一种开源的分布式版本控制系统,广泛应用于软件开发领域,尤其是在协同工作环境中。它为程序员提供了一套必备的工具,使得团队成员能够有效地管理和跟踪代码的历史变更。下面是 Git 的主要功能和作用的规范描述:

官网:https://git-scm.com/

官方文档:Git - Book

Git 基础:Git 基础知识

Git中的一些基本概念

工作区、暂存区和Git仓库区

  • 工作区(Working Directory): 当我们在本地创建一个 Git 项目,或者从 GitHub 上 clone 代码到本地后,项目所在的这个目录就是“工作区”。这里是我们对项目文件进行编辑和使用的地方。

  • 暂存区(Staging Area): 暂存区是 Git 中独有的一个概念,位于 .git 目录中的一个索引文件,记录了下一次提交时将要存入仓库区的文件列表信息。使用 git add 指令可以将工作区的改动放入暂存区。

  • 仓库区 / 本地仓库(Repository): 在项目目录中,.git 隐藏目录不属于工作区,而是 Git 的版本仓库。这个仓库区包含了所有历史版本的完整信息,是 Git 项目的“本体”。

分支 分支是 Git 的一大特性,支持轻量级的分支创建和切换。Git 鼓励频繁使用分支和合并,使得并行开发和错误修正更为高效。

主要功能

  • 代码历史记录跟踪

    Git 记录每一次代码提交,允许用户查看项目的历史版本和变更记录,从而理解每个阶段的开发细节。

  • 团队协作

    支持多人同时对同一项目工作,提供了合并、分支和版本控制的功能,以确保多人协作的效率和代码的整合性。

  • 变更审查

    允许开发者查看代码变更的具体内容,了解谁在何时做了哪些修改,这对于代码审查和质量控制至关重要。

  • 实现机制

        

二、安装Git

2.1Windows系统

1.下载并安装适合您 Windows 版本的安装程序:下载地址
2.按照安装向导完成安装。
3.打开终端(win+r→cmd),输入指令 git --version 检查是否安装成功。

2.2Linux 系统

1.通过包管理器安装Git:

sudo apt update
sudo apt install git

2.输入指令 git --version检查安装版本

GitHub:

  • 是全球最大的代码托管平台之一,拥有丰富的开源项目和活跃的开发者社区。它提供了版本控制、项目管理、协作开发等功能,并支持多种编程语言。

GitLab:

  • 一个自托管或基于云的平台,提供了完整的 DevOps 工具链,包括代码托管、持续集成/持续部署(CI/CD)、问题跟踪等。

Gitee:

  • 国内的代码托管平台,提供了代码托管、项目管理、协作开发等功能,对国内开发者来说,访问速度可能更快,也更符合国内的使用习惯。

Github 需要魔法,可以选择自行选择使用。

3.常用的Git操作

基本指令

进阶指令

每个指令都有其特定的用途和场景,详细的使用方法和参数可以通过命令行的帮助文档(git command -h,例如git pull -h)

4.食用小tips

全局设置vs本地设置

全局设置:这些设置影响你在该系统上所有没有明确制定其他用户名和电子邮件的Git仓库。这是设置默认用户名和电子邮件的好方法。

本地设置:这些设置仅适用于特定的Git仓库。这对于你需要在不同项目中使用不同身份时很有用,例如区分个人和工作项目。

如何配置

1.全局设置用户信息 打开终端或命令提示符,并输入以下命令来设置全局用户名和电子邮件地址:

git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

这里的 "Your Name" 和 "your.email@example.com" 应替换为你自己的姓名和电子邮件。

2.本地设置用户信息 确保你当前处于你想要配置的Git仓库的目录中。然后,输入以下命令来仅为该仓库设置用户名和电子邮件地址:

git config --local user.name "Your Name"
git config --local user.email "your.email@example.com"

同样,替换 "Your Name" 和 "your.email@example.com" 为该特定项目中使用的姓名和电子邮件。

验证设置

在设置完用户信息后,你可能想要沿着这些设置以确保它们被正确应用。

查看全局配置:

git config --global --list

查看仓库配置:

git config --local --list

查看特定配置项:

git config user.name
git config user.email
Git四部曲

在Git的日常使用中,下面四步曲是常用的流程,尤其实在团队协作环境中。

添(Add)
  • 命令git add <文件名> 或 git add .
  • 作用:将修改过的文件添加到本地暂存区(Staging Area)。这一步是准备阶段,你可以选择性地添加文件,决定哪些修改应该被包括在即将进行的提交中。
提(Commit)
  • 命令git commit -m '描述信息'
  • 作用:将暂存区中的更改提交到本地仓库。这一步是将你的更改正式记录下来,每次提交都应附带一个清晰的描述信息,说明这次提交的目的或所解决的问题。
拉(Pull)
  • 命令git pull
  • 作用:从远程仓库拉取最新的内容到本地仓库,并自动尝试合并到当前分支。这一步是同步的重要环节,确保你的工作基于最新的项目状态进行。在多人协作中,定期拉取可以避免将来的合并冲突。
推(Push)
  • 命令git push
  • 作用:将本地仓库的更改推送到远程仓库。这一步是共享你的工作成果,让团队成员看到你的贡献。

帮助团队成员有效地管理和同步代码,避免工作冲突,确保项目的顺利进行。正确地使用这些命令可以极大地提高开发效率和协作质量。

5.常用插件

  • GitLens: 在代码行上显示 Git 提交信息。
  • Git Graph: 类似于 SourceTree 的可视化版本控制插件。
  • Git History: Git 日志查看器。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Python】异常处理及程序调试
  • 记录一次环境的安装
  • 嵌入式Linux系统中LCD屏驱动框架基本实现
  • 【SQL Server】默认端口与自定义端口
  • vulhub:Apache解析漏洞apache_parsing
  • FFmpeg的make install
  • 【反序列化漏洞】serial靶机详解
  • 动态加载第三方库——dlopen
  • HCIP学习作业一 | HCIA复习
  • 在 Magento 2.4.3 中手动下载和安装样本数据
  • WCF 禁止第三方访问,避免泄露元数据信息
  • 【Qt】QMainWindow之菜单栏
  • 【Docker】容器连接
  • 亨廷顿小勇士必看!你的维生素补给站来啦~
  • 使用openpyxl库对Excel条件格式的深度探索
  • 分享一款快速APP功能测试工具
  • 「译」Node.js Streams 基础
  • C学习-枚举(九)
  • Fastjson的基本使用方法大全
  • Git 使用集
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript新鲜事·第5期
  • JDK 6和JDK 7中的substring()方法
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Webpack 4 学习01(基础配置)
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 分布式任务队列Celery
  • 规范化安全开发 KOA 手脚架
  • 前端技术周刊 2019-02-11 Serverless
  • 微服务框架lagom
  • (10)STL算法之搜索(二) 二分查找
  • (pojstep1.3.1)1017(构造法模拟)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (论文阅读11/100)Fast R-CNN
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (转)详解PHP处理密码的几种方式
  • .Net core 6.0 升8.0
  • .Net Core与存储过程(一)
  • .Net IOC框架入门之一 Unity
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET编程——利用C#调用海康机器人工业相机SDK实现回调取图与软触发取图【含免费源码】
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • .NET命令行(CLI)常用命令
  • .Net下的签名与混淆
  • /bin/bash^M: bad interpreter: No such file ordirectory
  • @SentinelResource详解
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [CocosCreator]Android的增加AndroidX的动态权限