电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解使用IDEA模擬git命令使用的常見場景

瀏覽:5日期:2024-07-17 08:29:03

大家好,最近白澤第一次開始參與小組合作開發,以前都是自己用git保存自己的代碼,自己維護,用git的場景也比較單一,沒有遇到過拉取代碼合并出現沖突的問題。但是小組開發拉取遠程倉庫的代碼時,遇到他人所提交代碼與自己的本地代碼出現沖突在所難免,所以白澤特意去學習了一下git的沖突處理,接下來用一個小demo復現一下我學習的過程

前期準備

新建一個遠程倉庫

詳解使用IDEA模擬git命令使用的常見場景

在一個文件夾內建立兩個子文件夾作為兩個本地倉庫的存放位置

之所以建立兩個文件夾,這樣做的目的是為了模擬兩個用戶對同一個項目進行合作開發,假設demo1為用戶A的本地倉庫,demo2為用戶B的本地倉庫,后面會用兩個本地倉庫模擬多人開發中會遇到一些常見場景,并給出解決方案

詳解使用IDEA模擬git命令使用的常見場景

在demo1文件夾中新建test1與test2兩個文件作為demo1倉庫的初始內容,此時demo2文件夾為空

詳解使用IDEA模擬git命令使用的常見場景

本地倉庫與遠程倉庫建立聯系

下面這張圖是新建git遠程倉庫成功之后顯示的提示文檔,指示你該如何將本地倉庫與遠程倉庫建立聯系,我給出了每條命令的解釋

詳解使用IDEA模擬git命令使用的常見場景

echo '# 內容' >> README.md //生成一個幫助文檔,可以不通過命令行創建,也可以不創建git init//將當前文件夾初始化為一個git本地倉庫git add README.md//將README.md添加到暫存區git commit -m '第一次提交'//將暫存區中的文件提交到本地的git倉庫git branch -M main//將當前分支重命名為maingit remote add origin git@github.com:BaiZe1998/git-idea-demo.git//添加遠程倉庫(建立聯系)git push -u origin main//將本地倉庫當前分支的內容推送到遠程倉庫的main分支,使用-u參數后以后推送如果不加origin main,就會默認推動到origin的main分支

此時依舊在git-idea-demo1的文件夾內,在下方的終端輸入處輸入上述所有的命令,結束之后結果應該與下圖相同

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

細心的你發現遠程倉庫的內容確實更新了,但是有一個問題就是你發現遠程庫并沒有test1.txt與test2.txt兩個文本文件,原因在于上面我們使用了一個命令 git add README.md,這個命令只是將README.md這一個文件添加到緩存區,后面的 git commit -m '第一次提交' 負責將緩存區中內容全部提交到本地倉庫,然后由git push -u origin main命令將本地倉庫內容全部推送到遠程倉庫,為了使得我們遠程倉庫也能同步test1.txt與test2.txt必須一開始就將這兩個文件加入本地的緩存區

接下來通過輸入三行代碼將test1.txt與test2.txt同步到遠程倉庫

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

git add .//表示將當前文件夾內所有文件加入緩存區git commit -m'描述信息' //提交時可以添加一些描述信息'git push//第一次使用了git push -u origin main之后下一次提交只需要git push簡寫即可

最后遠程倉庫也同步了本地倉庫的數據,我們的準備工作也做好了,接下來正式開始模擬兩個用戶協同開發時會遇到的場景

詳解使用IDEA模擬git命令使用的常見場景

模擬兩個用戶協同開發的場景(使用IDEA自帶界面操作,不使用命令行)

假設:員工A是某公司的老員工,員工B是公司的新人

推送代碼到遠程倉庫(當只有一個人在維護遠程倉庫時)

事實上上述操作git的步驟都是使用了git的命令行操作的方式,并沒有發揮出IDEA的強大,接下來將盡量使用IDEA的界面上的可視化按鍵去完成對git的操作

當員工B還未加入到員工A的開發小組,整個項目只有員工A在維護的時候,員工A在自己的新建了test3.txt,接下來將該文件添加到緩存區,并提交到本地倉庫,然后再從本地倉庫推送到遠程倉庫(修改->添加->提交->推送,這是很常見的一個git操作流程,注意接下來將不使用命令行操作) 修改項目內容(添加了test3.txt)

詳解使用IDEA模擬git命令使用的常見場景

添加到緩存區

詳解使用IDEA模擬git命令使用的常見場景

提交到本地倉庫,并且選擇commit and push

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

遠程倉庫完成了數據的同步

詳解使用IDEA模擬git命令使用的常見場景

克隆遠程倉庫項目

今天員工B被分配到員工A所在的小組參與開發,所以他首先要將小組當前正在開發的分支的項目代碼從遠程倉庫克隆到本地,首先用IDEA打開git-idea-demo2文件夾,在終端Terminal處輸入git clone 遠程倉庫的地址將整個項目拷貝到git-idea-demo2文件夾內

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

注意,雖然員工B在git-idea-demo2文件中用了克隆,但是git-idea-demo2中的git-idea-demo文件才是員工B本地倉庫的存放文件(進入之后看到.git文件在哪個文件夾內,哪個文件夾就是本地倉庫文件夾)

詳解使用IDEA模擬git命令使用的常見場景

