色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

前期準(zhǔn)備

新建一個遠(yuǎn)程倉庫

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

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

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

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

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

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

本地倉庫與遠(yuǎn)程倉庫建立聯(lián)系

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

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

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

此時依舊在git-idea-demo1的文件夾內(nèi),在下方的終端輸入處輸入上述所有的命令,結(jié)束之后結(jié)果應(yīng)該與下圖相同

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

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

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

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

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

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

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

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

最后遠(yuǎn)程倉庫也同步了本地倉庫的數(shù)據(jù),我們的準(zhǔn)備工作也做好了,接下來正式開始模擬兩個用戶協(xié)同開發(fā)時會遇到的場景

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

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

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

推送代碼到遠(yuǎn)程倉庫(當(dāng)只有一個人在維護(hù)遠(yuǎn)程倉庫時)

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

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

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

添加到緩存區(qū)

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

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

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

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

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

遠(yuǎn)程倉庫完成了數(shù)據(jù)的同步

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

克隆遠(yuǎn)程倉庫項目

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

標(biāo)簽: IDEA
相關(guān)文章:
主站蜘蛛池模板: 嫩草一区二区三区四区乱码 | 欧美激情一区二区亚洲专区 | 亚洲日本va午夜中文字幕 | 成人免费在线观看视频 | 欧美日本韩国一区二区 | 国产大乳喷奶水在线看 | 成人欧美一区二区三区在线观看 | 久久精品福利视频在线观看 | 欧美大陆日韩 | 国产精品免费观在线 | 国产呦系列呦交 | 自拍视频啪 | 久久亚洲精品中文字幕第一区 | 欧美高清亚洲欧美一区h | 欧美视频在线观看网站 | 精品欧美激情在线看 | 国产精品分类视频分类一区 | 91成人免费观看网站 | 国产精品亚洲一区在线播放 | 国产一级一级一级国产片 | 亚洲成年网站在线观看 | 欧美成人手机视频免费播放 | 欧美一区二区三区四区在线观看 | 日韩精品一区二区三区不卡 | 国产在线视频h | 欧美人拘一级毛片 | 一级成人黄色片 | 俄罗斯小屁孩cao大人免费 | 美女一级视频 | 成人在线免费观看视频 | 国语精品视频在线观看不卡 | 免费一区二区三区 | 午夜欧美成人久久久久久 | 欧美黑寡妇特a级做爰 | 性久久久久久久久久 | 成人免费视频网址 | 久久91亚洲精品久久91综合 | 九九视频免费观看 | 色拍拍在精品视频69影院在线 | 亚洲国产情侣一区二区三区 | 久草视频资源 |