欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一文搞懂git的使用

程序员文章站 2022-04-18 13:37:04
...

前言

版本控制

1.什么是版本控制

  • 版本控制(Revision control)是一种在开发中用于管理我们对文件,目录或工程技术等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
  • 它的作用

1.实现跨区域多人协同开发
2. 追踪和记载一个或者多个文件的历史记录
3. 组织和保护你的源代码和文档
4.统计工作量
5.并行开发,提高开发效率
6.跟踪记录整个软件的开发过程
7.减轻开发人员的负担,节省时间,同时降低人为错误

  • 简单的说就是多人开发一个项目的辅助管理工具。

2.为什么要使用版本控制

  • 在一个多人开发的项目中,如果没有进行版本控制或者版本控制缺乏正确的流程管理,会存在许多问题,比如软件代码的一致性,软件内容的冗余,软件过程的事务性,软件开发过程中的并发性,软件源代码的安全性,以及软件内容整合等问题。
  • 举一个例子

一文搞懂git的使用

  • 在工作中会遇到为了客户需求经常修改项目方案,会经常在几个方案之间来回修改,这是非常麻烦的,不仅要保留之前的方案,还要记录修改的内容等,做许多无用功。让人比较崩溃,但引入了版本控制后,这一切简单了起来,我们所做的修改等自动保存,同时回到哪个修改的版本也很方便。

3.常见的版本控制工具

  • Git
  • SVN(Subversion)
  • CVS(Concurrent Versions System)
  • VSS(Micorosoft Visual SourceSafe)
  • TFS(Team Foundation Server)
  • Visual Studio Online

版本控制产品非常的多(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),但使用最广泛,影响力最大的是Git和SVN

4.版本控制分类

  • 本地版本控制(RCS)
    当文件每次修改更新后,系统会自动生成记录补丁文件,来记录所做的修改,适合个人用。
    一文搞懂git的使用

  • 集中版本控制(SVN)

  1. 修改或更新文件后所产生的记录修改的信息不在保存在本地,而是保存在服务器上,开发者们从服务器同步更新和上传自己的修改。
    一文搞懂git的使用

  2. 所有的版本信息都存在服务器上,如果不联网,用户将不能更新项目的版本,也不能看到断网后其他人对项目的修改,看不到历史版本,也无法切换版本验证问题,或在不同分支工作。所有的数据都保存在单一的服务器上,有很大风险这个服务器会损坏,从而丢失数据,但可以通过定期备份来解决。

  3. 代表产品还有CVS,VSS。

  • 分布式版本控制(Git)
  1. 所有版本信息仓库全部同步到本地的每个用户,每个用户都有全部的版本信息。这样就可以在本地查看所有版本历史,可以离线在本地提交,只需在连网时push到相应的服务器或其他用户那里。
  2. 不会产生因服务器损坏或者网路问题造成不能工作的情况。每个用户那里保存的都是所有的版本数据,只要有一个用户的设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用。
    一文搞懂git的使用

5.Git和SVN的区别

  • SVN是集中式版本控制系统,版本库是集中放在*服务器的,而工作的时候,用的都是自己的电脑,所以首先要从*服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到*服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
  • Git是分布式版本控制系统,没有*服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!

Git的历史

  • Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
  • Linux社区中存在很多的大佬!**研究 BitKeeper !
  • 到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。(2周左右!) 也就是后来的 Git!
  • Git是目前世界上最先进的分布式版本控制系统。Git是免费、开源的,最初Git是为辅助 Linux 内核开发的,来替代 BitKeeper!
  • Linux和Git之父Linus Benedic Torvalds
    一文搞懂git的使用

Git环境配置

1.软件下载

  • 官网下载git,找到与操作系统对应的版本。
    一文搞懂git的使用

  • 官网下载慢而且没有*的话 使用淘宝镜像下载
    一文搞懂git的使用

  • 安装时直接选默认设置就好了。

2.启动Git

  • 安装成功后在开始菜单有如下选项
    一文搞懂git的使用
  • Git Bash:Unix与Linux风格的命令行,使用最多,推荐最多
  • Git CMD:Windows风格的命令行
  • Git GUI:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令

3.常用的Linux命令

  • cd : 改变目录
  • cd . . 回退到上一个目录,直接cd进入默认目录
  • pwd : 显示当前所在的目录路径。
  • ls / ll: 都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细

一文搞懂git的使用

  • touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
  • rm: 删除一个文件, rm index.js 就会把index.js文件删除
  • mkdir: 新建一个目录,就是新建一个文件夹。
  • rm -r : 删除一个文件夹, rm -r src 删除src目录
  • rm -rf / 切勿在Linux中尝试!删除电脑中全部文件!
  • mv 移动文件, 例如mv index.html src, index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
  • reset 重新初始化终端/清屏。
  • clear 清屏。
  • history 查看命令历史。
  • help 帮助。
  • exit 退出
  • # 表示注释

4.Git配置

  • 在安装git后首先要做的是设置用户名和邮箱。这是很重要的,每次git提交时会用到该信息,他被永远嵌入到提交中。
  • 具体配置:(在git bash中输入这两行代码即可//或者用vscode打开.gitconfig文件直接填入)
 git config --global user.name "chenshuai-coder" #用户
 git config --global user.email 3110466108@qq.com   #邮箱

一文搞懂git的使用

  • Git的配置文件都保存在本地,使用命令git config -l 来查看
    一文搞懂git的使用

  • 其中配置文件可分为两部分,一部分是系统文件,一部分是用户文件

  • 可使用命令git config --systtem --list 和命令git config --global --list 来查看
    一文搞懂git的使用

  • 其中系统文件的存储位置:Git\etc\gitconfig :Git 安装目录下的 gitconfig --system 系统级

  • 用户文件存储位置:C:\Users\ryryu.gitconfig : 只适用于当前登录用户的配置 --global 全局
    一文搞懂git的使用

Git的基本理论

1.Git工作区域

  • Git本地有三个工作区域:工作目录(Working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)。如果在加上 远程的git仓库(Remote Directory) 就可以分为四个工作区域。
  • Workspace:工作区,就是你平时存放项目代码的地方
  • Index / Stage:暂存区,用于临时存放你的改动,事实上它只是一个文件,保存即将提交到文件列表信息
  • Repository:仓库区(或本地仓库),就是安全存放数据的位置,这里面有你提交到所有版本的数据。其中HEAD指向最新放入仓库的版本
  • Remote:远程仓库,托管代码的服务器,可以简单的认为是你项目组中的一台电脑用于远程数据交换

2.工作流程

  1. 在工作目录中添加,修改文件
  2. 将需要进行版本管理的文件放入暂存区域
  3. 将暂存区域的文件提交到Git仓库
  • 所以git管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(committed)

一文搞懂git的使用

Git项目搭建

Git文件操作

使用码云

idea中集成Git

相关标签: git java linux