拉取遠程倉庫的代碼(遠程倉庫與本地倉庫無沖突) 就在員工B開始正式參與A小組的開發,當前他還未對上一次克隆下來的版本的代碼做任何修改,在準備開始編碼前,他又嘗試去遠程倉庫拉取最新的代碼(因為員工A有可能又提交了新的修改的版本) 為了滿足情景,我們讓員工A修改一下test3.txt,然后推送到遠程倉庫

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

員工B拉取遠程倉庫的最新版本的代碼,選擇第一個,將要修改的代碼合并到當前分支

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

此時員工B本地倉庫的main分支已經已經合并了員工A提交到遠程倉庫main分支上的修改(注意此時員工B,從遠程倉庫拉取代碼,將代碼合并到本地倉庫,都是IDEA自動完成,這只有在沒有沖突發生的情況下才能做到)

詳解使用IDEA模擬git命令使用的常見場景

拉取遠程倉庫的代碼(遠程倉庫與本地倉庫有沖突)

員工B修改了test3的代碼,并且執行添加->提交->推送

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

接下來員工A也修改了test3.txt文件,這次將原來的第一行內容改變(此時員工A還沒有去拉取遠程倉庫的代碼),然后在提交修改之前員工A又去拉取遠程倉庫的代碼(提交自己的更改前拉取遠程倉庫代碼是一個好的習慣)

詳解使用IDEA模擬git命令使用的常見場景

發生了沖突,因為員工A本地所做的修改是在員工B推送到遠程倉庫的前一版本的基礎上做的修改,而員工B的推送使得遠程倉庫的最新版本與員工A本地版本不同(很明顯員工B修改了test3文件,而員工A本地也在修改test3文件,如果貿然將遠程倉庫的代碼合并到員工A的本地,遠程倉庫的代碼很有可能覆蓋掉員工A當前所做的修改,所以此時需要手動處理沖突,選擇最終需要保留的部分)

詳解使用IDEA模擬git命令使用的常見場景

手動處理沖突,最終選擇保留A自己的修改,以及額外又添加上了第三行修改

詳解使用IDEA模擬git命令使用的常見場景

員工A將修改推送到遠程倉庫(本次整體的流程為:拉取->處理沖突(如果有)->添加->提交->推送)

詳解使用IDEA模擬git命令使用的常見場景

詳解使用IDEA模擬git命令使用的常見場景

到此這篇關于詳解使用IDEA模擬git命令使用的常見場景的文章就介紹到這了,更多相關IDEA模擬git命令使用內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: IDEA
相關文章:
主站蜘蛛池模板: 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | 中国产业发展研究网 - 提供行业研究报告 可行性研究报告 投资咨询 市场调研服务 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 游泳池设备安装工程_恒温泳池设备_儿童游泳池设备厂家_游泳池水处理设备-东莞市君达泳池设备有限公司 | 书法培训-高考书法艺考培训班-山东艺霖书法培训凭实力挺进央美 | 对夹式止回阀_对夹式蝶形止回阀_对夹式软密封止回阀_超薄型止回阀_不锈钢底阀-温州上炬阀门科技有限公司 | 千斤顶,液压千斤顶-力良企业,专业的液压千斤顶制造商,shliliang.com | 有机肥设备生产制造厂家,BB掺混肥搅拌机、复合肥设备生产线,有机肥料全部加工设备多少钱,对辊挤压造粒机,有机肥造粒设备 -- 郑州程翔重工机械有限公司 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 泰国试管婴儿_泰国第三代试管婴儿_泰国试管婴儿费用/多少钱_孕泰来 | 江西自考网-江西自学考试网 | 广西教师资格网-广西教师资格证考试网 | 杭州月嫂技术培训服务公司-催乳师培训中心报名费用-产后康复师培训机构-杭州优贝姆健康管理有限公司 | 旅游规划_旅游策划_乡村旅游规划_景区规划设计_旅游规划设计公司-北京绿道联合旅游规划设计有限公司 | 扬尘监测_扬尘监测系统_带证扬尘监测设备 - 郑州港迪科技有限公司 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 匀胶机旋涂仪-声扫显微镜-工业水浸超声-安赛斯(北京)科技有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 大_小鼠elisa试剂盒-植物_人Elisa试剂盒-PCR荧光定量试剂盒-上海一研生物科技有限公司 | 便民信息网_家电维修,家电清洗,开锁换锁,本地家政公司 | 干式变压器厂_干式变压器厂家_scb11/scb13/scb10/scb14/scb18干式变压器生产厂家-山东科锐变压器有限公司 | 耐压仪-高压耐压仪|徐吉电气| 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | 压接机|高精度压接机|手动压接机|昆明可耐特科技有限公司[官网] 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 高博医疗集团上海阿特蒙医院 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 贵阳用友软件,贵州财务软件,贵阳ERP软件_贵州优智信息技术有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 纯水电导率测定仪-万用气体检测仪-低钠测定仪-米沃奇科技(北京)有限公司www.milwaukeeinst.cn 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 手术室净化装修-手术室净化工程公司-华锐手术室净化厂家 | 铸铁平台,大理石平台专业生产厂家_河北-北重机械 | 玻璃钢罐_玻璃钢储罐_盐酸罐厂家-河北华盛节能设备有限公司 | 合肥通道闸-安徽车牌识别-人脸识别系统厂家-安徽熵控智能技术有限公司 |