探索Git:分布式版本控制系统的力量(二)

devtools/2024/9/20 7:08:57/ 标签: git, 分布式

😀前言
本篇博文是关于分布式版本控制系统Git的一些基本介绍,希望你能够喜欢

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

    • Git 与 SVN
      • SVN
      • Git
    • Git的使用场景
    • Git的常用命令
    • Git的实践
    • 😄总结

Git 与 SVN

SVN

1.SVN 是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本。

2.完成工作后,需要把自己的代码送到中央服务器。集中式版本控制系统是必须联网才能工作。

Git

1.Git 是分布式版本控制系统,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。

2.协同的方法说明:比如自己在电脑上改了文件 A,其他人也在电脑上改了文件 A,这时你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git 可以直接看到更新了哪些代码和文件。

Git的使用场景

  1. 个人项目管理
    Git非常适合个人项目管理。即使你是唯一的开发者,Git也可以帮助你跟踪代码的变化,管理不同的功能或实验分支,并在需要时回溯到之前的稳定状态。通过定期提交和标记(tag),你可以清晰地了解项目的发展历程。
  2. 团队协作
    Git在团队协作中的表现尤为出色。它允许团队成员并行开发各自的功能,并在完成后通过合并将这些功能集成到主干分支中。Git的分支模型使得团队可以同时处理多个开发任务(如新功能开发、错误修复等),而不会相互干扰。
  3. 开源项目
    Git因其分布式特性而成为开源项目的首选工具。像GitHub、GitLab这样的平台,基于Git构建了强大的代码托管服务,允许开发者通过分叉(fork)和拉取请求(pull request)的方式贡献代码。开源项目的维护者可以轻松管理来自全球各地的代码贡献,并确保项目的质量和稳定性。

Git的常用命令

掌握Git的常用命令是高效使用它的关键。以下是一些基础的Git命令:

  1. 初始化仓库

    git init
    

    git init用于在本地目录中初始化一个新的Git仓库。这是开始一个新项目的第一步。

  2. 克隆仓库

    git clone <repository-url>
    

    git clone用于从远程仓库复制项目到本地。此命令会下载整个项目历史并创建一个本地副本。

  3. 查看仓库状态

    git status
    

    git status显示当前工作目录和暂存区(staging area)的状态,帮助你了解哪些文件已修改、哪些文件已暂存以及哪些文件未被跟踪。

  4. 添加文件到暂存区

    git add <file>
    

    git add将文件的修改添加到暂存区,准备提交。可以使用git add .将所有更改添加到暂存区。

  5. 提交更改

    git commit -m "Commit message"
    

    git commit用于将暂存区的更改保存到仓库历史中。-m选项允许你直接在命令行中添加提交信息。

  6. 查看提交历史

    git log
    

    git log显示项目的提交历史。它可以帮助你回顾过去的提交,了解项目的发展过程。

  7. 创建分支

    git branch <branch-name>
    

    git branch用于创建新分支,以便在不影响主干代码的情况下进行新功能开发或实验。

  8. 切换分支

    git checkout <branch-name>
    

    git checkout用于切换到指定的分支。

  9. 合并分支

    git merge <branch-name>
    

    git merge将指定分支的更改合并到当前分支中,通常用于将功能分支合并回主分支。

  10. 推送到远程仓库

    git push origin <branch-name>
    

    git push将本地分支的更改推送到远程仓库,确保远程仓库与本地仓库同步。

Git的实践

为了充分利用Git的功能,开发者在使用过程中应遵循一些最佳实践:

  1. 频繁提交
    频繁的小提交可以帮助你更好地追踪项目的变化,并在出现问题时更容易回退到之前的稳定状态。每次提交应包含一个明确的、逻辑完整的修改。
  2. 使用有意义的提交信息
    提交信息应简洁明了,描述清楚本次提交的目的和内容。良好的提交信息有助于其他开发者理解代码的变化,并在需要时快速定位问题。
  3. 使用分支策略
    合理使用分支策略(如Git Flow或GitHub Flow)可以帮助团队高效协作。开发新功能、修复错误或进行实验时,应使用独立的分支,这样可以保持主分支的稳定性。
  4. 定期拉取和合并
    在多人协作的项目中,开发者应定期从远程仓库拉取最新的更改,并与自己的分支合并。这可以避免由于代码偏差而导致的冲突,保持代码库的一致性。
  5. 进行代码审查
    在合并代码到主分支之前,进行代码审查(Code Review)是一种良好的习惯。通过拉取请求(Pull Request)等机制,团队成员可以检查代码的质量,确保代码符合项目的标准。

