Git简介和发展

Git

简介

  • Git是一个开源的分布式版本控制系统,跨平台,支持Windows、Linux、MacOS。主要是用于项目的版本管理,是由林纳斯·托瓦兹(Linux Torvalds)在2005年为Linux内核开发而创建。

起因

  • 在2002年至2005年间,Linux内核开发团队使用BitKeeper(一个专有的版本控制系统)来管理代码,Linux团队汇集了全球顶尖人才,免不了有人想破解BitKeeper的软件,BitKeeper的开发公司BitMover在2005年停止了向Linux团队的免费版本支持。
  • 于是成功惹怒了Linus这位大佬,迫使Linus寻找一个高效、分布式的版本控制工具。由于对当时其他工具(如SVN、CVS)的性能和功能不满,Linus决定开发一个自己的版本控制系统,然后一周后,Git这个延续至今的闪耀新星诞生。只能说大佬就是大佬。
  • 站在历史的角度来说,BitKeeper公司也是错过了一次流芳百世的机会/商机,如果BitKeeper公司继续提供使用,可能也不会有Git的问世。历史的滚滚车轮总是这么奇妙,悄无声息,又很神秘,好像一切都是安排好的一样。

设计目标

  • 高效性:能够快速处理大型项目(如Linux内核)的版本控制
  • 分布式:允许开发者在本地操作完整的历史记录,无需依赖中央服务器
  • 数据完整性:通过SHA-1哈希确保版本历史的可靠性
  • 简单易用:提供直观的命令和灵活的工作流程

发展历史

  • 几个关键阶段

    • 2005年4月7日正式上线

    • 2005-2008年:社区接管与功能完善

    • 2008-2012年:普及与生态系统繁荣

    • 2012-2020年:性能优化与新功能

    • 2020年至今:现代化与企业级应用

当今地位

  • 普及度:Git是全球最流行的版本控制系统,几乎所有主流代码托管平台(Github、GitLab、Bitbucket)都是以Git为核心
  • 影响力:Git不仅用于软件开发,还被应用于书籍写作、法律文档管理、数据科学等领域
  • 维护:Git由开源社区进行维护,拥有全球顶尖的开发者贡献者,代码托管在GitHub上

Git下载与安装

基本概念

  • 仓库(Repository):存储代码和版本历史的地方,分为本地仓库和远程仓库。
  • 提交(Commit):代码变更的快照,记录修改内容和元数据(如作者、时间)。
  • 分支(Branch):代码的独立开发线,默认分支通常为main。
  • 合并(Merge):将不同分支的更改整合到一起。
  • 远程仓库(Remote):托管在服务器上的仓库,如GitHub、GitLab。

常用命令

  • 初始化:git init(创建新仓库)
  • 克隆:git clone (复制远程仓库)
  • 添加:git add (将更改加入暂存区)
  • 提交:git commit -m "message"(保存更改到本地仓库)
  • 推送:git push origin (上传本地更改到远程仓库)
  • 拉取:git pull(从远程仓库获取更新)
  • 分支:git branch(查看分支)、git checkout -b (创建并切换分支)
  • 合并:git merge (合并分支)

应用场景

  • 软件开发:管理代码版本,支持团队协作。
  • 开源项目:通过GitHub等平台实现全球开发者贡献。
  • 非代码场景:管理文档、配置文件、数据科学项目等。
相关推荐
大卫小东(Sheldon)9 小时前
GIM: 调用AI自动生成git提交消息的工具
git·rust
程序设计实验室10 小时前
如何清理误提交到git的历史大文件?
git
江边垂钓者11 小时前
Git初始化相关配置
git
wumu_Love15 小时前
git 报错:错误:RPC 失败。curl 28 Failed to connect to github.com port 443 after 75000
git·rpc·github
powerfulzyh15 小时前
Git 时光机:修改Commit信息
git
极小狐18 小时前
如何使用极狐GitLab 软件包仓库功能托管 terraform?
linux·运维·git·ssh·gitlab·terraform
等等,要下雨2 天前
git常用命令
git
一直在学习的小白~2 天前
Sourcetree安装使用的详细教程
git
陈苏同学2 天前
从 Git 到 GitHub - 使用 Git 进行版本控制 - Git 常用命令
git·github