(三)Java工程化--Git起步

简介: GIT学习参考:https://git-scm.com/book/zh/v2版本控制版本控制记录了一个或若干文件的历史变化,便于今后查阅,恢复。三类版本控制系统本地版本控制系统 RCS : 本地存储文件变更系统,无法协作及对权限做统一管理集中化版本控制系统 CVCS : 变更存储于集中的一台服务器分布式版本控制系统 DVCS : 分布式存储版本库镜像, 包含文件历史变更的所有信息Git的历史git来自于linux团队, 是linux为了解决之前版本管理工具Bitkeeper收费的问题研发出来的。

GIT学习参考:https://git-scm.com/book/zh/v2

版本控制

版本控制记录了一个或若干文件的历史变化,便于今后查阅,恢复。

三类版本控制系统

  1. 本地版本控制系统 RCS : 本地存储文件变更系统,无法协作及对权限做统一管理
  2. 集中化版本控制系统 CVCS : 变更存储于集中的一台服务器
  3. 分布式版本控制系统 DVCS : 分布式存储版本库镜像, 包含文件历史变更的所有信息

Git的历史

git来自于linux团队, 是linux为了解决之前版本管理工具Bitkeeper收费的问题研发出来的。

设计目标

  • 速度
  • 简单
  • 对非线性开发模式的强力支持(多个并行开发的分支)
  • 完全分布式
  • 适用超大规模项目

linux是开源的, 所以当他们之前使用的版本工具开始收费的适合,他们决定自己研发一个版本控制工具,即Git.

说起开源, 我们需要了解下常见的开源协议,以便我们做技术选型时考虑.例如一般的开源协议都要求使用开源框架的项目也要开源.

Git与SVN(或者说其他版本控制系统)的区别

  1. 直接记录快照,而非差异比较

     了解此项差异的底层实现方式非常重要,有利于我们更准确的理解和学习Git.具体可以参考文章开始的网站资料.(有图有真相)
  2. 近乎所有操作都在本地执行(得益于第一点的底层实现,即分布式存储)
  3. Git使用sha1哈希算法算出的校验和保证完整性

     Git的索引是校验值而不是文件名,如果在传送过程中有信息丢失和损坏,Git就能发现.
  4. Git一般只添加数据 (只要提交便不会丢失数据,可以执行可逆操作)

使用前的配置

  • git config --list 显示所有配置
  • git config --global user.name 'user' 设置用户名
  • git config --global user.email '[email protected]' 设置用户邮箱
  • ssh-keygen -t rsa -C '[email protected]' 生成ssh密钥
  • 多用户配置方法: 在.ssh路径下(C:\Users\xueli.ssh)创建文件config, 添加下面内容

    # Default github user([email protected])
    Host github.com
    HostName github.com
    User git
    IdentityFile C:\Users\xueli.ssh\id_rsa

# Default mygitlib user([email protected])
Host mygitlib.com
HostName mygitlib.com
User git
IdentityFile C:\Users\xueli.ssh\mygitlib

上面是Git起步和背景知识, 下次将学习Git常用命令.

相关文章
|
JavaScript 开发工具 git
工程化:Commitlint / 规范化Git提交消息格式
通过这些思维导图和分析说明表,您可以更加直观地理解Commitlint的安装、配置和使用方法,从而有效规范Git提交消息,提升团队协作效率和代码质量。
388 14
|
JavaScript 开发工具 git
工程化:Commitlint / 规范化Git提交消息格式
通过这些思维导图和分析说明表,您可以更加直观地理解Commitlint的安装、配置和使用方法,从而有效规范Git提交消息,提升团队协作效率和代码质量。
990 9
|
11月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
850 0
|
jenkins 持续交付 开发工具
"引爆效率革命!Docker+Jenkins+GIT+Tomcat:解锁持续集成魔法,一键部署Java Web应用的梦幻之旅!"
【8月更文挑战第9天】随着软件开发复杂度的增加,自动化变得至关重要。本文通过实例展示如何结合Docker、Jenkins、Git与Tomcat建立高效的持续集成(CI)流程。Docker确保应用环境一致性;Jenkins自动化处理构建、测试和部署;Git管理源代码版本;Tomcat部署Web应用。在Jenkins中配置Git插件并设置项目,集成Docker构建Tomcat应用镜像并运行容器。此外,通过自动化测试、代码质量检查、环境隔离和日志监控确保CI流程顺畅,从而显著提高开发效率和软件质量。
227 3
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
154 0
|
Java 开发工具 git
java开发配置全局git忽略文件(IDEA)
java开发配置全局git忽略文件(IDEA)
325 0
|
Java 开发工具 git
第一季:13git分支相关命令【Java面试题】
第一季:13git分支相关命令【Java面试题】
94 1
|
Java 开发工具 git
Git【java 高级】
Git【java 高级】
128 0
|
Java 开发工具 git
|
Java Shell 开发工具
【Java】Java核心 86:Git 教程(9)GIT远程仓库操作
Git提供了一系列命令来进行远程仓库的操作。 下面是一些常用的Git远程仓库操作: 克隆远程仓库到本地: