1.什么是Git
Git是一个分布式版本控制工具,主要用于管理开发过程中的源代码文件(Java类、xml文件、html页面等),在软件开发过程中被广泛使用。
在IDEA开发工具中可以集成Git(后面会讲解Git安装和集成过程):
2.使用Git能做什么
-
代码回溯:Git在管理文件过程中会记录日志,方便回退到历史版本
-
版本切换:Git存在分支的概念,一个项目可以有多个分支(版本),可以任意切换
-
多人协作:Git支持多人协作,即一个团队共同开发一个项目,每个团队成员负责一部分代码,通过Git就可以管理和协调
-
远程备份:Git通过仓库管理文件,在Git中存在远程仓库,如果本地文件丢失还可以从远程仓库获取
3.Git四个区域的介绍
工作目录:自己写代码的目录,此时和Git没什么关系(类名显示颜色为红色)
暂存区:通过add 将代码加入暂存区(类名显示为绿色)
本地仓库:暂存区代码通过commit 加入本地仓库管理(类名显示为黑色)
远程仓库:本地仓库的代码push到远程仓库管理
4.Git的安装
下载地址: Git - Downloads
下载之后基本是一键安装,默认就行,完整之后桌面右键是有如下内容的:
全局设置,打开Git Bash Here
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。在Git 命令行中执行下面命令:
设置用户信息
git config --global user.name "zsc"
git config --global user.email "xxx@qq.com"
查看配置信息
git config --list
注意:上面设置的user.name和user.email并不是我们在注册码云账号时使用的用户名和邮箱,此处可以任意设置。
5.Git远程仓库
git的前三个区域都在本机上,唯有远程仓库在网络,所以需要提前注册账号等操作
注册码云账号,注册网址: https://gitee.com/signup
创建远程仓库:
页面跳转到新建仓库页面:
解释说明:
仓库名称:必填,每个仓库都需要有一个名称,同一个码云账号下的仓库名称不能重复
路径:访问远程仓库时会使用到,一般无需手动指定,和仓库名称自动保持一致
开源:所有人都可以查看此仓库(遇到点不了开源,可以先私有创建,然后设置开源)
私有:只有此仓库的成员可见,其他人不可见
创建完成后可以查看仓库信息:
邀请别人使用
通过管理中的仓库成员管理,发链接过去邀请别人成为仓库成员。别人就可以克隆代码了。
5.Git在面板的操作(注意本地仓库和远程仓库都有,且都要会)
5.1本地
本地仓库常用命令如下:
-
git status 查看文件状态 (命令格式:git status)
-
git add 将文件的修改加入暂存区 (命令格式:git add fileName )
-
git reset 将暂存区的文件取消暂存或者是切换到指定版本
(取消暂存命令格式:git reset 文件名 |切换到指定版本命令格式:git reset --hard 版本号)
-
git commit 将暂存区的文件修改提交到版本库 (命令格式:git commit -m msg 文件名 )
-m:代表message,每次提交时需要设置,会记录到日志中
可以使用通配符*一次提交多个文件
-
git log 查看日志
发现每次提交都会产生一个版本号,提交时设置的message、提交人、邮箱、提交时间等信息都会记录到日志中
所以回退到指定版本的操作就是git log,查看要回退的版本,git reset --hard 版本号。就OK了
5.2远程
-
git remote 查看远程仓库
如果要查看已经配置的远程仓库服务器,可以执行 git remote 命令,它会列出每一个远程服务器的简称。
如果已经克隆了远程仓库,那么至少应该能看到 origin ,这是 Git 克隆的仓库服务器的默认名字
可以通过-v参数查看远程仓库更加详细的信息
本地仓库配置的远程仓库都需要一个简称,后续在和远程仓库交互时会使用到这个简称
-
git remote add 添加远程仓库
(命令格式:git remote add https://gitee.com/zhang-shichao-123/chuangjian.git)
-
git clone 从远程仓库克隆
(命令格式: git clone 远程仓库地址 )
Git 克隆的是该 Git 仓库服务器上的几乎所有数据(包括日志信息、历史记录等)
-
git push 推送到远程仓库
(命令格式:git push 远程仓库简称 分支名称 )这个简称就是git remote看到的origin
一个仓库可以有多个分支,默认情况下在创建仓库后会自动创建一个master分支
且你在本地仓库新建一个自己的分支,push到远程仓库,远程仓库也会多一个新分支
如果是第一次使用的话,应该会进行身份验证,输入码云的用户名密码就OK
-
git pull 从远程仓库拉取,作用是从远程仓库获取最新版本并合并到本地仓库
(命令格式:git pull 远程仓库简称 分支名称 )
注意:如果当前本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库拉取文件的时候会报错(fatal: refusing to merge unrelated histories )
解决此问题可以在git pull命令后加入参数--allow-unrelated-histories
5.3分支
1. 查看分支命令:git branch
git branch 列出所有本地分支
git branch -r 列出所有远程分支
git branch -a 列出所有本地分支和远程分支
2. 创建分支命令格式:git branch 分支名称
3. 切换分支命令格式:git checkout 分支名称
4. 推送至远程仓库分支命令格式:git push 远程仓库简称 分支命令
5. 合并分支就是将两个分支的文件进行合并处理,命令格式:git merge 分支命令
比如把dev 合并到 master
先check out 到最终分支master,然后git merge dev,就是把dev 合并到 master
6.IDEA使用Git
1.将你想要上传的代码用idea打开
2.file--setting--Version Control --Git,设置好安装Git的路径,
3.将代码add到暂存区
4.idea的右上角Git区域,有commit
5.右下角有分支的标志
此处填入远程仓库复制的链接,就可以连接上了
6.push
点击本地的分支名称,比如master,就会弹出一个窗口,里面有push
7.远程合并分支
有多个分支,希望向一个分支合并,
比如dev 合并到master
先切换到master
然后点击dev 选中 merge into Current命令
7.合并冲突问题
比如主机1,先push了代码;主机2,再push代码。
到同一个分支,这是会提示主机2,有代码冲突,是保留自己的,还是保留他人的。
想要都留下来也很简单,把自己的贴在后面就OK了。毕竟每一次的提交都是有版本号的,也可以回退。