目录

一、Git简介

1.1 项目的版本管理

1.2 团队协同开发

1.3 版本管理工具-Git

二、Git下载及安装

2.1 下载Git

2.2 安装Git

 2.3 测试

三、原理及结构

 四、Git基本使用

4.1 创建版本库

 4.2 查看版本库状态

4.3 将工作空间的修改add添加到暂存区

4.4 将暂存区内容提交到版本库(仓库)

4.5 查看版本库中的历史版本

4.6 设置用户信息

4.7 同步历史版本到工作空间

五、远程仓库

5.1 远程仓库简介

5.2 获取远程仓库

5.3 创建远程仓库(码云)

 六、远程仓库操作

6.1 准备工作

6.2 本地仓库关联远程仓库

6.3 查看远程仓库状态

 6.4 将本地仓库push到远程仓库

6.5 开发者pull远程仓库到本地

 6.6 解决协同开发冲突问题

七、分支管理

7.1 何为分支

7.2 分支特性

7.3 分支操作 

 八、IDEA整合Git使用

8.1 IDEA关联Git

 8.2 IDEA中Git版本管理

1. 创建本地版本库

 2. 设置忽略文件

3. 将工作空间add到暂存区

4. 将暂存区提交到版本库

8.3 IDEA中Git分支管理

1. 创建分支

2. 切换分支

 3. 删除分支

 4. 合并分支

 8.4 IDEA中使用Git进行团队协同开发

1. 项目管理者

 2. 项目开发者

 8.5 解决团队协同开发冲突问题


Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

一、Git简介

1.1 项目的版本管理

在项目开发过程中,项目没开发到一个节点就会对当前项目进行备份,这个备份就是项目的一个版本。若继续开发开发一个阶段之后,再次进行备份,就会生成新的版本-多个版本的集合就是项目的版本库。

在项目版本管理中,可以使用手动进行管理,但是存在一些问题:

  • 需手动维护版本的更新日志,记录每个版本的变化;
  • 需手动查找历史版本,当历史版本比较多时,查找工作很繁琐;
  • 若需回退到某个版本时,只能手动通过IDE工具手动打开;

1.2 团队协同开发

如今的项目,规模越来越大,功能越来越多,需要有一个团队进行开发。如果有多个开发人员共同开发一个项目,如何进行协作的呢。Git提供了一个非常好的解决方案 ---- 多人协作开发。

1.3 版本管理工具-Git

Git是一个开源的分布式版本控制系统,用于敏捷高效的处理任何带大小项目的版本管理。

核心功能:

  • 项目的版本管理;
  • 团队协同开发;

二、Git下载及安装

2.1 下载Git

Githttps://git-scm.com/

2.2 安装Git

按照提示安装即可,傻瓜式安装!

 2.3 测试

cmd输入命令:git --version

三、原理及结构

 四、Git基本使用

4.1 创建版本库

  • 在工作空间的目录中,右键“Git Bash Here”
  • 输入git init指令,创建版本库(就是一个.git目录)

 4.2 查看版本库状态

git status

4.3 将工作空间的修改add添加到暂存区

git add a.txt  表示只将工作空间中的某个文件add到暂存区

git add .  表示将工作空间中所有文件都add到暂存区

4.4 将暂存区内容提交到版本库(仓库)

git commit -m '版本说明'

4.5 查看版本库中的历史版本

git log  --oneline  # oneline表示每个版本信息只显示一行

get log   # 显示每个版本的详细信息

4.6 设置用户信息

将暂存区的内容提交到版本时,会记录当前版本提交的用户信息,因此在版本提交之前需先绑定用户的信息。

git config --global user.name '名字'

git config --global user.email '邮箱'

4.7 同步历史版本到工作空间

换言之,将工作空间同步到哪个版本!这样工作空间的项目就会更新!其中Head表示当前的版本。

 git checkout 版本号

五、远程仓库

5.1 远程仓库简介

5.2 获取远程仓库

  • 使用GitLab搭建私服

  • 远程仓库提供商 

         1)GitHub https://github.com

         2)Gitee(码云)  https://gitee.com

         3)Coding

5.3 创建远程仓库(码云)

  • 注册账号
  • 创建远程仓库

https://gitee.com/xsbcai/java2022.githttps://gitee.com/xsbcai/java2022.git

  • 远程仓库管理(添加开发人员) 

 六、远程仓库操作

6.1 准备工作

1)创建本地工作空间

C:\Users\admin\MyProject\Git\XiaoChen
    src
        main
            java
            resources
        test
            java
    pom.xml

2)初始化本地仓库

git init

3)将工作空间的项目add到暂存区

git add .

4)将暂存区文件提交到版本库,生成第一版本

git commit -m '创建项目'

5)为当前项目创建一个远程仓库

年华追梦/XiaoChenhttps://gitee.com/xsbcai/xiaochen.git

6.2 本地仓库关联远程仓库

建立C:\Users\admin\MyProject\Git\XiaoChen中的本地仓库和远程仓库的关联年华追梦/XiaoChenhttps://gitee.com/xsbcai/xiaochen.git

 git remote add origin https://gitee.com/xsbcai/xiaochen.git

origin 代表给远程仓库取的别名

6.3 查看远程仓库状态

git remote -v

 6.4 将本地仓库push到远程仓库

git push origin main/master

  • main/master是根据Git Bash右端显示,origin代表仓库别名,别名一定要一致,push到远程仓库需要gitee的账号和密码

6.5 开发者pull远程仓库到本地

