Git安装,Giit简单命令,Git的IDEA使用

一. git介绍&安装.

1. 团队协作开发项目工程.

管理项目版本的问题.
1. 人工方式.
	采用创建多个文件夹的方式来管理不用的版本.
	问题: 随着版本的迭代,功能的更新,版本会越来越多.文件夹越来越多,管理起来很麻烦.
	     无法细粒度的管理版本. 玩单机,不能多人协同操作.
	      
2. 第三方工具管理本地的文件夹.	
	采用工具管理文件夹,避免文件夹过多,导致文件夹管理问题.
	问题: 玩单机,不能多人协同操作.   无法细粒度的管理版本.
	
3. 集中式管理方案.
	CVS&SVN方式,提供一个第三方的服务器,统一将版本控制在第三方的服务器.不是玩单机了,可以多人协同工作. 可以细粒度的控制版本.
	问题: 单点故障,速度较慢.
	
4. 分布式管理方案.
	Git分布式版本控制工具. Git即提供了本地仓库,也提供了远程仓库.
	速度是特别快的,采用元数据的保存方式,快照形式提升速度.

2. Git的由来.

Git是由Linux操作系统的发布者Linus研发的.        
	当时Linus为了快速的发展Linux操作系统,完全对外开源的.
	因为Linux完全对外开源,Linux的社区是非常火爆.
	Linux社区的大神,对Linus提供一些问题和响应的解决方案.
	Linux从1991对外开源了,一直手动管理,Linux1.0 -> Linux1.0.1 -> Linux1.0.2
	Linux社区的大神对更新速度不太满意,Linus并没有选择CVS|SVN,嫌弃这几款版本控制工具的太慢,当时还有一些商业的版本控制工具,商业的违背了开源的理念.
	在2002年:
		BitMover的公司将商业的版本控制工具BitKeeper,免费的提供给Linux社区人员使用.
	有一些Linux社区的大神破解BitKeeper协议,BitMover公司监控到了被破解,不再免费的提供给你Linux使用了.
	Linus花费了2个月的时间,编写了版本控制工具Git.随着Github仓库的推出.Git越来越火爆.
	最后BitKeeper也对外开源了.

3. Git的安装.

1. 官网.
	https://git-scm.com/
2. 下载最新的Git即可.
	2.21.0版本.
3. 傻瓜式安装.各种下一步.(指定一下安装目录,不要带中文和空格)
	....
4. 安装成功.任意位置右键.Git bash here
	输入
	git --version
	弹出版本号.

二. git的架构&svn区别.

1. Git的架构图.

Git安装,Giit简单命令,Git的IDEA使用_第1张图片

2. Git和SVN的区别.

1. Git是分布式的版本控制工具,SVN是集中式的版本控制工具.

2. SVN的性能比Git慢.

3. Git有本地仓库,不会出现单点故障. SVN没有本地仓库,会出现单点故障.

4. Git对外有公共的Github,Gitee远程仓库.   SVN虽然也有,但是使用量极少.

三. git的基本操作.

1. 自报家门.

1. 查看个人信息.
	git config --global -l		
2. 设置个人用户名.
	git config --global user.name "个人姓名"    
3. 设置个人邮箱.
	git config --global user.email "个人邮箱"   

2. 基本操作.

1. 初始化git仓库.
	git init
2. 将工作区的内容add到暂存区.
	git add . | 文件名 | 目录名
3. 将暂存区的内容提交到本地分支.
	git commit -m "提交信息"
4. 查看日志.
	git log

3. 其他操作.

1. 用工作区内容和本地仓库做比较,以及暂存区和分支做比较.
	git status 
2. 比较工作区内容和暂存区的内容,并展示详细信息.	
	git diff
3. 退回到某一个提交点.	(小心)
	git checkout 提交点的唯一标识
4. 查看全部日志.
	git reflog
5. 删除文件.	删除工作区 + 暂存区 + 分支上的文件.
	git rm 文件名

四. git的分支.

1. 什么是分支

Git安装,Giit简单命令,Git的IDEA使用_第2张图片

Git默认有一个master分支.
分支特点:
	1. 分支默认只向最后一个提交点.
	2. 获取的信息就是分支指向的信息.
	3. 采用各种方式更改分支指向提交点.

2. 分支的应用.

组内有5个成员.
	5个人协同开发. -> 同时向远程仓库的master分支推送代码.
	导致master分支很乱.
