Git|IDEA整合Git

大家好,我是程序猿小马,沪漂一族!
写文章就是对于平时的总结以及大家共同学习进步,早日码出各自的梦想

Git|IDEA整合Git_第1张图片

描述:风景图


文章目录

  • 1、Git概述
    • 1.1 Git历史
    • 1.2 Git与SVN对比
    • 1.3 Git工作流程
  • 2、在IDEA中使用Git
    • 2.1 在IDEA中配置Git
    • 2.2 在IDEA中使用Git
      • 2.2.1 先从仓库中clone出项目代码
      • 2.2.2 基本操作
  • 每日小结


1、Git概述

1.1 Git历史

Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众多的参与者。 绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。 到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。

到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。 这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。

他们对新的系统制订了若干目标:

  • 速度
  • 简单的设计
  • 对非线性开发模式的强力支持(允许成千上万个并行开发的分支)
  • 完全分布式
  • 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

1.2 Git与SVN对比

SVN

SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从中央服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到中央服务器。

集中式版本控制工具缺点:

  • 服务器单点故障
  • 容错性差

Git|IDEA整合Git_第2张图片
Git

Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:
本地仓库和远程仓库

  • 本地仓库:是在开发人员自己电脑上的Git仓库
  • 远程仓库:是在远程服务器上的Git仓库
  • Clone:克隆,就是将远程仓库复制到本地
  • Push:推送,就是将本地仓库代码上传到远程仓库
  • Pull:拉取,就是将远程仓库代码下载到本地仓库

Git|IDEA整合Git_第3张图片

1.3 Git工作流程

工作流程如下:
1.从远程仓库中克隆代码到本地仓库
2.从本地仓库中checkout代码然后进行代码修改
3.在提交前先将代码提交到暂存区
4.提交到本地仓库。本地仓库中保存修改的各个历史版本
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库

Git|IDEA整合Git_第4张图片


2、在IDEA中使用Git

2.1 在IDEA中配置Git

安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。

选择File→Settings打开设置窗口,找到Version Control下的git选项:
Git|IDEA整合Git_第5张图片
选择git的安装目录后可以点击“Test”按钮测试是否正确配置

请添加图片描述

2.2 在IDEA中使用Git

2.2.1 先从仓库中clone出项目代码

  • 一般都是项目经理分配代码权限,当有了权限,把仓库中的代码clone到本地
    Git|IDEA整合Git_第6张图片
    Git|IDEA整合Git_第7张图片

2.2.2 基本操作

  • 切换分子(clone下来第一步要切换到你开发的dev分支)
    Git|IDEA整合Git_第8张图片
    Git|IDEA整合Git_第9张图片

  • 选择你要开发的分支,检出即可

  • 拉取最新代码
    在这里插入图片描述

  • 这个如果涉及多人开发同一块代码,记得一定要上传自己的代码之前pull哦!

  • add到缓存区
    Git|IDEA整合Git_第10张图片

  • 没add之前文件为红色,add之后为绿色,如果是提交之后修改变为蓝色

  • commit&push
    Git|IDEA整合Git_第11张图片
    Git|IDEA整合Git_第12张图片


每日小结

  • 牢记多人开发提交代码之前一定要pull最新代码,不然别的程序员打你我可不管
  • 后续会写一篇冲突相关的问题,敬请期待!

以上就是小马今天要发的内容,欢迎大家互相学习,共同进步,也可以在评论区互动哦!

你可能感兴趣的:(项目实战常见问题,git,intellij-idea,github)