idea提交代碼到git以及git常用命令詳解
本次操作以將本地代碼提交到gitlab為例,不過(guò)都大同小異,差別不大。
Git 作為分布式版本控制軟件,存儲(chǔ)文件的位置叫做倉(cāng)庫(kù)。倉(cāng)庫(kù)有遠(yuǎn)程倉(cāng)庫(kù)(互聯(lián)網(wǎng)上一臺(tái)服務(wù)器或局域網(wǎng)內(nèi)的一臺(tái)服務(wù)器)和本地倉(cāng)庫(kù)(本機(jī)的一個(gè)目錄)兩種。
- 系統(tǒng)中任意文件夾都可以作為本地倉(cāng)庫(kù)。本地倉(cāng)庫(kù)需要先初始化,生成git基本配置。
- 然后把本地的操作添加到緩存區(qū)。
- 把緩存區(qū)操作提交到本地庫(kù)。
- 最后把本地庫(kù)數(shù)據(jù)推送到遠(yuǎn)程倉(cāng)庫(kù)。

安裝設(shè)置
?git 想要把自己的內(nèi)容提交到遠(yuǎn)程倉(cāng)庫(kù),需要進(jìn)行全局設(shè)置遠(yuǎn)程賬號(hào)的用戶名和郵箱。
// 設(shè)置自己的用戶名 git config --global user.name "你的用戶名"
// 設(shè)置自己的郵箱 git config --global user.email "你的郵箱"
設(shè)置成功后會(huì)在C:\Users\你的Windows系統(tǒng)賬號(hào)名(此目錄是Windows系統(tǒng)賬號(hào)名)中出現(xiàn).gitconfig文件。此文件中存儲(chǔ)了上面命令設(shè)置的賬號(hào)及郵箱。

// 查看當(dāng)前git版本 git --version
// 查看當(dāng)前的git配置 git config --list
在gitlab上創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)
新建項(xiàng)目–>創(chuàng)建空白項(xiàng)目

倉(cāng)庫(kù)創(chuàng)建成功

http和ssh鏈接的區(qū)別
使用https url克隆對(duì)初學(xué)者來(lái)說(shuō)會(huì)比較方便,復(fù)制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代碼都需要輸入賬號(hào)和密碼,這也是https方式的麻煩之處。
使用SSH url克隆卻需要在克隆之前先配置和添加好SSH key,因此,如果想要使用SSH url克隆的話,必須是這個(gè)項(xiàng)目的擁有者。否則是無(wú)法添加SSH key的,另外ssh默認(rèn)是每次fetch和push代碼都不需要輸入賬號(hào)和密碼,如果想要每次都輸入賬號(hào)密碼才能進(jìn)行fetch和push也可以另外進(jìn)行設(shè)置。
新建本地倉(cāng)庫(kù)

初始化
定位到要提交的項(xiàng)目文件上直接點(diǎn)擊OK即可
init完成之后,可以看到原本的項(xiàng)目文件名變成紅色,紅色在idea的git版本表示未add的文件,同時(shí)在系統(tǒng)資源管理中打開項(xiàng)目的磁盤文件目錄,會(huì)發(fā)現(xiàn)一個(gè).git的隱藏文件,這個(gè)文件就git的配置和倉(cāng)庫(kù)文件;
// 初始化命令,初始化完成后,虎會(huì)在目錄中出現(xiàn)隱藏目錄 .git git init
添加到緩存區(qū)

回到idea項(xiàng)目中,點(diǎn)擊VCS>Git>Add添加當(dāng)前項(xiàng)目下的文件,添加完成之后,之前的紅色文件名變成了綠色了,表示已經(jīng)Add成功,但還沒有commit
// add命令 git add 要添加的文件名
提交到本地倉(cāng)庫(kù)
VCS>Git>Commit File,然后在提交創(chuàng)建填寫提交注釋說(shuō)明 // commit命令 git commit -m “自定義注釋”


推送到遠(yuǎn)程倉(cāng)庫(kù)
提交完成之后,只是提交到本地倉(cāng)庫(kù),這個(gè)時(shí)候還沒有同步到遠(yuǎn)程的gitlab服務(wù)上,需要push操作,VCS>Git>Push
在彈出的窗口中點(diǎn)擊“Define remote”,會(huì)彈出一個(gè)新窗口,在URL中添加從gitlab中復(fù)制的http鏈接
// 設(shè)置遠(yuǎn)程倉(cāng)庫(kù)地址 git remote add origin 遠(yuǎn)程倉(cāng)庫(kù)URL地址 // 推送到遠(yuǎn)程倉(cāng)庫(kù) git push -u origin 分支名稱

彈出這個(gè)窗口后點(diǎn)擊push