针对成员/功能模块创建不同的分支.
	针对5位成员提供5个分支.让每位成员在自己的分支上玩.
	当5为成员完成全部的功能模块后,由组长将5个分支合并到一起.
	解决冲突.
由组长将全部的配置和公共内容准备好,自己先创建本地仓库,推送到远程仓库.
由组员clone下来,进行自己功能的编写.

3. 创建分支并使用.

# 1. 初始化git仓库.
	git init
# 2. 创建一个.java文件.
	复制了一个java文件
# 3. 将.java添加并提交到本地仓库的master分支上.
	git add .
	git commit -m "信息"
# 4. 创建一个全新的分支test.
	git branch test
# 5. 切换到test分支上.
	git checkout test
# 6. 在test分支中修改.java文件.
	# 修改文件内容
	git add .
	git commit -m "信息"
# 7. 切换回master分支,并合并test分支中的内容.
	git checkout master
	git merge test
# 8. 删除test分支.
	git branch -vv
	git branch -d test

4. 带冲突的操作.

# 1. 在当前master分支上创建一个新的分支.
	git branch test
# 2. 在master分支上修改UserController.
	....
# 3. 切换到test分支,也修改UserController.
	git checkout test
	....
# 4. 切换回master分支,并合并test分支.
	git checkout master
	git merge test
# 5. 看到冲突,以及处理方案.(MASTER|MERGING)
	1. 根据具体情况,留下那些内容,并重新add + commit.
		删掉>>>>>>>>>>>======<<<<<<<<<<<<<<
		git add .
		git commit -m "...."
	2. 冲突太多,取消合并.
		git merge --abort

五. SSH的方式连接远程仓库.

1. 远程仓库.

1. 公司内部会提供一个Gitlab作为远程仓库.
2. 外网提供的Github,大量的开源代码都在Github上,GitHub速度相对较慢,都英语,看不懂.
3. 国内提供了类似Github的平台,Gitee码云,在国内速度比较快,都是中文,Gitee的页面和Github的页面基本是一致的.

2. 实现SSH无密码连接远程仓库.

1. 登录gitee账号(没有去注册).
2. 生成ssh的公钥和私钥
	ssh-keygen -t rsa -C "[email protected]"
3. 将生成的公钥交给gitee.
	右上角 -> 设置 -> ssh公钥 -> 添加公钥.
	将id_rsa.pub内容赋值到公钥里.

3. 具体操作.

#1. 在gitee上创建一个远程仓库.
	创建裸库. 不能勾选README.md文件.
#2. 将本地仓库关联上远程仓库.
	git remote add origin 仓库的SSH地址.
#3. 将本地仓库的内容推送到远程仓库.
	git push -u origin master
#4. 在gitee平台,修改UserController.java
	在页面修改即可.
#5. 在本地仓库将远程仓库中最新的版本拉取下来.
	git pull origin master

4. 来波冲突.

# 1. 在远程仓库修改内容.
	...
# 2. 在本地仓库修改内容.
	...
	add + commit
# 3. 本地仓库push失败.
	git push -u origin master -> 失败
# 4. 本地仓库pull远程仓库.
	git pull origin master
# 5. 打开UserController文件,查看到冲突,手动解决.
	...
# 6. 重新add + commit + push推送即可.
	add + commit + push

六. 在idea中操作Git.

1. idea整合本地的git.

file -> settings -> git -> 指定git executable 文件. -> Test

2. 安装插件.

file -> settings -> plugins -> .ignore -> enter -> install下载.ignore

现在的maven项目只需要提交src和pom.xml文件,需要忽略其他内容.
在.gitignore的文件中添加需要忽略的内容.

3. add + commit + push + pull

1. 将项目关联上git.
	VCS -> import Version Control -> Create Git Repository -> 选择目录 -> 默认使用当前项目目录
	
2. 具体操作.
	添加到暂存区: 右键项目 -> Git -> Add
	提交到本地分支: 右键项目 -> Git -> commit dirctory
	推送到远程仓库: 右键项目 -> Git -> Repository -> push
	拉取远程仓库: 右键项目 -> Git -> Repository -> pull

任务:

-> Create Git Repository -> 选择目录 -> 默认使用当前项目目录

  1. 具体操作.
    添加到暂存区: 右键项目 -> Git -> Add
    提交到本地分支: 右键项目 -> Git -> commit dirctory
    推送到远程仓库: 右键项目 -> Git -> Repository -> push
    拉取远程仓库: 右键项目 -> Git -> Repository -> pull

你可能感兴趣的:(Git安装,Giit简单命令,Git的IDEA使用)