Git 是一个分布式的版本管理系统,而 SVN 是一个集中式管理系统。

版本控制

  • Git与SVN的对比

    对比 SVN Git
    工作方式 集中式 分布式
    文件管理 增量式 系统快照
    权限控制 对团队中参与开发的人员进行权限控制 可接受团队外开发者贡献的代码并审核
  • 版本控制工具分类
    • 集中式版本控制工具(SVN、CVS)



      缺点:服务器故障将产生单点故障

    • 分布式版本控制工具(Git、Mercurial、Bazaar...)



      优点:本地具有完整版本历史

Git 简介

  • Git 资源

  • Git 优势

    • 大部分操作在本地完成不需要联网
    • 完整性保证
    • 尽可能添加数据而不是删除或修改数据
    • 分支操作非常快捷流畅
    • 与 Linux 命令全面兼容
  • Git 结构

    • 本地结构

  • GitHub(代码托管中心)

  • 本地库和远程库

    • 团队内协作

    • 团队外协作

命令行操作

  • 本地库操作

    • 本地库初始化

      • 命令

        git init
      • 效果

      • 注意:.git 目录中存放的是本地库相关的子目录和文件,不要删除和修改。

    • 设置签名

      • 形式
        用户名:clxye
        Email: chenlia2602@sina.com
      • 作用:区分不同开发人员的身份
      • 辨析:这里设置的签名和登陆远程库(代码托管中心)的账号、密码没有任何关系
      • 命令
        • 项目级别/仓库级别:仅在当前本地库范围内有效
          // 设置本地账号信息
          git config user.name clxye
          git config user.emal chenlia2602@sina.com // 查看保存的信息
          cat .git/config
        • 系统用户级别:登陆当前操作系统的用户范围
          // 设置系统账号信息
          git config --global user.name clxye
          git config --global user.emal chenlia2602@sina.com // 查看保存的信息
          cat ~/.gitconfig
        • 级别优先级
          • 就近原则:项目级别优先于系统用户级别,二者都有时采用项目级别的签名
          • 如果只有系统用户级别的签名,就以系统用户级别的签名为准
          • 二者都没有不允许
    • 状态查看操作

      git status

      查看工作区、暂存区状态

    • 添加操作

      git add [file name]

      将工作区的 “新建/修改” 添加到暂存区

    • 提交操作

      git commit -m "commit message" [file name]

      将暂存区的内容提交到本地库

    • 查看历史记录

      // 详细日志信息
      git log // 简洁日志信息
      git log --pretty=oneline // 最简洁日志信息(只显示当前及以前版本日志)
      git log --oneline // 移动到当前版本需要多少步(显示所有日志)
      git reflog
    • 前进后退





      // 基于索引值(只需包含 git log --oneline 中的hash值)
      git reset --hard 9a9ebe0 // 使用^符号(只能后退,一个^后退一步,N个后退N步)
      git reset --hard HEAD^ // 使用~符号(只能后退,后退n步)
      git reset --hard HEAD~3
    • 删除文件并找回

      git
    • 比较文件差异

      git
    • 命令帮助

      git
  • 远程库操作

Git 图形化界面操作

Gitlab 服务器环境搭建

