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