当前位置: 首页 > news >正文

使用IDEA使用Git:Git使用指北——实际操作篇

Git使用指北——实际操作

🤖:使用IDEA Git插件实际工作流程

⭐从远程仓库中拉取项目

  1. 在Gitee上找到远程仓库的位置,复制该项目的链接。

  2. 在IDEA中选择使用版本控制软件来新建项目。

  3. 将刚刚复制的项目链接复制到URL当中。

    具体在IDEA中的流程如下所示:

请添加图片描述

⭐⭐ 在本地分支进行开发

当使用Git项目来管理本地的项目后:我们就可以在本地进行项目开发了。

当你完成了第一步(从远程仓库拉取项目)之后默认显示的项目是主分支。请注意,当你需要编写代码时并不建议你在本地的主分支当中进行编写。本地主分支的作用只应该是让本地主分支与远程主分支保持一致【也就是说你需要在本地主分支中频繁地拉取代码 update peoject】你需要建立一个本地自己的分支,在自己的分支内进行代码编写。

在这里插入图片描述

⭐⭐⭐ 把分支代码提交到远程分支

当编写完代码之后,你需要把本地自己分支的代码提交到远程仓库自己分支当中,只有当你把自己的代码提交到远程仓库之后,远程仓库的管理员才能对你的代码进行审核,当管理员觉得代码没有问题后管路员会将你的代码Merge(合并)到主分支形成一个稳定的版本。

在IDEA的右上角有一些常用的Git操作按钮它们分别是:update commit push

update project 点击按钮后会使 当前本地分支(当前所在分支)的代码 与远程分支上的代码保持一致。

commit 每次要切换分支时;都要使用commit按钮 把工作代码提交到Git的工作区当中。

push 点击按钮后会把在本地分支中的操作 提交到远程跟踪的分支中。

❗❗每次要提交工作代码之前都需要检查当前本地分支的代码是否和主分支保持一致,换句话说就是自己当前开发的代码是不是基于最新代码(Master Branch)上编写的。如果你想提交代码到自己的分支具体来讲你有两种方法【推荐使用基于Rebase的方法】:

  • 基于Merge方法提交代码

    1. 在本地自己分支开发完代码后 进行 commit操作
    2. Checkout 操作 到主分支
    3. 在 主分支上进行 update project操作
    4. 在本地分支上选择主分支进行 merge into current 操作
    5. 如果出现冲突请解决冲突
    6. 把自己分支的代码Push操作 到远程分支

    具体IDEA操作如下图所示:

在这里插入图片描述

  • 基于Rebase方法提交代码

    ReBase的本意是让远程分支保持干净清爽。并且团队开发人员使用Rebase方法提交也可以减轻主分支管理者的管理成本(把遇到冲突后解决冲突的操作交给了开发人员进行),提升管理和开发效率。

    1. 切换到本地Master主分支;拉取主分支的最新代码(Update Project)
    2. 切换到自己的分支 CheckOut 【branchName】
    3. 在自己的分支内选择 master brach【主分支】并选择 Rebase currented onto selected
    4. 解决遇到的冲突问题(confilicts)
    5. 把代码提交到自己的分支(push)
      在这里插入图片描述

❗❗Other:管理者如何管理Master分支

  1. RollBack操作
  2. 主分支内不要使用rebase操作
  3. 当远程仓库上传了多余的文件时怎么办?

因为本文是偏实用向,只是大概告诉了大家我们如何使用Git来进行多人协作代码开发,其中有许多类似原理的知识并没有进行讲解,如果在实际开发过程中出现了什么问题也可以自行进行搜索。下面附上了学习Git很好的学习资料,希望对你有用 😀

http://www.lryc.cn/news/92838.html

相关文章:

  • java boot将一组yml配置信息装配在一个对象中
  • 【裸机开发】链接脚本(.lds文件)的基本语法
  • Java 进阶 -- 集合(三)
  • 【华为OD机试真题 C语言】5、TLV解析 | 机试真题+思路参考+代码解析
  • (七)CSharp-刘铁锰版-事件
  • 【ROS】郭老二博文之:ROS目录
  • Android应用程序进程的启动过程
  • 【2】Midjourney注册
  • 第六十八天学习记录:高等数学:导数(宋浩板书)
  • unreal 5 实现角色拾取功能
  • chatgpt赋能python:如何使用Python升序排列一个列表?
  • Lecture 20 Topic Modelling
  • ThreadPoolExecutor线程池
  • chatgpt赋能python:Python实践:如何升级pip
  • 【JavaEE进阶】mybatis
  • Redis的大key
  • MMPretrain
  • 栈和队列(数据结构刷题)[一]-python
  • 【备战秋招】JAVA集合
  • setState详解
  • Qt5.12.6配置Android Arm开发环境(windows)
  • 七、进程程序替换
  • C++核心编程——详解运算符重载
  • 2023年前端面试汇总-CSS
  • Java调用Pytorch实现以图搜图(附源码)
  • 【EasyX】实时时钟
  • 基于XC7Z100的PCIe采集卡(GMSL FMC采集卡)
  • Kibana:使用 Kibana 自带数据进行可视化(一)
  • MySQL数据库基础 07
  • JVM | JVM垃圾回收