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

看不見的法師
发布: 2025-09-01 08:21:17
原创
444人浏览过

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
登录后复制
命令可以将文件添加到仓库:

奇布塔
奇布塔

基于AI生成技术的一站式有声绘本创作平台

奇布塔41
查看详情 奇布塔
$ 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——分布式版本控制系统

以上就是GIT——分布式版本控制系统的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

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