博客
关于我
Git最全教程---听说你精通git操作
阅读量:415 次
发布时间:2019-03-05

本文共 1481 字,大约阅读时间需要 4 分钟。

Git详解

Git历史

Git诞生于2005年,由Linus Torvalds开发。作为一个分布式版本控制系统,Git与传统的集中式版本控制工具(如SVN)有着显著的区别。与SVN相比,Git能够在没有网络的情况下也能进行版本控制,这使得团队开发更加高效。

版本控制

版本控制是Git的核心功能之一,它支持以下操作:

  • 协同修改:多人可以同时修改同一文件。
  • 数据备份:每次提交都会保存文件的状态,确保数据安全。
  • 版本管理:Git通过文件快照的方式存储版本,节省存储空间。
  • 权限控制:Git支持对团队成员进行权限管理,确保代码质量。
  • 历史记录:记录修改人、时间、内容等详细信息,支持文件恢复。
  • 分支管理:支持多个生产线开发,提高开发效率。
  • Git与SVN的区别

    Git与SVN的主要区别包括:

  • 分布式特性:Git每个开发者都有本地仓库,网络中断也能正常工作。
  • 内容存储:Git使用SHA-1算法确保内容完整性。
  • 版本库管理:Git支持多个版本库,而SVN仅有一个中央仓库。
  • 版本号管理:Git没有全局版本号,但支持局部标签管理。
  • Git工作区域

    Git的工作区域分为三个部分:

    • 工作区:存放当前正在修改的文件。
    • 暂存区:存放已添加但未提交的文件。
    • 本地仓库:存放本地提交的文件。

    通过git add命令将文件从工作区移动到暂存区,git commit将文件提交到本地仓库,git push将文件推送到远程仓库。

    Git配置

    Git配置相对简单,主要包括:

    • 设置用户信息:git config --global user.name "你的名字" git config --global user.email "你的邮箱"
    • 设置代理:如果工作在局域网中,可能需要配置代理服务器。

    常用命令

    查看状态

    使用git status命令查看当前仓库状态:

    • git status:显示当前分支的修改状态。
    • git status --porcelain:输出机器人友好的格式。

    查看提交日志

    git log命令显示提交日志:

    • git log:显示最近的提交日志。
    • git log --stat:显示每次提交的文件变更。
    • git log --color:显示颜色代码区别。

    撤回修改

    使用git reset命令恢复到指定版本:

    • git reset --hard [版本号或HEAD]:重置为指定版本。

    强制提交

    有时需要强制提交当前仓库:

    • git commit -m "描述":添加提交描述。

    文件比较

    使用git diff命令对比文件差异:

    • git diff:对比工作区和暂存区。
    • git diff --cached:对比暂存区和本地仓库。

    分支管理

    创建和切换分支:

    • git checkout -b iss53:创建并切换新分支。
    • git merge:合并分支。

    忽略文件

    .gitignore文件中设置忽略规则:

    • .a:忽略所有.a结尾的文件。
    • !lib.a:忽略所有lib.a文件。
    • /TODO:忽略TODO文件。

    GitLab搭建

    GitLab是一个集成化的开发平台,支持代码管理、CI/CD等功能。搭建步骤包括:

  • 安装GitLab:通过包管理器或源码编译。
  • 配置域名和Nginx。
  • 初始化GitLab数据库。
  • 安装必要的Ruby gems。
  • 通过以上配置,可以快速搭建一个功能完善的代码管理平台。

    总结

    Git为开发者提供了强大的版本控制能力,支持分布式开发和团队协作。通过合理使用分支和配置Git,开发效率可以显著提升。熟悉Git命令和工作流程,是项目开发的必备技能。

    转载地址:http://xfjzz.baihongyu.com/

    你可能感兴趣的文章
    Osgi环境配置
    查看>>
    OSG——选取和拖拽
    查看>>
    OSG中找到特定节点的方法(转)
    查看>>
    OSG学习:C#调用非托管C++方法——C++/CLI
    查看>>
    OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
    查看>>
    OSG学习:OSG组成(二)——渲染状态和纹理映射
    查看>>
    OSG学习:WIN10系统下OSG+VS2017编译及运行
    查看>>
    OSG学习:人机交互——普通键盘事件:着火的飞机
    查看>>
    OSG学习:几何体的操作(一)——交互事件、简化几何体
    查看>>
    OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
    查看>>
    OSG学习:几何对象的绘制(一)——四边形
    查看>>
    OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
    查看>>
    OSG学习:几何对象的绘制(二)——简易房屋
    查看>>
    OSG学习:几何对象的绘制(四)——几何体的更新回调:旋转的线
    查看>>
    OSG学习:场景图形管理(一)——视图与相机
    查看>>
    OSG学习:场景图形管理(三)——多视图相机渲染
    查看>>
    OSG学习:场景图形管理(二)——单窗口多相机渲染
    查看>>
    OSG学习:场景图形管理(四)——多视图多窗口渲染
    查看>>
    OSG学习:新建C++/CLI工程并读取模型(C++/CLI)——根据OSG官方示例代码初步理解其方法
    查看>>
    Sql 随机更新一条数据返回更新数据的ID编号
    查看>>