IDEA中常见的git操作
文章插图
不知不觉 , svn已经退居历史 , git闪亮登场 。 现在的项目多人协同开发 , 首选git,开发工具idea用的比较多 , 所以 , 如何在idea上操作git成为了一个需要学会的小技能 。
如果你被git的本地分支、远程分支、合并、解决冲突等操作弄得不知所措 。 时间允许的话 , 先看一遍git官网的中文手册吧 , 内容由浅入深 , 从原理到命令操作 , 都有详细的介绍 。
下面来说明idea上git的常见操作 。
首先假设你已经安装好了git以及idea , 接下来在idea上做一下配置 , 即配置git.exe的路径 。
文章插图
idea不过是做了可视化界面 , 但所有操作其实内部还是会委托给git.exe去执行 。 所以 , 如果你是高手 , 直接用命令行操作git会更加畅快 。
首先假设我们的开发流程是这样的:
1、开发人员a从远端git仓库的master分支克隆一份到本地 , 本地的分支名称为branch-a , 随后开发a提交修改到本地;同样的开发人员b从远端git仓库克隆一份到本地 , 本地的分支名称为branch-b , 随后开发b提交修改到本地;
2、每次推送到远程分支的时候 , 最好先拉取远端master分支 , 将其最新的更改合并到本地分支 , 然后再推送本地分支到自己的远端分支 。 这样的操作是为了减少有代码冲突时不能合并分支的情况 。 冲突在拉取master合并到本地分支的时候去解决 。 所以开发a在将自己的代码推送到远端分支的时候 , 先拉取master分支 , 由于这个时候没有人将自己的分支合并到master,所以不会有任何冲突和问题 。 现在开发a放心的把自己的本地分支branch-a推送到远端分支branch-a 。
3、开发a发起了合并代码的请求:将远端分支branch-a合并到master分支 。
4、开发组长收到合并请求 , 代码审核通过之后 , 并通过对比没有发现冲突和问题 , 于是将远端的branch-a合并到了master分支 。
5、这个时候开发b也想要推送修改到远端分支 , 所以他先拉取master分支 , 然后发现代码冲突了 , 因为开发a和开发b都对同一个文件的同一行代码进行了不同的修改 。 开发b解决了冲突 , 将修改推送到远端分支branch-b , 并发起合并请求 。
6、开发组长审核之后 , 合并远端分支branch-b到master分支 。
7、继续各自修改代码 , 提交 , 拉取 , 推送 , 发起合并请求 。
下面的演示是根据上面的开发流程来做的:
1、首先为了方便 , 在github上先建立一个仓库:
文章插图
注意的是 , 该仓库需要首先放入一些文件 , 然后才会有master分支 。 然后其余人员才可以克隆并操作 。
2、开发a克隆仓库:
文章插图
文章插图
3、下拉下来的本地分支名称默认是master , 将其修改为branch-a 。 (idea右下角)
文章插图
这样做的目的是 , 便于本地分支切换 , 否则分不清哪个分支对应远端的分支了 。
文章插图
现在我们看到了 , 本地分支只有branch-a,当前本地分支是branch-a,远端分支有origin/master分支 。
4、为了演示方便 , 我在本地新建分支branch-b:
文章插图
现在本地有两个分支了:
文章插图
开发a在分支branch-a上开发 , 开发b在分支branch-b开发 , 互相不影响 。
5、接下来切换到branch-a , 开发a进行开发:
文章插图
点击branch-a > checkout 。
这个操作的意思是:从本地的.git文件中检出branch-a,工作目录的文件就会变成branch-a的文件 。
6、在branch-a中我们添加文件a.txt:
文章插图
文章插图
文件第一行是:心情很不错 。
7、接着开发a就把修改提交到本地git了:
文章插图
- 浙江省|浙江的五大富豪,四位做过中国首富,仅马云的阿里就1年纳税366亿
- 中关村|柳传志在这里被骗、掘金,书写半部科技史的中关村经历了什么?
- 运营商|信号走丢的锅该谁背?运营商:咱中国人别坑中国人……
- 支付宝|突破2项关键技术,中科院又立功了,事关量子计算和3D打印
- 物流|独立站是什么?怎么做?有哪些成本?独立站运营核心7大常见问题
- C++|嵌入式开发:C++中的结构与类
- 中兴|为数字化转型夯实地基,中兴成为企业转型的最佳拍档
- realme|vivo新机渲染图曝光:居中单孔直屏,直角中框+窄下巴,新系统
- 小米科技|中低收入群体也特别喜欢价格昂贵的iphone
- 人机|人机融合时代,中国机器人如何弯道超车