0

0

GIT——分布式版本控制系统

看不見的法師

看不見的法師

发布时间:2025-09-01 08:21:17

|

457人浏览过

|

来源于php中文网

原创

git——分布式版本控制系统git是一款免费且开源的分布式版本控制系统,适用于敏捷高效地管理从小型到大型的项目。它能够迅速有效地处理不同规模项目的版本管理。

分布式与集中式版本控制系统的主要区别在于,开发者可以在本地提交代码。通过克隆(git clone),开发者可以将完整的Git仓库复制到本地机器上。

要学习Git,可以搜索以下资源:

  • Git简明指南
  • Git完整命令手册PDF版
  • Git教程
  • Git图形化操作插件:小乌龟

GIT——分布式版本控制系统从一般开发者的角度来看,Git的功能特性包括:

  1. 从服务器克隆完整的Git仓库(包括代码和版本信息)到本地机器。
  2. 根据不同的开发目的,在本地机器上创建分支并修改代码。
  3. 在自己创建的本地分支上提交代码。
  4. 在本地机器上合并分支。
  5. 从服务器获取最新版本的代码,并与自己的主分支合并。
  6. 生成补丁(patch)并发送给主开发者。
  7. 查看主开发者的反馈。如果主开发者发现一般开发者之间有冲突(可以合作解决的冲突),会要求他们先解决冲突,然后再由其中一人提交。如果没有冲突或主开发者可以自己解决,则通过。
  8. 开发者之间可以通过pull命令解决冲突,解决后再向主开发者提交补丁。

从主开发者的角度(假设主开发者不参与代码开发)来看,Git的功能包括:

  1. 通过邮件或其他方式查看一般开发者的提交状态。
  2. 应用补丁,解决冲突(可以自己解决或要求开发者之间解决后重新提交),并决定哪些补丁对开源项目有用。
  3. 将结果提交到公共服务器,并通知所有开发人员。

GIT——分布式版本控制系统Git的优点包括:

  • 适合分布式开发,强调个体。
  • 公共服务器的压力和数据量不会太大。
  • 速度快且灵活。
  • 开发者之间可以轻松解决冲突。
  • 支持离线工作。

Git的缺点包括:

  • 中文资料较少。
  • 学习周期较长。
  • 不符合常规思维。
  • 代码保密性差,一旦开发者克隆完整库,所有代码和版本信息就可能被公开。

Git安装配置说明:本文仅介绍基础部分,详细操作请参考文首提供的链接。

在使用Git之前,需要先安装Git。Git支持在Linux/Unix、Solaris、Mac和Windows平台上运行。

在Windows平台上安装Git非常简单,通过msysGit项目提供的安装包即可。可以在GitHub页面下载exe安装文件并运行:

GIT——分布式版本控制系统安装完成后,可以使用命令行的Git工具(自带ssh客户端),还可以使用图形界面的Git项目管理工具。

在开始菜单中找到"Git"-"Git Bash",会弹出Git命令窗口,你可以在该窗口进行Git操作。

GIT——分布式版本控制系统Git的工作流程:

GIT——分布式版本控制系统通过

git init
命令,可以将当前目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/

在Windows系统上,为了避免各种问题,请确保目录名(包括父目录)不包含中文。

使用

git clone
命令可以将Git仓库拷贝到本地,以便查看项目或进行修改。如果你需要与他人合作一个项目,或者想查看代码,可以克隆该项目。执行命令:

git clone [url]

其中,[url]是你想要复制的项目地址。

使用

git add
命令可以将文件添加到仓库:

新秀B2C商城系统
新秀B2C商城系统

新秀B2C商城系统是一款简洁易用PHP商城系统。可免费下载使用,可用于商业用途,没有时效限制,除版权标识外,所有代码都允许修改。后台功能简介:1、商城设置:基本信息,配送方式,配送范围,支付方式,财务管理;2、商品管理:商品列表,添加商品,商品分类,商品品牌,商品属性;3、订单管理:订单列表,缺货登记;4、用户互动:用户管理,留言管理,评论管理,网站公告,在线客服,用户协议;5、文章管理:文章列表

下载
$ git add readme.txt

执行此命令后没有输出。

第二步,使用

