day01_git入门

为什么要版本控制系统

版本控制系统可以解决开发中的一系列问题。例如:代码备份丶版本控制丶协同工作丶责任追溯....。SVN版本控制和Git版本控制都是市场上常见的版本控制系统。

SVN和Git的对比

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

  • 服务器单点故障:将会导致所有人员无法工作
  • 服务器硬盘损坏:这意味着,你可能失去了该项目的所有历史记录,这是毁灭性的。

Git是开源分布式版本控制工具,分为两种类型的仓库:本地仓库和远程仓库。每一个客户端都保存了完整的历史记录。服务器的故障,都可以通过客户端的记录得以恢复。

Git下载和安装,百度就好

Git操作入门

Git基本工作流程

day01_git入门_第1张图片

流程详解

  1. 创建工作目录、初始化本地 git 仓库
  2. 代码提交到仓库之前,必须添加到暂存区
  3. 从暂存区添加到本地历史仓库

git常用命令

day01_git入门_第2张图片

远程仓库工作流程

day01_git入门_第3张图片

 先有本地项目,远程为空

  1. 创建本地仓库
  2. 创建或修改文件,添加(add)文件到暂存区,提交(commit)到本地仓库
  3. 创建远程仓库
  4. 推送到远程仓库

先有远程仓库,本地为空

  1. 将远程仓库的代码,克隆到本地仓库。克隆命令:git clone 仓库地址
  2. 创建新文件,添加并提交到本地仓库
  3. 推送至远程仓库
  4. 项目拉取更新 拉取命令:git pull 远程仓库名 分支名

代码冲突

两个程序员操作同一个文件,其中一个程序员在修改文件后,push到远程仓库,另一个程序员应该先pull将最新的代码更新到本地仓库后,在修改代码,之后push到远程仓库,结果他没有先pull将最新的代码更新到本地仓库,而是直接将自己的代码push到远程仓库,这样就可能会导致代码冲突

day01_git入门_第4张图片

IDEA集成Git

IDEA中配置Git

1:File -> Settings

day01_git入门_第5张图片

:2:Version Control -> Git -> 指定git.exe存放目录

day01_git入门_第6张图片

 3:点击Test测试

day01_git入门_第7张图片

 创建本地仓库

1:VCS->Import into Version Control->Create Git Repository

day01_git入门_第8张图片

 2:选择工程所在的目录,这样就创建好本地仓库了

day01_git入门_第9张图片

 3:点击git后边的对勾,将当前项目代码提交到本地仓库注意: 项目中的配置文件不需要提交到本地仓库中,提交时,忽略掉即可

历史版本切换

方式一: 控制台Version Control->Log->Reset Current Branch...->Reset 。这种切换的特点是会抛弃原来的提交记录

day01_git入门_第10张图片

方式二:控制台Version Control->Log->Revert Commit->Merge->处理代码->commit 。这种切换的特点是会当成一个新的提交记录,之前的提交记录也都保留

day01_git入门_第11张图片

day01_git入门_第12张图片

分支管理

创建分支

VCS->Git->Branches->New Branch->给分支起名字->ok

day01_git入门_第13张图片

切换分支

idea右下角Git->选择要切换的分支->checkout

day01_git入门_第14张图片

合并分支

VCS->Git->Merge changes->选择要合并的分支->merge

day01_git入门_第15张图片

处理分支中的代码

day01_git入门_第16张图片

删除分支

idea右下角->选中要删除的分支->Delete

day01_git入门_第17张图片

本地仓库推送到远程仓库

1:VCS->Git->Push->点击master Define remote

day01_git入门_第18张图片

2:将远程仓库的路径复制过来->Push

day01_git入门_第19张图片

远程仓库克隆到本地仓库(应用)

File->Close Project->Checkout from Version Control->Git->指定远程仓库的路径->指定本地存放的路径->clone

day01_git入门_第20张图片

你可能感兴趣的