版本管理 - Git 使用入门的更多相关文章

  1. GIT 从入门到放弃大整理

    跟着廖雪峰学 GIT  http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 GUI f ...

  2. Git原理入门简析

    为了获得更好的阅读体验,建议访问原地址:传送门 前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的 ...

  3. Git原理入门解析

    前言: 之前听过公司大佬分享过 Git 原理之后就想来自己总结一下,最近一忙起来就拖得久了,本来想塞更多的干货,但是不喜欢拖太久,所以先出一版足够入门的: 一.Git 简介 Git 是当前流行的分布式 ...

  4. git新手入门问题总结

    git新手入门问题总结 前言 本人为2019年6月份刚刚毕业,大三暑假中旬来到上海,实习时间大致为十个月,在这十个月里面学到了许多关于git使用方面的知识 经常会逛开源中国水水动态,看看技术帖子学习知 ...

  5. Git【入门】这一篇就够了

    前言 欢迎关注公众号,白嫖原创PDF,也可以催更,微信搜:JavaPub,回复:[666] Git 在生产工作中是使用频率很高的工具,但我发现很多文章只是对它做了简单的提交命令说明,真正遇到 版本冲突 ...

  6. 第三章 Git的入门 - 读书笔记

    Android驱动月考3 第三章 Git的入门 - 读书笔记 对于Github,这是全世界最大的开源平台,你可以把你做的项目在这里开源,把你发现的一些新技术在这里开源,向全世界的开发者们分享,大家都彼 ...

  7. git简单入门

    git简单入门 标签(空格分隔): git git是作为程序员必备的技能.在这里就不去介绍版本控制和git产生的历史了. 首先看看常用的git命令: git init git add git comm ...

  8. Android系统移植与驱动开发--第三章 Git使用入门及在学习中有感

    第三章 Git使用入门 使用Git的目的是减少各种版本的Linux的压缩大小,提供源代码在Linux上进行编译. 在这一个章节中,其实就是关键步骤的操作,虽然Git与我们学习的android没有很大的 ...

  9. 让 Python 带你进入开源的世界——Git 从入门到与他人协作开发

    让 Python 带你进入开源的世界--Git 从入门到与他人协作开发 我认为开源社区中有很多优秀的资源,并且可以帮助进阶中的程序员提高编程能力和水平.所以,我发起了<HelloGitHub&g ...

随机推荐

  1. CGO入门和OCR文字识别(非第三方API,有源码,效果好)实战

    这是我参与8月更文挑战的第5天,活动详情查看:8月更文挑战 系列文章见: [第四天] GDB调试指南:C++中如何调试生产环境的程序? [第三天] IM敏感词算法原理和实现 [第二天] 现代IM架构研 ...

  2. NOIP 模拟 6 模板

    题目 题解 这道题是一道启发式合并的题目,每次合并完重构一下线段树就可以,不用线段树合并. 以操作时间为下标,建立一颗线段树,维护小球的个数与小球的颜色数,最后线段树上二分查找. 我们先不用考虑每个节 ...

  3. .net 温故知新:【5】异步编程 async await

    1.异步编程 异步编程是一项关键技术,可以直接处理多个核心上的阻塞 I/O 和并发操作. 通过 C#.Visual Basic 和 F# 中易于使用的语言级异步编程模型,.NET 可为应用和服务提供使 ...

  4. java简体(繁体)转换器

    <!--中文字符简繁体互相转换--> <dependency> <groupId>com.github.nobodxbodon</groupId> &l ...

  5. flutter查看安全码SHA1

    最近flutter技术调研高德地图插件时,要用到安全码,可以打开cmd,键入一下命令查看.(注意路径用户名yourusernamehere改为自己的) keytool -list -v -keysto ...

  6. 在JavaScript中安全访问嵌套对象

    大多数情况下,当我们使用JavaScript时,我们将处理嵌套对象,并且通常我们需要安全地访问最里面的嵌套值. 比如: const user = { id: 101, email: 'jack@dev ...

  7. sql 中的with 语句使用

    一直以来都很少使用sql中的with语句,但是看到了一篇文章中关于with的使用,它的确蛮好用,希望以后记得使用这个语句.一.with 的用法With alias_name as (select1)[ ...

  8. [ASP.NET MVC]@Html.ActionLik重载

    一 Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法, ...

  9. excel快捷键如下:

    ALT+ 空格键,然后按下 X ALT+ 空格键,然后按下 R  首先打开表格,在A1对角用鼠标左键单击,界面会全部选中,然后调整字体大小框里的数字,回车,表格就变大了. 同时按Alt和E,再按L   ...

  10. linux centos7 命令中的 2>&1 代表的意义

    2021-09-01 1. 参数介绍 0 – stdin (standard input) 标准输入1 – stdout (standard output) 标准输出2 – stderr (stand ...