其他开发者:账号

1)先创建本地仓库

  • 创建RemoteChen目录,进入此目录,打开Git客户端 ,比如C:\Users\admin\MyProject\Git\RemoteChen
  • 创建本地版本库(git init)

2)拉取远程仓库到本地

  • 拉取远程仓库
git pull 远程仓库地址 master/main(根据默认而定)

 6.6 解决协同开发冲突问题

场景:

开发者1:小李开发者2:小王
git pull xsbc master(main)git pull xsbc master(main)
在Hello在HelloWorld.java新增内容“bbb”
在Hello在HelloWorld.java新增内容“aaa”

git add .

git commit -m ''

git push xsbc master

git add .

git commit -m ''

git push xsbc master【会失败!

原因分析

  • 在小李pull之后,push之前被其他开发人员push过

如何解决?

  • git pull xsbc master 【将小王修改的内容拉取到小李本地】,此时HelloWorld.java
<<<<<<< HEAD
aaa
=======
bbb
>>>>>>> c17dc45c80272240fb02467d9be937238b6efb2b
  • 对文件进行冲突合并
  • git add .
  • git commit -m ''
  • git push xsbc master

七、分支管理

7.1 何为分支

分支就是版本库中记录版本位置(支线),分支之间项目会影响,使用分支可以对项目起到保护作用;

分支就是一条时间线,每次提交就在这条时间线上形成一个版本;

7.2 分支特性

  • 创建一个新的版本库,默认创建一个主分支(master/main分支)
  • 每个分支可以进行单独管理(常规分支、保护分支、只读分支)
  • 分支是可以合并的

7.3 分支操作 

查看分支:git branch 
创建分支:git branch branch_name 
切换分支:git checkout branch_name 
剪出分支(创建一个新分支并切换到此分支):git checkout 项目版本 -b branch_name
合并分支:git merge branch_name(将branch_name合并到当前分支上)
删除本地分支:git branch -d localBranchName
删除远程分支:git push origin(远程仓库名称) --delete remoteBranchName(分支名字)

 

 八、IDEA整合Git使用

作为Java开发工程师,代码的编写工作都是在IDEA工具中完成。

8.1 IDEA关联Git

 8.2 IDEA中Git版本管理

准备工作:打开IDEA使用springboot新建一个web工程

1. 创建本地版本库

 2. 设置忽略文件

在工作空间中有些文件是不需要记录到版本库中,例如.idea、target、.iml文件,可以通过设置忽略提交来实现。

  • 在工作空间的根目录(项目的根目录)中创建一个名为.gitignore文件;
  • .gitignore文件配置忽略过滤文件;

3. 将工作空间add到暂存区

  •  选择项目/某个文件-右键-Git-Add;注意:添加到暂存区的文件-绿色 

  • 若一个文件创建好还没添加到暂存区-棕红色

  • 添加到暂存区的操作可以设置默认添加,如下;

4. 将暂存区提交到版本库

  • 选择项目/文件-右键-Git-CommitDirectory;注意:添加到版本库的文件-黑色 
  • 若对记录到版本库的文件进行修改,换言之工作空间和版本库不一致-蓝色

8.3 IDEA中Git分支管理

1. 创建分支

  • 点击IDEA右下角Git

  • 在弹窗中点击New Branch
  • 输入新分支的名称;

2. 切换分支

  •  点击IDEA右下角Git

  • 点击非当前分支右边的星号;

  • 在选项卡点击‘checkout’

 3. 删除分支

 4. 合并分支

例如:将dev分支合并到main

  • 切换到main分支;
  • 点击dev分支右边的箭头,在展开菜单中点击‘Merge into Current’

 8.4 IDEA中使用Git进行团队协同开发

1. 项目管理者

1)完成项目搭建

2)为当前项目创建本地版本库

3)将搭建好的项目提交到本地版本库

  • add到暂存区
  • commit到版本库

4)创建远程版本库(远程仓库)

https://gitee.com/xsbcai/git-jd.githttps://gitee.com/xsbcai/git-jd.git

  • 管理-添加开发者

5)将本地仓库push到远程仓库(main分支-main分支)

 

 6)在远程仓库checkout新建本地dev分支(mian/master分支需进行保护)

 

 

  •  虽然选择是在远程仓库创建分支dev,但在本地会创建一个dev分支,那如何解决远程仓库了?

 7)将本地dev分支push到远程仓库,新建远程仓库的dev分支

继续push本地dev到远程dev

 8)设置远程仓库中main(master)为保护分支

 2. 项目开发者

1)从管理员提供的远程仓库pull项目

https://gitee.com/xsbcai/git-jd.githttps://gitee.com/xsbcai/git-jd.git

 2)打开项目(此时本地工作空间的项目和远程仓库是同步的)

3)开发步骤:

  • 选择要修改的文件或目录-右键-Git-pull
  • 进行修改操作
  • 测试本地修改
  • add到暂存区
  • commit到本地版本库
  • push到远程仓库(dev)

 8.5 解决团队协同开发冲突问题

冲突:在pull之后,push之前被其他开发者push成功,出现push失败?

 解决方法:

  • 选择产生冲突的文件-右键-Git-pull
  • 弹出窗口提示:accept yours|accept theirs|Merge

        1)accept yours:保留自己的版本(提交时会覆盖其他开发者代码)

        2)accept theirs:保留远程仓库上的版本(会导致自己修改代码丢失)

        3)Merge:手动合并(和其他开发者沟通合并方案)

 完结!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