😄总结

Git作为一种强大的分布式版本控制系统,在现代软件开发中扮演着不可或缺的角色。无论是个人项目、团队协作还是开源贡献,Git都提供了灵活的工具和高效的工作流程。通过掌握Git的基本概念、常用命令和最佳实践,开发者可以更好地管理代码,提升开发效率,并在复杂的项目中保持代码的高质量和稳定性。

img

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞


http://www.ppmy.cn/devtools/101924.html

相关文章

Android自定义一个带背景的圆环形进度条(Kotlin)

前言 在Android开发过程中&#xff0c;难免遇到一些复杂的UI组件需要我们自定义 当然使用系统原生组件拼凑也能完成&#xff0c;但是UI复杂度增加了不说&#xff0c;在更新UI状态的时候还不好管理&#xff0c;最重要的是复用的价值不大&#xff0c;上述的操作很容易引增加码冗…

Oracle字符串聚合函数LISTAGG

在Oracle 19c中&#xff0c;LISTAGG函数是一个非常有用的字符串聚合函数&#xff0c;它可以将来自多个行的值连接成一个单独的字符串。这个函数特别适用于将分组内的多个值合并为一个逗号分隔&#xff08;或其他分隔符&#xff09;的字符串。 LISTAGG函数的基本语法如下&#…

LeetCode 3133.数组最后一个元素的最小值:位运算+双指针

【LetMeFly】3133.数组最后一个元素的最小值&#xff1a;位运算双指针 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-array-end/ 给你两个整数 n 和 x 。你需要构造一个长度为 n 的 正整数 数组 nums &#xff0c;对于所有 0 < i < n - 1 &#xff0…

网络游戏运营

游戏运营是将一款游戏平台推入市场&#xff0c;并通过一系列的策略和行动&#xff0c;使玩家从接触、认识到最终成为忠实玩家的过程。这一过程涵盖了多个方面&#xff0c;包括前期准备、上线运营、活动策划、数据分析、渠道合作以及用户维护等。以下是对游戏运营的详细解析&…

用ChatGPT精确营销:如何让AI深度理解并推广你的产品

在现代商业中,人工智能(AI)正迅速成为企业成功的关键因素之一。ChatGPT作为一种强大的语言模型,不仅能回答问题,还能通过深度理解和互动,帮助企业精准推广产品。然而,如何让ChatGPT真正了解并有效地推广你的产品,是许多使用者面临的挑战。在本文中,我们将探讨如何通过…

debian/ubuntu 通过串口连接WiFi

修改 /etc/wpa_supplicant.conf&#xff0c;如果没有这个文件就创建文件 vi /etc/wpa_supplicant.conf设置wifi信息 network{ssid"这里是你的wifi账号"psk"这里是你的wifi密码" }连接wifi killall wpa_supplicant wpa_supplicant -i wlan0 -c /etc/wpa_…

SQLite 插入数据并返回自增ID

要插入数据并返回自增ID&#xff0c;我们可以使用SQLite的last_insert_rowid()函数。这个函数返回了最后一次插入操作的自增ID。 下面我们通过一个示例来演示如何插入数据并返回自增ID。 首先&#xff0c;创建一个表来存储学生信息&#xff1a; CREATE TABLE students (id I…

【研究生论文】—— 综述怎么写

怎么写综述 “综述”指的是对某一特定主题或领域h的文献、研究、进展等进行系统性回顾和总结的一种文章类型。很多时候我们需要知道的不是综述是什么&#xff0c;而是综述不是什么&#xff0c;综述不是单纯的查询报告&#xff0c;综述需要在自己的查询结果上面提出自己的看法和…

5个常见问答 | 1+X证书《大数据应用开发(Python)》