控制臺(tái)或者屏幕右下角出現(xiàn)以下文字,代碼提交到gitlab成功
Pushed master to new branch origin/master

常用命令
狀態(tài)
命令:git status
- 沒有添加到緩存區(qū)的狀態(tài)(add前),通過(guò)命令查看,文件名顯示為紅色
- 添加到緩存區(qū)后的狀態(tài)(add后),通過(guò)命令查看,文件名顯示為綠色
- 提交到本地倉(cāng)庫(kù)后的狀態(tài)(commit后)通過(guò)命令查看,沒有文件提示
- 修改已提交的文件且沒有添加到緩存區(qū)時(shí),通過(guò)命令查看,顯示為紅色 modified:文件名
- 修改已提交的文件且添加到緩存區(qū)后,通過(guò)命令查看,顯示為綠色 modified:文件名
克隆
// 將遠(yuǎn)程倉(cāng)庫(kù)的內(nèi)容下載到本地 git clone 遠(yuǎn)程倉(cāng)庫(kù)http地址鏈接
拉取
// 拉取遠(yuǎn)程倉(cāng)庫(kù)內(nèi)容到本地 git pull origin 分支名
刪除
刪除代碼有風(fēng)險(xiǎn),操作需謹(jǐn)慎?。?! // 刪除文件 git rm 文件名 // 刪除狀態(tài) git status 被執(zhí)行過(guò)刪除命令的文件查看狀態(tài)顯示為綠色 deleted: 文件名 // 提交刪除操作 git commit -m “刪除信息” // 提交到遠(yuǎn)程倉(cāng)庫(kù) git push -u origin 分支名
日志
// 查看日志及其版本號(hào)
git log
// 日志簡(jiǎn)化
git log --pretty=oneline
// 查看簡(jiǎn)短日志
git reflog
版本回退
// 回退到指定版本 git reset --hard [局部版本號(hào)]
分支
- master:主分支
- develop:開發(fā)分支
- 臨時(shí)分支:功能分支、預(yù)發(fā)分支、修補(bǔ)bug分支
// 創(chuàng)建分支,此時(shí)創(chuàng)建的分支只是在本地倉(cāng)庫(kù)創(chuàng)建分支,遠(yuǎn)程倉(cāng)庫(kù)并沒有創(chuàng)建 git checkout -b 新分支名 master // 查看本地所有分支,哪個(gè)分支是綠色且前面帶有*號(hào),就是是當(dāng)前所在分支。 git branch // 推送本地分支到遠(yuǎn)程 git push origin 本地分支名:遠(yuǎn)程分支名 // 使本地分支與遠(yuǎn)程分支創(chuàng)建聯(lián)系 git branch --set-upstream-to=origin/分支名 // 分支切換 git checkout 分支名 // 合并分支,把分支合并到當(dāng)前分支 // 例如:把develop合并到master分支中,需要先切換到master,然后執(zhí)行合并命令 git merge --no-f 分支名 // 刪除本地分支 // 如果當(dāng)前正處于這個(gè)分支,是不能刪除這個(gè)分支的,需先切換到其他分支 git branch -d 分支名 // 刪除遠(yuǎn)程倉(cāng)庫(kù)中分支 git push origin --delete 分支名

報(bào)錯(cuò)
SSL certificate problem: self signed certificate in certificate chain git config --global http.sslVerify false
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javaweb實(shí)戰(zhàn)之商城項(xiàng)目開發(fā)(一)
這篇文章主要針對(duì)javaweb商城項(xiàng)目開發(fā)進(jìn)行實(shí)戰(zhàn)演習(xí),對(duì)javaweb商城項(xiàng)目開發(fā)進(jìn)行詳細(xì)分析,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-02-02
如何通過(guò)properties文件配置web.xml中的參數(shù)
這篇文章主要介紹了如何通過(guò)properties文件配置web.xml中的參數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
SpringBoot整合Mybatis-plus實(shí)現(xiàn)多級(jí)評(píng)論功能
本文介紹了如何使用SpringBoot整合Mybatis-plus實(shí)現(xiàn)多級(jí)評(píng)論功能,同時(shí)提供了數(shù)據(jù)庫(kù)的設(shè)計(jì)和詳細(xì)的后端代碼,前端界面使用的Vue2,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2023-05-05
Spring Boot使用Value注解給靜態(tài)變量賦值的方法
這篇文章主要介紹了Spring Boot使用Value注解給靜態(tài)變量賦值的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07
mybatis-plus update更新操作的三種方式(小結(jié))
本文主要介紹了mybatis-plus update更新操作的三種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
SpringBoot集成itextpdf實(shí)現(xiàn)根據(jù)模板動(dòng)態(tài)生成PDF
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何集成itextpdf實(shí)現(xiàn)根據(jù)模板動(dòng)態(tài)生成PDF,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2024-03-03

