git
1. Git概述
Git作用:进行项目的版本管理,主要用来实现在多人开发一个项目的时候,进行项目的代码、版本等等内容的管理. Git的作者林纳斯·托瓦兹.
2. Git与SVN对比
SVN是集中式版本控制系统,版本库是集中放在*服务器的,而开发人员工作的时候,用的都是自己的电脑,所以首先要从*服务器下载最新的版本,然后开发,开发完后,需要把自己开发的代码提交到*服务器。
集中式版本控制工具缺点:(1)服务器单点故障;(2)容错性差
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS) ,分为两种类型的仓库:
本地仓库和远程仓库
本地仓库:是在开发人员自己电脑上的Git仓库
远程仓库:是在远程服务器上的Git仓库
Clone:克隆,就是将远程仓库复制到本地
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库
3. Git工作流程
工作流程如下:
1.从远程仓库中克隆代码到本地仓库 (Clone)
2.从本地仓库中checkout代码然后进行代码修改(比如用idea打开,进行编写代码)
3.在提交前先将代码提交到暂存区 (Add)
4.提交到本地仓库。本地仓库中保存修改的各个历史版本 (commit)
5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
注意:push到远程仓库之前最好每次先从远程仓库拉取一下最新版本(Pull),在拉取的过程中可能会有版本冲突,解决完版本冲突之后再push到远程仓库.
4. Git常用命令
4.1 环境配置
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息.
设置用户信息
git config --global user.name “itcast”
git config --global user.email “[email protected]”
查看配置信息
git config --list
git config user.name
通过上面的命令设置的信息会保存在~/.gitconfig文件中
4.2 获取Git仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库.
获取Git仓库通常有两种方式:
在本地初始化一个Git仓库
从远程仓库克隆
4.2.1在本地初始化一个Git仓库
执行步骤如下:
1. 在电脑的任意位置创建一个空目录(例如gittest)作为我们的本地Git仓库
2. 进入这个目录中,点击右键打开Git bash窗口
3. 执行命令git init
如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功
4.2.2从远程仓库克隆
(1).可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地
命令形式为:git clone 远程Git仓库地址
(2).git remote 命令:在本地仓库中运行该命令可以查看已经配置的远程仓库服务器。 它会列出指定的每一个远程服务器的简写。 如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字.
(3). 运行 git remote add <shortname> <url> 添加一个新的远程 Git 仓库,同时指定一个可以引用的简写.
注意:连接码云等远程仓库,第一次连接需要输入码云的账号和密码
如果第一次输入错误,之后就再也连不上码云了,如何解决
5.工作目录、暂存区以及版本库概念
码云:远程仓库
版本库:前面看到的**.git隐藏文件夹就是版本库**,版本库中存储了很多配置信息、日志信息和文件版本信息等.
工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码.
暂存区:.git文件夹中有很多文件,其中有一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方.
6. Git工作目录下文件的两种状态
6.2将文件添加至忽略列表
一般.class文件是会被忽略掉的,不提交到本地仓库,不参与修改,不参与任何操作
一般我们总会有些文件无需纳入Git 的管理,也不希望它们总出现在未跟踪文件列表。 通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。 在这种情况下,我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
7. 在IDEA中使用Git
7.1 在IDEA集成Git
安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。
选择File→Settings打开设置窗口,找到Version Control下的git选项:
选择git的安装目录后可以点击"Test"按钮测试是否正确配置
7.2在IDEA中创建工程并将工程添加至Git
创建工程的步骤和普通创建工程一样,创建完之后将该工程添加至git
将项目添加至Git管理后,可以从IDEA的工具栏上看到Git操作的按钮
7.3 在IDEA中使用Git(将文件加入暂存区、提交文件)
1. 设置.gitignore文件(了解,重点是在idea中设置)
注意:在实际开发中,并不是所有文件都交给git进行管理,并且有些文件如果交给git进行管理的话,后续会产生很多问题,比如.idea这种文件并不需要我们去维护,它是通过idea自己维护的,如果把这些文件也让git进行管理并且推送到远程仓库的话,由于远程仓库大家都可以拉取到,这些文件就会经常产生冲突.所以要将.idea,gittest.iml以及target这些文件加入忽略列表(.gitignore文件).
我们可以在工作目录中创建一个名为 .gitignore 的文件(文件名称固定),列出要忽略的文件模式。
注意:在windows系统中无法创建.gitignore名称的文件,我们可以在Git Bash Here的命令行窗口中利用linux命令创建该文件,命令:touch .gitignore.
也可以从别的项目中复制.gitignore文件,更多的我们使用idea来进行忽略文件设置.
下面是.gitignore文件示例:
2.使用idea配置.gitignore忽略文件(两种方式:1.直接在idea中设置;2.使用插件)
方式1:直接在idea中配置
方式2:使用.ignore插件
2.将文件添加到暂存区的操作(在idea中可以直接提交到本地仓库不用添加到暂存区):
右键项目名称,Git->Add
3 创建本地仓库并提交文件至本地仓库
本地项目还没有创建本地仓库时:
然后选择项目为本地仓库的存在目录
提交到本地仓库后就会在项目的文件中产生一个.git文件.
提交到本地仓库或者远程仓库:点击右上角的绿色对号,提交
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5MDVF7d4-1602612228575)(media/image23.png)]{width=“5.768055555555556in” height=“4.741666666666666in”}
4.版本对比
方法1:在某个代码类中右键->Git->Compare with
方法2:点击时钟图标
点击其中一个版本,查看代码修改的地方
5. 创建分支
简便方法:点击idea右下角的Git:master (代表当前处于master分支),既可创建新的分支也可切换其他分支.
常规方法:
VCS->Git->Branches ->New Branch
6.切换分支
简便方法:点击idea右下角的Git:master (代表当前处于master分支),既可创建新的分支也可切换其他分支(当前示例中还有b1分支,点击b1再点击Checkout切换到b1分支).
7.合并分支
VCS->Git->Merge Changes ->选择要合并的分支,有本地仓库分支和远程仓库分支
注意: 将b1合并到master分支,要在master中操作
8.文件冲突解决
7.4 从远程仓库克隆工程到本地
从远程仓库克隆到本地成功后在idea中选择open,注意在open的时候路径选择一定要正确,如上图,路径选择应该选择D:\develop\IdeaProjects\gittestClone\gittest.git,切记不要只到gittestClone目录,而要选择gittestClone目录里面的gittest.git
7.5 git使用场景举例
附录:
1.git软件安装
Git下载地址: https://git-scm.com/download
TortoiseGit (小乌龟) 下载地址: https://tortoisegit.org/download/
2. 安装TortoiseGit
一路"下一步"使用默认选项即可。
默认选项下会启动配置画面:
由于目前只有英文语言包,默认即可继续下一步。
配置git.exe,在4.2.1中已经安装过git-for-windows了所以在此找到git.exe所在的目录。
配置开发者姓名及邮箱,每次提交代码时都会把此信息包含到提交的信息中。
使用默认配置,点击"完成"按钮完成配置。
完整完毕后在系统右键菜单中会出现git的菜单项。
3.安装中文语言包
安装中文语言包并不是必选项。可以根据个人情况来选择安装。
直接"下一步"完整完毕。
语言包安装完毕后可以在TortoiseGit的设置中调整语言
4.使用TortoiseGit
4.1.创建本地仓库
4.2 克隆远程仓库
4.3将文件添加至暂存区
方法二:也可以不选中文件,直接右键->Git Commit ->master,然后在弹出的对话框中勾选文件,效果是一样的.
4.4 推送本地仓库到远程仓库
**情景1:本地仓库是从远程仓库克隆下来的,**如果修改完文件后需要推送到远程仓库,比较简单,
情景2:本地仓库不是从远程仓库克隆的,而是自己本地电脑里的一个文件夹
1.在文件夹内右键->Git Create repository here
2.
3.把本地文件添加到暂存区
4.提交到本地仓库,这一步不能少!!!
5.push到远程仓库
6.从远程仓库拉取代码到本地仓库
7.创建分支
8.切换分支
9.合并分支