git commit
命令将文件提交到仓库:

$ git commit -m "wrote a readme file"
[master (root-commit) cb926e7] wrote a readme file
 1 file changed, 2 insertions(+)
 create mode 100644 readme.txt

git commit
命令中的
-m
参数后面是本次提交的说明,可以输入任意内容。

使用

git status
命令可以查看自上次提交后是否有修改。演示该命令时可以加上
-s
参数以获得简短的输出结果。如果不加该参数,将会详细输出内容:

$ git status
On branch master
Initial commit
Changes to be committed:

GIT——分布式版本控制系统

git diff
命令用于查看difference,显示的格式是Unix通用的diff格式。

执行

git diff
命令可以查看
git status
结果的详细信息。

git diff
命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。
git diff
有两个主要应用场景:

  • 查看尚未缓存的改动:
    git diff
  • 查看已缓存的改动:
    git diff --cached
  • 查看已缓存的与未缓存的所有改动:
    git diff HEAD
  • 显示摘要而非整个diff:
    git diff --stat

GIT——分布式版本控制系统

git status
命令显示自上次提交后更改或写入缓存的改动,而
git diff
命令则逐行显示这些改动的具体内容。

接下来我们来看一下

git diff --cached
的执行效果:

使用

git add
命令将想要快照的内容写入缓存区,执行
git commit
命令将缓存区内容添加到仓库中。

Git为每个提交记录你的姓名和电子邮件地址,因此第一步需要配置用户名和电子邮件地址:

$ git config --global user.name "xxxxxxxx"
$ git config --global user.email xxx@xxxxx.com

如果你觉得

git add
提交缓存的流程过于繁琐,Git允许你使用
-a
选项跳过这一步。命令格式如下:

git commit -a

使用

git rm
命令可以将条目从缓存区中移除,这与
git reset HEAD
将条目取消缓存不同。"取消缓存"意味着将缓存区恢复到我们做出修改之前的状态。

默认情况下,

git rm file
会将文件从缓存区和硬盘(工作目录)中删除。如果你想在工作目录中保留该文件,可以使用
git rm --cached

Git常用命令总结:

  • 从远程仓库克隆到本地分支:
    git clone 远程地址
  • 在本地创建新分支:
    git branch 分支名称
    (分支名称通常格式为feature-实现的功能)
  • 切换分支:
    git checkout 分支名
  • 删除分支:
    git branch -D 分支名
  • 查看当前项目中代码状态:
    git status
    git status .
    (后者表示当前项目所有文件,注意最后有一个点“.”)
  • 添加文件:
    git add 文件目录/文件名
    git add .
    (后者表示当前目录下所有文件提交到暂存区,注意最后有一个点“.”)
  • 提交到本地分支:
    git commit -m "标签注解"
  • 提交到远程分支:
    git push origin 远程分支名
  • 从远程仓库拉取代码到本地分支:
    git pull origin 分支名
    ;如果有冲突,可以用
    git status
    查看有冲突的文件。
    pull=fetch+merge
    fetch
    是将远程代码拉下来,
    merge
    是合并进去。
  • 取消上次修改:
    git reset .

GIT——分布式版本控制系统

相关专题

更多
什么是分布式
什么是分布式

分布式是一种计算和数据处理的方式,将计算任务或数据分散到多个计算机或节点中进行处理。本专题为大家提供分布式相关的文章、下载、课程内容,供大家免费下载体验。

327

2023.08.11

分布式和微服务的区别
分布式和微服务的区别

分布式和微服务的区别在定义和概念、设计思想、粒度和复杂性、服务边界和自治性、技术栈和部署方式等。本专题为大家提供分布式和微服务相关的文章、下载、课程内容,供大家免费下载体验。

234

2023.10.07

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

525

2026.01.21

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

703

2023.07.05

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

551

2023.07.06

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

266

2023.07.24

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

550

2024.04.09

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

513

2024.04.09

c++ 根号
c++ 根号

本专题整合了c++根号相关教程,阅读专题下面的文章了解更多详细内容。

58

2026.01.23

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 3万人学习

Git版本控制工具
Git版本控制工具

共8课时 | 1.5万人学习

Git中文开发手册
Git中文开发手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号