包阅导读总结
1.
关键词:Git、版本控制、命令、工作流程、冲突解决
2.
总结:本文介绍了 Git 这一强大的版本控制系统,包括其发明背景、与其他工具的区别、基本命令、典型开发工作流程及冲突解决方法。Git 具有分散性、高效等特点,其命令涵盖初始化、克隆、暂存、提交等操作。
3.
主要内容:
– Git 概述
– 发明背景:由 Linus Torvalds 于 2005 年发明,用于支持 Linux 内核开发
– 与其他版本控制工具的区别
– 分散性,用户可离线工作,适应服务器中断
– 内容可寻址文件系统,防数据损坏
– 轻量级分支模型
– 执行速度快
– 跟踪内容变化
– 基于快照的存储模型
– 引入暂存区概念
– Git 基本命令
– git init
– git clone
– git add
– git commit
– git branch
– git checkout
– git merge
– git push
– git pull
– 典型开发工作流程
– 创建新分支进行开发
– 频繁提交修改
– 完成测试后合并回主分支并推送
– 冲突解决
– 冲突发生时文件中的标记
– 手动编辑解决差异并提交
思维导图:
文章地址:https://mp.weixin.qq.com/s/Pzs1X0bpXUE1AzeMxyGl3g
文章来源:mp.weixin.qq.com
作者:李华
发布时间:2024/7/30 7:08
语言:中文
总字数:1431字
预计阅读时间:6分钟
评分:85分
标签:Git,版本控制,开发工具,命令行,协作
以下为原文内容
本内容来源于用户推荐转载,旨在分享知识与观点,如有侵权请联系删除 联系邮箱 media@ilingban.com
Git 是一个功能强大的版本控制系统,允许开发人员跟踪变更、与他人协作并有效管理项目历史。
Git 由 Linus Torvalds 于 2005 年发明,用于支持 Linux 内核的开发。创建 Git 的主要动机是解决现有版本控制系统(VCS)的不足,并提供一个更强大、更高效、更灵活的源代码管理系统。
01 Git 与其他版本控制工具的区别
集中式系统(如 CVS、Subversion)只有一个中央版本库,而 Git 则不同,它允许每个用户都拥有一个完整的版本库克隆。这种分散性意味着用户可以离线工作,系统对服务器中断也有很强的适应能力。
Git 使用内容可寻址文件系统来存储其对象,确保所有数据都经过校验和处理,在不更改相应标识符的情况下无法更改。这种机制为防止数据损坏提供了强有力的保障。
Git 可以轻松创建、切换和合并分支。它的轻量级分支模型鼓励在独立分支中开发功能、修复和实验的工作流程。这与旧系统的分支和合并复杂且容易出错形成鲜明对比。
Git 的设计旨在快速执行。涉及历史记录的操作(如日志、归咎、差异)由于是在本地执行,因此速度特别快。与需要通过网络访问才能进行类似操作的旧版系统相比,这种速度是一项重大改进。
Git 跟踪的是内容变化,而不仅仅是文件变化。这意味着即使文件被移动或重命名,Git 仍能准确跟踪其历史记录。而其他一些 VCS 则无法做到这一点,它们只能通过文件路径来跟踪文件。
Git 的存储模型基于给定时间点上整个版本库的快照,而不是一系列文件的差异(deltas)。这种模式更容易理解任何给定提交时的版本库状态,并简化了历史记录的表示。
Git 引入了暂存区(也称索引)的概念,允许用户通过选择特定的改动来准备提交。与一次性提交所有改动的系统相比,这一功能提供了对提交过程更精细的控制。
02 Git 基本命令
git init:在当前目录下初始化一个新的 Git 仓库。
gitclone<repository_url>:将远程服务器上的现有仓库克隆到本地计算机上。
git add <file>:为下一次提交暂存指定文件中的更改。
git commit -m “<message>”:提交暂存的改动,并附上描述性信息。
git branch <branch_name>:用指定的名称创建一个新分支。
git checkout <branch_name>:切换到指定的分支。
git merge <branch_name>:将指定的分支合并到当前分支。
git push:将本地提交推送到远程仓库。
git pull:从远程仓库抓取改动并整合到当前分支。
03 典型开发工作流程
首先为您正在开发的功能或错误修复创建一个新分支。这样就能将您的修改与主代码库(通常是主分支或主分支)分开。
gitcheckout-bfeature/new-feature
进行修改并频繁提交,同时附上有意义的信息。这有助于跟踪历史并了解变更的来龙去脉。
gitadd.
gitcommit-m"Addnewfeatureimplementation“
功能完成并经过测试后,将改动合并回主分支。首先,切换到主分支,然后合并。
gitcheckoutmain
gitmergefeature/new-feature
把主分支推送到远程仓库,与他人分享你的改动。
gitpushoriginmain
04 冲突解决
当文件中的同一行在不同分支中被改动,Git 无法自动合并改动时,就会发生冲突。下面是解决冲突的方法:
合并过程中发生冲突时,Git 会在文件中标记冲突区域。例如
<<<<<<<HEAD
这是原始内容。
=======
这是来自另一个分支的新内容。
>>>>>>>feature/new-feature
手动编辑文件以解决差异。选择一个版本,合并它们,或根据需要重写部分。
解决冲突后,将更改分阶段提交。
gitadd<文件
gitcommit-m"Resolvemergeconflict"
——– 往期好文 ——–
什么是 API 网关?
全栈开发要掌握什么技术?
我们如何管理软件项目的交付?
面试官:网页太慢了怎么排查?