怎樣在Idea中使用Git,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
為沙依巴克等地區(qū)用戶(hù)提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及沙依巴克網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、沙依巴克網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專(zhuān)業(yè)、用心的態(tài)度為用戶(hù)提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶(hù)的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
在Idea視圖中GIT的分支信息在右下角,如果我們?cè)趓emote新建了分支,本地默認(rèn)不顯示,可以在上方導(dǎo)航:VCS-Update project 同步遠(yuǎn)程分支信息。
在IDEA右下角GTI視圖中,我們可以選擇分支進(jìn)行checkout,即新建/切換分支;
如果我們需要指定從哪個(gè)分支新建分支,則在GIT視圖中選擇分支-checkout As進(jìn)行新建
如果我們需要查看某個(gè)分支是從哪個(gè)分支拉的,我們可以使用命令:git reflog show childBranch 命令查看
--查看當(dāng)前分支 git branch --基于某個(gè)分支新建分支 git checkout 原分支名 --新建分支并切換 git checkout -b 新分支名稱(chēng) --然后使用git branch查看,分支已經(jīng)新建并切換
我們使用git checkout as分支后,分支默認(rèn)跟蹤的是checkout的分支,我們可以使用命令來(lái)查看當(dāng)前分支跟蹤的上游分支
--查看當(dāng)前分支的上游分支 git branch -vv --切換跟蹤的上游分支 git branch --set-upstream-to=origin/release_1001
刪除
--查看分支列表 git branch -a --刪除本地分支 git branch -D 分支名稱(chēng) --刪除遠(yuǎn)程分支 git push origin --delete 分支名稱(chēng)
恢復(fù)
刪除時(shí)會(huì)顯示被刪除的hash $ git branch -D dev Deleted branch dev (was 1a103dd). --恢復(fù)刪除 git branch dev 1a103dd(分支hash即可)
比如說(shuō)本地刪除了一個(gè)文件,需要遠(yuǎn)程覆蓋回來(lái)
git reset --hard origin/所在的分支
例如我們從test分支新建了dev分支,在dev分支上進(jìn)行了代碼改動(dòng)后,需要將dev的提交合并到test分支。
git視圖選擇test分支checkout切換到test
項(xiàng)目右鍵:git-repository-pull更新test分支
項(xiàng)目右鍵:git-repository-merge changes,選擇dev分支進(jìn)行合并
假設(shè)我們合并了一個(gè)分支,但是不想合并了,想撤銷(xiāo)這個(gè)合并的動(dòng)作
git merge --abort
master拉出分支dev,且都進(jìn)行了多次提交,此時(shí)master需要合并dev某一次的提交(可能是個(gè)緊急bug修復(fù))。
--1.切換到master分支 checkout master --2.git頁(yè)面上查看提交記錄(git log -n查看最近n條) git log -5 --3.選擇合并某個(gè)commit git cherry-pick 0601e177dd
然后就正常pull> push即可
一般情況下我們?nèi)绻枰喜⒋a,會(huì)使用git merge,但是還有一個(gè)比較強(qiáng)大的功能是rebase;rebase的意思是指將某個(gè)分支按照另一個(gè)分支重新設(shè)置基準(zhǔn);這樣的好處有:
rebase對(duì)比merge節(jié)點(diǎn)樹(shù)會(huì)顯示的更加清晰
rebase可以減少不必要的commit信息
假設(shè)我們有分支master,然后checkout出來(lái)一個(gè)dev,我們按照以下操作步驟來(lái)測(cè)試一下。
1.master 修改并commit 2.dev 修改并commit 3.master 修改并commit 4.dev修改并commit
如果我們的dev分支需要和master保持最新,避免無(wú)效修改,我們需要將master代碼合并到dev中。
//切換到dev分支 git checkout dev //dev分支同步master的提交 git rebase master
下圖是我們對(duì)比merge(左)和rebase(右)的節(jié)點(diǎn)樹(shù)顯示效果。
由上圖可以看出,merge后的節(jié)點(diǎn)樹(shù)會(huì)按照提交時(shí)間進(jìn)行排序;而dev重設(shè)基準(zhǔn)后,dev的提交都是在master后面顯示,由此可以保持提交信息的清晰。
注意,此情況在本地提交情況下使用
假設(shè)存在一種這樣的情況:我在本地修改了一個(gè)bug,commit了5次之后才修好,那么如果我吧這些push到remote,會(huì)導(dǎo)致gitlog很亂,其實(shí)這五個(gè)提交可以合并成一個(gè)。在這種情況下,我們可以使用rebase合并本地的commit。
首先我們?cè)诒镜剡M(jìn)行5次提交,git log如下:
然后我們使用git rebase -i 提交ID(注意這個(gè)id代表,合并這個(gè)id之后的所有提交,但是不包含這個(gè)id的,如果需要包含的話(huà)要往前找一下)
git rebase -i cf8525cd52c4bb87d3f11b4f721e6c1a8a3ac3f4
然后git會(huì)進(jìn)入vim頁(yè)面,我們可以按insert進(jìn)入編輯模式,填寫(xiě)對(duì)應(yīng)的操作;此處有三個(gè)參數(shù):
pick : 代表合并后的提交用這個(gè)提交的注釋
s : squash命令的簡(jiǎn)寫(xiě),代表合并提交中包含這個(gè)提交
d : 代表合并提交中排除這個(gè)提交
我們按需要更改參數(shù)后,esc退出編輯模式,:wq寫(xiě)入并退出,git會(huì)進(jìn)入下一步:填寫(xiě)合并的commit message界面:
同樣的我們進(jìn)入vim的編輯模式,注釋掉不需要的信息,并將5次提交的信息修改為bug fix 2,:wq寫(xiě)入并退出就完成了合并。
最后,我們分別在git命令和IDEA視圖中查看,我們的5次提交信息以及合并為bug fix 2。
本地進(jìn)行了修改,然后commit了;結(jié)果push的時(shí)候發(fā)現(xiàn)remote已經(jīng)被修改過(guò),我們使用pull命令后,會(huì)失敗,此時(shí)會(huì)提示: You have not concluded your merge.(MERGE_HEAD exists) 此時(shí)我們應(yīng)該:
備份本地?cái)?shù)據(jù)
放棄本地修改,遠(yuǎn)程reset本地
git fetch --all
git reset --hard origin/所在的分支
然后用備份的數(shù)據(jù)手動(dòng)合并本地再提交
關(guān)于怎樣在Idea中使用Git問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
分享題目:怎樣在Idea中使用Git
URL網(wǎng)址:http://vcdvsql.cn/article16/pesggg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站制作、做網(wǎng)站、電子商務(wù)、標(biāo)簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)