1、 1X大数据应用开发&#xff08;Python&#xff09;哪些人群可以考&#xff1f; 全日制在读的中高职学校、应用型本科、本科层次职业教育试点学校院校的学生&#xff0c;有意向从事与证书相关岗位的社会人士都可考取该证书。 2、1X大数据应用开发&#xff08;Python&am…

etcd参数解释

etcd 版本 [rootaaaaaa ~]# /data/etcd/etcd-v3.5.15-linux-amd64/etcd --version etcd Version: 3.5.15 Git SHA: 9a5533382 Go Version: go1.21.12 Go OS/Arch: linux/amd64基础命令: etcd [flags]&#xff1a;启动一个 etcd 服务器。etcd --version&#xff1a;显示 etcd…

仿Muduo库实现高并发服务器——LoopThreadPool模块

这个模块需要具备那些基础知识。 线程创建相关操作&#xff0c;锁&#xff0c;条件变量。 设置线程数量&#xff1a; _thread_count 是线程池中&#xff0c;记录线程数量的成员。 创建线程池&#xff1a; 上图就是线程池的创建&#xff0c;将线程与EventLoop对象 通过数组下…

pip package查询网站(性质类似于npmjs.com)

网址&#xff1a;PyPI The Python Package Index python 的依赖包查询网站 就和 node 的 npmjs.com 一样

HTML静态网页成品作业(HTML+CSS)——电影肖申克的救赎介绍设计制作(1个页面)

&#x1f389;不定期分享源码&#xff0c;关注不丢失哦 文章目录 一、作品介绍二、作品演示三、代码目录四、网站代码HTML部分代码 五、源码获取 一、作品介绍 &#x1f3f7;️本套采用HTMLCSS&#xff0c;未使用Javacsript代码&#xff0c;共有1个页面。 二、作品演示 三、代…

webflux源码解析(4)-异常request处理

目录 1.说明2. 代码路径 1.说明 在webflux接收请求时&#xff0c;第一步实际上 netty-reacto r将 channel 中的字节信息解析成msg(netty-reactor的解析)&#xff0c;进而解析成request&#xff0c;之后才是webflux的处理流程。 实践中发现&#xff0c;当调用接口时若request存…

GRBL接入12V后串口失效问题

1. 问题描述 使用了atmega2560的开发板&#xff0c;烧录了对应的grbl固件&#xff0c;通过串口可以正常访问和控制grbl。 然而&#xff0c;当我接入12V电源并接上电机之后&#xff0c;进行串口控制&#xff0c;会出现几条命令之后&#xff0c;串口突然卡住&#xff0c;无法访问…

【Linux】基本命令(第二篇)

目录 1.命令提示符 2.命令的基本格式 1) 选项的作用 2) 参数的作用 2.cd命令&#xff1a;切换目录 3.pwd命令&#xff1a;显示当前路径 4.ls命令&#xff1a;查看目录下文件 5.mkdir命令&#xff1a;创建目录&#xff08;文件夹&#xff09; 6.rmdir命令&#xff1a;删…

Oracle数据库

注意&#xff1a;其实oracle数据库跟mysql数据库基本语法大致一样只有小部分语言存在差别。 安装PL/SQL Developer 一.数据库实例 1.1 启动数据库实例 一个Oracle实例&#xff08;Oracle Instance&#xff09;有一系列的后台进程&#xff08;Backguound Processes)和内存结构…

devops学习思路

一、关于devops流程 win上建个maven项目&#xff0c;使用win上的nexus私服。 使用git版本管理。 wmware搭建gitlab、jenkins、ldap、artifactory。 做一套简单的流程。 后面可以加代码扫描、单元测试等等功能。 二、maven、nexus私服学习目标 架构课里的课程 API操作&am…

达梦数据库启动与停止

1.1.1数据库启停之菜单方式启动、停止达梦数据库 当数据库服务器是Windows时&#xff0c;开始-->达梦数据库-->点击“DM服务查看器”&#xff0c;找到 “DmService【数据库实例名】” -->右键启动或停止。 下图中数据库实例名是DMSERVER 当数据库服务器是Linux时&…

UE5 蓝图 计算当前时间段

思路&#xff1a; 那当前hour与阈值hour对比 。小于返回&#xff0c;大于就继续循环对比。 临时变量 折叠图表↓