Idea中的git命令使用詳解(包括現(xiàn)象含義)
梳理記錄一下,在IDEA中常用的git命令,希望能幫到小伙伴們~
命令1:查看當(dāng)前所處分支:
D:\workspace\IdeaProjects\guliMall>git branch
現(xiàn)象:會(huì)顯示出來(lái)當(dāng)前所有的分支,并且當(dāng)前分支會(huì)有特殊顯示,前面帶*標(biāo)識(shí)
命令2:拉取最新代碼:
D:\workspace\IdeaProjects\guliMall>git pull
現(xiàn)象1:這是遠(yuǎn)程分支沒(méi)有更新的內(nèi)容,所有沒(méi)拉取到更新
現(xiàn)象2:這是代表 從遠(yuǎn)程拉取到了一些代碼更新,其中fast-forward的更新的內(nèi)容,其中綠色加號(hào)的代表一共有55處新增,紅色的代表刪除了一共有7處修改,有新增有刪除
命令3:切換分支:
git checkout dev
現(xiàn)象1:代表本地從當(dāng)前分支切換到dev分支;下面的提示代表已經(jīng)成功切換到,并且切換后的dev分支內(nèi)容和遠(yuǎn)程分支內(nèi)容一致;
witched to branch 'master' Your branch is up to date with 'origin/master'.
提示解釋:這條信息表示你已經(jīng)成功切換到了名為 ‘master’ 的分支,并且這個(gè)分支與遠(yuǎn)程倉(cāng)庫(kù)(origin)中的 ‘master’
分支是同步的,即你的本地 ‘master’ 分支是最新的,沒(méi)有落后于遠(yuǎn)程倉(cāng)庫(kù)的 ‘master’ 分支。在Git中,分支是用來(lái)并行開發(fā)不同功能的工具。‘master’
分支通常被用作主分支,包含穩(wěn)定且可發(fā)布的代碼。當(dāng)你需要開始一個(gè)新的功能開發(fā)或修復(fù)一個(gè)bug時(shí),你可能會(huì)創(chuàng)建一個(gè)新的分支來(lái)工作,以避免影響主分支的穩(wěn)定性。完成工作后,你可以將這個(gè)新分支合并回
‘master’ 分支,或者將 ‘master’ 分支的更新合并到你的分支中,以保持代碼的同步。這條信息告訴你,你現(xiàn)在正在 ‘master’
分支上工作,并且這個(gè)分支是最新的,沒(méi)有需要拉取的更新。如果你想要開始新的工作,你可能需要?jiǎng)?chuàng)建一個(gè)新的分支;如果你只是想確保你的
‘master’ 分支是最新的,那么你已經(jīng)完成了這一步。
現(xiàn)象2:切換的分支名稱錯(cuò)誤
**現(xiàn)象3:**比如當(dāng)前是dev分支,我切換到test分支之后,提示
Switched to branch ‘feature-20240828-test’
Your branch is ahead of ‘origin/feature-20240828-test’ by 4 commits.
(use “git push” to publish your local commits)
這條信息表示你已經(jīng)成功切換到了名為 feature-20240828-test 的分支,并且這個(gè)分支在你的本地有4個(gè)提交是領(lǐng)先于遠(yuǎn)程分支 origin/feature-20240828-test 的。這意味著你在本地對(duì)這個(gè)分支做了一些修改(比如增加了新功能、修復(fù)了bug等),并且這些修改還沒(méi)有被推送到遠(yuǎn)程倉(cāng)庫(kù)中。
針對(duì)于現(xiàn)象3中的情況,
如果你想要將這些修改分享給其他人,或者確保你的修改在遠(yuǎn)程倉(cāng)庫(kù)中得到保存,你需要執(zhí)行 git push 命令。這個(gè)命令會(huì)將你本地的修改推送到遠(yuǎn)程倉(cāng)庫(kù)的 feature-20240828-test 分支上。
git push origin feature-20240828-test
執(zhí)行 git push 時(shí),你可能會(huì)遇到幾種情況:
- 成功推送:如果遠(yuǎn)程倉(cāng)庫(kù)的 feature-20240828-test 分支沒(méi)有其他人的提交,或者即使有,Git 能夠自動(dòng)合并這些提交,那么你的推送將會(huì)成功。
- 合并沖突:如果遠(yuǎn)程倉(cāng)庫(kù)的 feature-20240828-test 分支在你推送之前已經(jīng)有了新的提交,并且這些提交與你本地的提交有沖突,Git 會(huì)阻止你推送,并要求你先解決這些沖突。這通常涉及到拉取遠(yuǎn)程倉(cāng)庫(kù)的最新更改(git pull 或 git fetch 后合并),解決任何沖突,然后再次嘗試推送。
- 權(quán)限問(wèn)題:如果你沒(méi)有足夠的權(quán)限向遠(yuǎn)程倉(cāng)庫(kù)推送更改,Git 會(huì)顯示一個(gè)錯(cuò)誤消息。在這種情況下,你需要聯(lián)系倉(cāng)庫(kù)的管理員來(lái)獲取必要的權(quán)限。
注意:在git push命令時(shí) ,明確指定遠(yuǎn)程倉(cāng)庫(kù)和分支是一個(gè)好習(xí)慣,特別是當(dāng)你處理多個(gè)遠(yuǎn)程倉(cāng)庫(kù)或多個(gè)分支時(shí);
命令4:從當(dāng)前某個(gè)分支創(chuàng)建新分支:
D:\workspace\IdeaProjects\guliMall>git branch dev
現(xiàn)象:控制臺(tái)無(wú)提示
可以看到idea右下角已經(jīng)出現(xiàn)了剛新建的dev分支;
命令5:建新分支并立即切換到該分支
命令: git checkout -b (branchname)
我們也可以使用 git checkout -b (branchname) 命令來(lái)創(chuàng)建新分支并立即切換到該分支下,從而在該分支中操作
命令6:刪除分支
刪除分支命令: git branch -d (branchname)
現(xiàn)象:是因?yàn)槟惝?dāng)前就在dev分支,所以無(wú)法刪除當(dāng)前分支,如果你想刪除dev分支,你需要先跳轉(zhuǎn)到別的分支,然后再去刪除這個(gè)分支之外的其他分支;
如下圖所示,刪除dev_test分支
在idea又下角可以看到dev_test分支消失了
命令7:分支推送遠(yuǎn)程
D:\workspace\IdeaProjects\guliMall>git push Enumerating objects: 21, done. Counting objects: 100% (21/21), done. Delta compression using up to 16 threads Compressing objects: 100% (8/8), done. Writing objects: 100% (11/11), 785 bytes | 785.00 KiB/s, done. Total 11 (delta 4), reused 0 (delta 0) remote: Powered by GITEE.COM [1.1.5] remote: Set trace flag b64264bf To https://gitee.com/zhai_jiahao/guli.git e570078..b85a6f8 dev -> dev
解釋:git push origin feature-20240828-test 命令已經(jīng)成功執(zhí)行,并且你的 feature-20240828-test 分支的更改已經(jīng)被推送到了遠(yuǎn)程倉(cāng)庫(kù)
輸出中的關(guān)鍵信息如下:
- Total 0 (delta 0), reused 0 (delta 0):這表示在推送過(guò)程中,Git 沒(méi)有傳輸任何新的數(shù)據(jù)對(duì)象(因?yàn)榭赡苣阒耙呀?jīng)推送過(guò)這些對(duì)象,或者這次推送沒(méi)有新增任何文件)。delta
- 指的是壓縮后的差異數(shù)據(jù),這里也是0,表示沒(méi)有差異數(shù)據(jù)需要傳輸。
- remote: Powered by GITEE.COM [1.1.5] 和 remote: Set trace flag 8040dbad:這些是 Gitee.com 服務(wù)器返回的信息,主要是表明服務(wù)器是由 Gitee.com
- 提供支持的,并且設(shè)置了一個(gè)跟蹤標(biāo)志(可能是用于調(diào)試或日志記錄)。
- To https://gitee.com/zhai_jiahao/gulimall.git:這是你的遠(yuǎn)程倉(cāng)庫(kù)的 URL,表示你的推送目標(biāo)是這個(gè)地址。
- 556aaab…b85a6f8 feature-20240828-test -> feature-20240828-test:這表示從遠(yuǎn)程倉(cāng)庫(kù)的 feature-20240828-test 分支的 556aaab…
- b85a6f8 提交更新到了遠(yuǎn)程分支。這意味著遠(yuǎn)程倉(cāng)庫(kù)的 feature-20240828-test 分支現(xiàn)在與你的本地分支同步了。
注意:我這里沒(méi)加上具體要推送到遠(yuǎn)程哪個(gè)倉(cāng)庫(kù)上,但是更好的習(xí)慣是加上遠(yuǎn)程倉(cāng)庫(kù)名稱:像是這樣 git push origin feature-20240828-test
命令8:分支合并
**目的:**我現(xiàn)在想要在dev開發(fā)分支開發(fā)的內(nèi)容合并到test分支,因此 我在dev分支修改代碼,增加了一行 ,來(lái)模擬自己在dev新增的代碼,這個(gè)代碼要合并到test分支上;
操作:
步驟1:在dev分支修改代碼,然后commit到dev的本地倉(cāng)庫(kù),然后push到遠(yuǎn)程,(其實(shí)這里只是需要commit到dev的本地倉(cāng)庫(kù)即可,因?yàn)楸镜貓?zhí)行merge命令是將本地倉(cāng)庫(kù)中dev分支開發(fā)的內(nèi)容去合并到其他分支,所以這里嚴(yán)格來(lái)說(shuō)只需要commit,無(wú)需push,但是一般的習(xí)慣,我們需要保證本地倉(cāng)庫(kù)dev分支代碼和遠(yuǎn)程dev代碼一致,所以一般commit之后,也會(huì)push到遠(yuǎn)程的),
步驟2:然后在切換到想要合并的目標(biāo)分支 ,先切換到test分支后
步驟3:再使用git merge dev合并到test分支中,,再在控制臺(tái)使用 下面命令,就可以將剛剛dev分支中修改的內(nèi)容,合并到目前的test分支了;
步驟4:將合并到test中的內(nèi)容推送到test的遠(yuǎn)程分支
D:\workspace\IdeaProjects\guliMall>git merge dev
**現(xiàn)象:**執(zhí)行命令完畢,會(huì)提示有幾行改變,下面圖中是2行新增
1 file changed, 2 insertions(+)
好了,常用命令這就梳理的差不多了,當(dāng)然也可以通過(guò)IDEA的ui頁(yè)面直接操作也是可以的,原理步驟順序都是類似,的,理解了上面的步驟,通過(guò)UI操作也恒輕松了~
如果在UI操作中遇見了問(wèn)題,又改怎么解決呢 ?
可以看博客:【GIT】idea中實(shí)用的git操作,撤回commit,撤回push、暫存區(qū)使用
到此這篇關(guān)于Idea中的git命令使用的文章就介紹到這了,更多相關(guān)Idea git命令使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
git通過(guò)內(nèi)網(wǎng)代理訪問(wèn)外網(wǎng)的相關(guān)配置方法
這篇文章主要介紹了git通過(guò)內(nèi)網(wǎng)代理,訪問(wèn)外網(wǎng)的相關(guān)配置,配置git代理以http代理為例,給大家詳細(xì)講解,需要的朋友可以參考下2023-05-05git-pycharm配置.ignore文件的詳細(xì)過(guò)程
在開發(fā)中經(jīng)常需要配置提交git的忽略文件,本篇來(lái)學(xué)習(xí)下使用pycharm自動(dòng)生成.ignore文件,感興趣的朋友跟隨小編一起看看吧2023-06-06IDEA中g(shù)it撤回上一次push的方法(指定回到某個(gè)版本)
這篇文章主要介紹了IDEA中g(shù)it撤回上一次push(指定回到某個(gè)版本),本文通過(guò)場(chǎng)景圖文的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11使用Python解決Windows文件名非用反斜杠問(wèn)題(python 小技巧)
要想讓你的 Python 代碼同時(shí)在 Windows 和 Mac/Linux 上工作,你需要處理不同系統(tǒng)文件名用不同斜杠的問(wèn)題。而 Python 3 有一個(gè)名為「pathlib」的新模塊,可以幫你解決這個(gè)麻煩,需要的朋友可以參考下2019-11-11