1、Git 概述
1.1 何為版本控制
-
版本控制軟件功能:
- 版本管理:回退到歷史上的任何版本
- 共享代碼:團(tuán)隊(duì)之間共享代碼
- 團(tuán)隊(duì)合作開發(fā)-代碼整合:
-
版本控制是一種記錄文件內(nèi)容變化, 以便將來查閱特定版本修訂情況的系統(tǒng)。
1.2 為什么需要版本控制
個(gè)人開發(fā)過渡到團(tuán)隊(duì)協(xié)作。
需求
在項(xiàng)目開發(fā)中,團(tuán)隊(duì)協(xié)作管理代碼和文件是每天必須要做的事情。大家一定會(huì)碰到如下幾個(gè)場景和問題?
1:協(xié)同修改,多人并行開發(fā)修改服務(wù)器的文件
2:數(shù)據(jù)備份
3:版本管理,權(quán)限控制
4:如果文件和工程誤刪了還能找回來嗎?
5:分支管理 1.0 2.0
6:遇到了文件沖突如何解決?
7:如何把一些我臨時(shí)保存的文件不要提交?
Svn版本控制軟件:
Git版本控制器軟件:
小結(jié)
- svn和git都是做版本控制的,如果不理解一句話: 記錄代碼的軌跡就好比每個(gè)人的成長階段一樣。
1.3 版本控制工具
? 集中式版本控制工具
CVS 、SVN(Subversion)、VSS……
集中化的版本控制系統(tǒng)諸如 CVS 、SVN 等, 都有一個(gè)單一的集中管理的服務(wù)器, 保存 所有文件的修訂版本, 而協(xié)同工作的人們都通過客戶端連到這臺(tái)服務(wù)器, 取出最新的文件或 者提交更新。多年以來, 這已成為版本控制系統(tǒng)的標(biāo)準(zhǔn)做法。
這種做法帶來了許多好處, 每個(gè)人都可以在一定程度上看到項(xiàng)目中的其他人正在做些什 么。而管理員也可以輕松掌控每個(gè)開發(fā)者的權(quán)限, 并且管理一個(gè)集中化的版本控制系統(tǒng),要 遠(yuǎn)比在各個(gè)客戶端上維護(hù)本地?cái)?shù)據(jù)庫來得輕松容易。
事分兩面, 有好有壞。這么做顯而易見的缺點(diǎn)是中央服務(wù)器的單點(diǎn)故障。如果服務(wù)器宕 機(jī)一小時(shí), 那么在這一小時(shí)內(nèi), 誰都無法提交更新,也就無法協(xié)同工作。
集中管理方式在一定程度上看到其他開發(fā)人員在干什么,而管理員也可以很輕松掌握每個(gè)人的開發(fā)權(quán)限。
但是相較于其優(yōu)點(diǎn)而言,集中式版本控制工具缺點(diǎn)很明顯:
服務(wù)器單點(diǎn)故障
容錯(cuò)性差
? 分布式版本控制工具
Git 、Mercurial 、Bazaar、Darcs……
像 Git 這種分布式版本控制工具, 客戶端提取的不是最新版本的文件快照, 而是把代碼 倉庫完整地鏡像下來 (本地庫)。這樣任何一處協(xié)同工作用的文件發(fā)生故障, 事后都可以用 其他客戶端的本地倉庫進(jìn)行恢復(fù)。因?yàn)槊總€(gè)客戶端的每一次文件提取操作, 實(shí)際上都是一次 對(duì)整個(gè)文件倉庫的完整備份。
分布式的版本控制系統(tǒng)出現(xiàn)之后,解決了集中式版本控制系統(tǒng)的缺陷:
- 服務(wù)器斷網(wǎng)的情況下也可以進(jìn)行開發(fā)(因?yàn)榘姹究刂剖窃诒镜剡M(jìn)行的)
- 每個(gè)客戶端保存的也都是整個(gè)完整的項(xiàng)目(包含歷史記錄,更加安全)
小結(jié)
- svn它集中式的版本控制,不能離線工作。git分布式的版本控制,它版本放在用戶自己的電腦。
- svn不支持離線工作,版本全部都放在是中央服務(wù)器。如果中央服務(wù)器掛了。那么版本全部丟失。
- git支持離線工作。版本都放用戶自己電腦上完成。---- 分布式的版本控制。
- svn是項(xiàng)目對(duì)倉庫,git是倉庫對(duì)倉庫。
1.4 GIT的由來及發(fā)展史
概述
同生活中的許多偉大事件一樣,Git 誕生于一個(gè)極富紛爭大舉創(chuàng)新的年代。
Linux 內(nèi)核開源項(xiàng)目有著為數(shù)眾廣的參與者。絕大多數(shù)的 Linux 內(nèi)核維護(hù)工作都花在了提交補(bǔ)丁和保存歸檔的繁瑣事務(wù)上(1991-2002 年間)。到 2002 年,Linux 系統(tǒng)已經(jīng)發(fā)展了十年了,代碼庫之大讓 Linus 很難繼續(xù)通過手工方式管理了,于是整個(gè)項(xiàng)目組開始啟用分布式版本控制系統(tǒng) BitKeeper 來管理和維護(hù)代碼。
到 2005 年的時(shí)候,開發(fā) BitKeeper 的商業(yè)公司同 Linux 內(nèi)核開源社區(qū)的合作關(guān)系結(jié)束,他們收回了免費(fèi)使用 BitKeeper 的權(quán)力。這就迫使 Linux 開源社區(qū)(特別是 Linux 的締造者 Linus Torvalds )不得不吸取教訓(xùn),只有開發(fā)一套屬于自己的版本控制系統(tǒng)才不至于重蹈覆轍。他們對(duì)新的系統(tǒng)訂了若干目標(biāo):
? 速度快
? 簡單的設(shè)計(jì)
? 對(duì)非線性開發(fā)模式的強(qiáng)力支持(允許上千個(gè)并行開發(fā)的分支)
? 完全分布式
? 有能力高效管理類似 Linux 內(nèi)核一樣的超大規(guī)模項(xiàng)目(速度和數(shù)據(jù)量)
Linus花了兩周時(shí)間自己用C寫了一個(gè)分布式版本控制系統(tǒng),這就是Git!一個(gè)月之內(nèi),Linux系統(tǒng)的源碼已經(jīng)由Git管理了!牛是怎么定義的呢?大家可以體會(huì)一下。
Git迅速成為最流行的分布式版本控制系統(tǒng),尤其是2008年,GitHub網(wǎng)站上線了,它為開源項(xiàng)目免費(fèi)提供Git存儲(chǔ),無數(shù)開源項(xiàng)目開始遷移至GitHub,包括jQuery,PHP,Ruby等等。
歷史就是這么偶然,如果不是當(dāng)年BitMover公司威脅Linux社區(qū),可能現(xiàn)在我們就沒有免費(fèi)而超級(jí)好用的Git了。
小結(jié)
-
Git 是一個(gè)免費(fèi)的、開源的分布式版本控制系統(tǒng),可以快速高效地處理從小型到大型的各種項(xiàng)目。
-
Git 易于學(xué)習(xí), 占地面積小, 性能極快。 它具有廉價(jià)的本地庫, 方便的暫存區(qū)域和多個(gè)工作流分支等特性。 其性能優(yōu)于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。
1.5 Git 工作機(jī)制
1、工作區(qū):存放代碼的地方
2、暫存區(qū):臨時(shí)存儲(chǔ),將工作區(qū)的代碼讓git知道,通過git add將代碼放到暫存區(qū)
3、本地庫:將暫存區(qū)的代碼提交到本地庫,就會(huì)生成對(duì)應(yīng)的歷史版本,這個(gè)代碼就無法刪除
4、遠(yuǎn)程庫:將本地庫的代碼推送到遠(yuǎn)程庫
1.6 Git 和代碼托管中心
代碼托管中心是基于網(wǎng)絡(luò)服務(wù)器的遠(yuǎn)程代碼倉庫, 一般我們簡單稱為遠(yuǎn)程庫。
- 局域網(wǎng)
- GitLab:自己搭建 遠(yuǎn)程庫
- gogs: Gogs 是一款極易搭建的自助 Git 服務(wù)
- 互聯(lián)網(wǎng)
- GitHub (外網(wǎng)),可能無法訪問
- Gitee 碼云(國內(nèi)網(wǎng)站)
比較出名的代碼托管中心: GitHub 和 碼云
1.6.1 什么是GitHub?
確切的說 GitHub 是一家公司,位于舊金山,由 Chris Wanstrath, PJ Hyett 與 Tom Preston-Werner 三位開發(fā)者在2008年4月創(chuàng)辦。這是它的 Logo:
2008年4月10日,GitHub正式成立,地址:How people build software · GitHub ,主要提供基于git的版本托管服務(wù)。一經(jīng)上線,它的發(fā)展速度驚為天人,截止目前,GitHub 已經(jīng)發(fā)展成全球最大的開源社區(qū)。所以 Git 只是 GitHub 上用來管理項(xiàng)目的一個(gè)工具而已,GitHub 的功能可遠(yuǎn)不止于此!
1.6.2 什么是碼云?
我們使用GitHub的時(shí)候,會(huì)感覺比較慢,為什么? 原因就是GitHub在遙遠(yuǎn)的美國,由于各種原因造成訪問速度不怎么好,所以國內(nèi)的git服務(wù)提供商,碼云就起來了。
1.6.3 產(chǎn)品功能對(duì)比
功能 | 碼云 Gitee | GitHub |
---|---|---|
代碼托管,支持 Git/SVN | √ | √ |
開源項(xiàng)目、代碼片段 | √ | √ |
Issue | √ | √ |
Wiki | √ | √ |
Fork + Pull Request | √ | √ |
組織 | √ | √ |
私有倉庫免費(fèi)協(xié)作人數(shù) | 5 人 | 3 人 |
保護(hù)分支 | 免費(fèi) | 收費(fèi) |
在線 IDE(Gitee IDE) | √ | 不支持 |
倉庫自動(dòng)備份 | √ | 不支持 |
禁止 Git 強(qiáng)推 | √ | 不支持 |
支持倉庫訪問 IP 限制 | √ | 不支持 |
企業(yè)級(jí)研發(fā)協(xié)作 | 5 人免費(fèi) | 收費(fèi) |
敏捷開發(fā)管理 | √ | |
任務(wù)看板(可靈活定義) | √ | |
支持多級(jí)任務(wù)、關(guān)聯(lián)任務(wù) | √ | |
自動(dòng)代碼質(zhì)量分析 | √ | |
快捷生成工作周報(bào) | √ | |
代碼克隆檢測 | √ | |
自動(dòng)生成 JavaDoc/PHPDoc | √ | |
多語言 README 自動(dòng)渲染 | √ | |
支持微信/釘釘通知 | √ |
1.6.4 協(xié)作開發(fā)流程
2、軟件安裝
2.1 Git 下載與安裝
百度上搜索Git
官網(wǎng):
https://git-scm.com/
下載:https://git-scm.com/download/win/
下載Git安裝程序,雙擊安裝 Git-2.9.3.2-64-bit.exe
配置環(huán)境變量path
使用git --version查看 git 是否安裝成功
2.2 TortoiseGit下載與安裝
下載網(wǎng)址:https://tortoisegit.org/download/
在桌面空白處鼠標(biāo)右鍵
說明TortoiseGit已經(jīng)安裝成功
3、Git 常用命令
命令名稱 | 作用 |
---|---|
git config --global user.name 用戶名 | 設(shè)置用戶名 |
git config --global user.email 郵箱 | 設(shè)置用戶郵箱 |
git init | 初始化本地庫 |
git status | 查看本地庫狀態(tài) |
git add 文件名 | 添加到暫存區(qū) |
git commit -m " 日志信息" 文件名 | 提交到本地庫 |
git reflog | 查看歷史記錄 |
git reset --hard 版本號(hào) | 版本穿梭 |
3.1 設(shè)置用戶簽名
1)基本語法
git config --global user.name 用戶名
git config --global user.email 郵箱
2)案例實(shí)操
說明:
簽名的作用是區(qū)分不同操作者身份。用戶的簽名信息在每一個(gè)版本的提交信息中能夠看到, 以此確認(rèn)本次提交是誰做的。 Git 首次安裝必須設(shè)置一下用戶簽名, 否則無法提交代碼。 ※注意: 這里設(shè)置用戶簽名和將來登錄 GitHub (或其他代碼托管中心)的賬號(hào)沒有任何關(guān)系。
3.2 初始化本地庫
1)基本語法
git init : 獲取目錄的管理權(quán)
2)案例實(shí)操
【第一步】在d盤創(chuàng)建目錄:D:\git-space\git-0819
【第二步】進(jìn)入D:\git-space\git-0819文件目錄,右擊鼠標(biāo),選擇git bush here
【第三步】輸入 git init 命令
【第四步】結(jié)果查看
3.3 查看本地庫狀態(tài)
1)基本語法
git status:
2)案例實(shí)操
3.3.1 首次查看(工作區(qū)沒有任何文件)
3.3.2 新增文件(hello.txt)
(命令:yy復(fù)制,p粘貼)
3.3.3 再次查看(檢測到未追蹤的文件)
紅色代表這個(gè)文件雖然有了,但是至少存在工作區(qū),git從來沒有追蹤過這個(gè)文件
3.4 添加暫存區(qū)
3.4.1 將工作區(qū)的文件添加到暫存區(qū)
1)基本語法
git add 文件名
2)案例實(shí)操
3.4.2 查看狀態(tài)(檢測到暫存區(qū)有新文件)
3.5 提交本地庫
3.5.1 將暫存區(qū)的文件提交到本地庫
1)基本語法
git commit -m “日志信息” 文件名
2)案例實(shí)操
3.5.2 查看狀態(tài)(沒有文件需要提交)
3.6 修改文件(hello.txt)
3.6.1 查看狀態(tài)(檢測到工作區(qū)有文件被修改)
3.6.2 將修改的文件再次添加暫存區(qū)
3.6.3 查看狀態(tài)(工作區(qū)的修改添加到了暫存區(qū))
3.6.4 提交到本地庫
3.7 歷史版本
3.7.1 查看歷史版本
1)基本語法
git reflog 查看版本信息
git log 查看版本詳細(xì)信息
2)案例實(shí)操
3.7.2 版本穿梭
1)基本語法
git reset –hard 版本號(hào)
2)案例實(shí)操
Git 切換版本, 底層其實(shí)是移動(dòng)的 HEAD 指針。
4、 Git 分支操作
4.1 什么是分支
在版本控制過程中, 同時(shí)推進(jìn)多個(gè)任務(wù), 為每個(gè)任務(wù), 我們就可以創(chuàng)建每個(gè)任務(wù)的單獨(dú) 分支。使用分支意味著程序員可以把自己的工作從開發(fā)主線上分離開來, 開發(fā)自己分支的時(shí) 候, 不會(huì)影響主線分支的運(yùn)行。對(duì)于初學(xué)者而言, 分支可以簡單理解為副本, 一個(gè)分支就是 一個(gè)單獨(dú)的副本。(分支底層其實(shí)也是指針的引用)
4.2 分支的好處
同時(shí)并行推進(jìn)多個(gè)功能開發(fā),提高開發(fā)效率。
各個(gè)分支在開發(fā)過程中, 如果某一個(gè)分支開發(fā)失敗, 不會(huì)對(duì)其他分支有任何影響。失敗 的分支刪除重新開始即可。
4.3 分支的操作
命令名稱 | 作用 |
---|---|
git branch 分支名 | 創(chuàng)建分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切換分支 |
git merge 分支名 | 把指定的分支合并到當(dāng)前分支上 |
4.3.1 查看分支
1)基本語法
git branch -v
2)案例實(shí)操
4.3.2 創(chuàng)建分支
1)基本語法
git branch 分支名
2)案例實(shí)操
4.3.3 切換分支
1)基本語法
git checkout 分支名
2)案例實(shí)操
【第一步】切換分支到hot-fix,在hot-fix分支上做修改
【第二步】修改hot-fix分支上的hello.txt
修改內(nèi)容如下:
4.3.4 合并分支
1)基本語法
git merge 分支名
2)案例實(shí)操 在 master 分支上合并 hot-fix 分支
【第一步】切換到master分支
【第二步】合并hot-fix分支
【第三步】查看文件內(nèi)容
4.3.5 產(chǎn)生沖突
沖突產(chǎn)生的表現(xiàn): 后面狀態(tài)為 MERGING
沖突產(chǎn)生的原因:
合并分支時(shí),兩個(gè)分支在同一個(gè)文件的同一個(gè)位置有兩套完全不同的修改。 Git 無法替 我們決定使用哪一個(gè)。必須人為決定新代碼內(nèi)容。
查看狀態(tài)(檢測到有文件有兩處修改)
制造沖突:
【第一步】 切換到master分支上,修改hello.txt
修改內(nèi)容如下:
【第二步】 切換到hot-fix分支上,修改hello.txt
修改內(nèi)容如下:
【第三步】 切換到master分支,merge合并 hot-fix分支
已經(jīng)產(chǎn)生沖突!??!
4.3.6 解決沖突
1)編輯有沖突的文件,刪除特殊符號(hào),決定要使用的內(nèi)容
特殊符號(hào): <<<<<<< HEAD 當(dāng)前分支的代碼 ======= 合并過來的代碼 >>>>>>> hot-fix
? 修改文件如下:
2)添加到暫存區(qū)
3)執(zhí)行提交(注意: 此時(shí)使用git commit 命令時(shí)不能帶文件名)
4)注意
我們修改的只是master分支的內(nèi)容,hot-fix分支的內(nèi)容沒有發(fā)生改變
5、 Git 團(tuán)隊(duì)協(xié)作機(jī)制
5.1 團(tuán)隊(duì)內(nèi)協(xié)作
5.2 跨團(tuán)隊(duì)協(xié)作
6、 Gitee碼云 操作
碼云網(wǎng)址:https://gitee.com/
賬號(hào) | 驗(yàn)證郵箱 |
---|---|
yuanxinqi2008 | yuanxinqi2008@126.com |
yuanxinqi2009 | yuanxinqi2009@126.com |
yuanxinqi2010 | yuanxinqi2010@126.com |
6.1 創(chuàng)建遠(yuǎn)程倉庫
6.2 遠(yuǎn)程倉庫操作
命令名稱 | 作用 |
---|---|
git remote -v | 查看當(dāng)前所有遠(yuǎn)程地址別名 |
git remote add 別名 遠(yuǎn)程地址 | 起別名(第一次) |
git push 別名 分支 | 推送本地分支上的內(nèi)容到遠(yuǎn)程倉庫 |
git clone 遠(yuǎn)程地址 | 將遠(yuǎn)程倉庫的內(nèi)容克隆到本地(第一次) |
git pull 遠(yuǎn)程庫地址別名 遠(yuǎn)程分支名 | 將遠(yuǎn)程倉庫對(duì)于分支最新內(nèi)容拉下來后與當(dāng)前本地分支直接合并 |
6.2.1 創(chuàng)建遠(yuǎn)程倉庫別名
1)基本語法
git remote -v 查看當(dāng)前所有遠(yuǎn)程地址別名
git remote add 別名 遠(yuǎn)程地址
2)案例實(shí)操
https://gitee.com/yuanxinqi/git0819.git
這個(gè)地址在創(chuàng)建完遠(yuǎn)程倉庫后生成的連接, 如圖所示紅框中
6.2.2 推送本地分支到遠(yuǎn)程倉庫
1)基本語法
git push 別名 分支 : 推送的最小單位是分支,所以一定要指定分支
2)案例實(shí)操
【第一步】切換到master主分支
【第二步】git push git0819 master推送到主分支
【第三步】推送的時(shí)候需要登錄
【第四步】推送成功,此時(shí)發(fā)現(xiàn)已將我們 master 分支上的內(nèi)容推送到 碼云創(chuàng)建的遠(yuǎn)程倉庫。
6.2.3 拉取遠(yuǎn)程倉庫內(nèi)容
1)基本語法
git pull 遠(yuǎn)程庫地址別名 遠(yuǎn)程分支名
2)案例實(shí)操
【第一步】遠(yuǎn)程操作修改文件
【第二步】修改內(nèi)容如下:
【第三步】提交修改
【第四步】本地拉取
【第五步】查看本地文件
6.2.4 克隆遠(yuǎn)程倉庫到本地
1)基本語法
git clone 遠(yuǎn)程地址
2)案例實(shí)操
【第一步】創(chuàng)建git-0820文件夾
【第二步】執(zhí)行克隆命令
6.2.5 邀請(qǐng)加入團(tuán)隊(duì)
1)選擇邀請(qǐng)合作者
2)填入想要合作的人
3 ) 復(fù) 制 地 址 并 通 過 微 信 釘 釘 等 方 式 發(fā) 送 給 該 用 戶 , 復(fù) 制 內(nèi) 容 如 下 :
https://gitee.com/yuanxinqi/git0819/invite_link?invite=fa13a6a6c165941240d612a81902b3c7d3d58b53e8e9499fb7993663152babc51072802d03f1afc25f318cd36bbddc3a
4)在 其他人 打開鏈接,點(diǎn)擊接受邀請(qǐng)。
5)成功之后可以在 yuanxinqi2009 這個(gè)賬號(hào)上看到 git-Test 的遠(yuǎn)程倉庫。
6)yuanxinqi2009可以修改內(nèi)容并 push 到遠(yuǎn)程倉庫。
7)回到 yuanxinqi2008 的 GitHub 遠(yuǎn)程倉庫中可以看到,最后一次是 yuanxinqi2009提交的。
6.3 SSH 免密登錄
我們可以看到遠(yuǎn)程倉庫中還有一個(gè) SSH 的地址,因此我們也可以使用 SSH 進(jìn)行訪問。
具體操作如下:
【第一步】進(jìn)入windows的家目錄,C:\Users\yxq,刪除.ssh文件
【第二步】在此處點(diǎn)擊git bash here
【第三步】輸入命令: ssh-keygen -t rsa -C yuanxinqi2008@126.com,然后點(diǎn)擊三次回車
【第四步】查看.ssh文件
【第五步】點(diǎn)擊git bash here,進(jìn)入.ssh目錄
【第六步】查看id_rsa.pub 文件內(nèi)容
【第七步】登錄 Gitee,點(diǎn)擊用戶頭像→設(shè)置→SSH 公鑰
【第八步】復(fù)制公鑰內(nèi)容,點(diǎn)擊確定
【第九步】輸入密碼認(rèn)證,設(shè)置公鑰成功
【第十步】測試
7、IDEA集合Git
7.1 配置Git忽略文件-IDEA特定文件
問題 **1:**為什么要忽略他們?
答: 與項(xiàng)目的實(shí)際功能無關(guān), 不參與服務(wù)器上部署運(yùn)行。把它們忽略掉能夠屏蔽 IDE 工具之間的差異。
問題 2:怎么忽略?
1)創(chuàng)建忽略規(guī)則文件 xxxx.ignore (前綴名隨便起, 建議是 git.ignore)
這個(gè)文件的存放位置原則上在哪里都可以, 為了便于讓~/.gitconfig 文件引用, 建議也放在用 戶家目錄下
git.ignore 文件模版內(nèi)容如下:
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see
http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
.classpath
.project
.settings
target
.idea
*.iml
2)在.gitconfig 文件中引用忽略配置文件(此文件在 Windows 的家目錄中)
[user]
name = yuanxinqi
email = yuanxinqi2008@126.com
[core]
excludesfile = C:/Users/yxq/git.ignore
注意:這里要使用“正斜線(/)”,不要使用“反斜線(\)”
7.2 定位 Git 程序
IDEA配置Git程序
7.3 初始化本地庫
【目標(biāo)】在idea中初始化項(xiàng)目,將項(xiàng)目納入git管理
【第一步】VCS–> Import into Version Control --> Create Git Repository
【第二步】選擇要初始化的本地項(xiàng)目
【第三步】在該項(xiàng)目下生成了 .git文件
7.4 添加到暫存區(qū)
右鍵點(diǎn)擊項(xiàng)目選擇 Git -> Add 將項(xiàng)目添加到暫存區(qū)。
7.5 提交到本地庫
7.6 切換版本
【第一步】在 IDEA 的左下角, 點(diǎn)擊 Version Control,然后點(diǎn)擊 Log 查看版本
【第二步】右鍵選擇要切換的版本, 然后在菜單里點(diǎn)擊 Checkout Revision。
7.7 創(chuàng)建分支
【第一步】選擇 Git ,在 Repository 里面,點(diǎn)擊 Branches 按鈕。
【第二步】在彈出的 Git Branches 框里,點(diǎn)擊New Branch 按鈕。
【第三步】填寫分支名稱,創(chuàng)建 hot-fix 分支。
【第四步】在 IDEA 的右下角看到 hot-fix,說明分支創(chuàng)建成功, 并且當(dāng)前已經(jīng)切換成 hot-fix 分 支
7.8 切換分支
【第一步】在 IDEA 窗口的右下角, 切換到 master 分支。
【第二步】在 IDEA 窗口的右下角看到了master,說明 master 分支切換成功。
7.9 合并分支
【第一步】在 IDEA 窗口的右下角, 將 hot-fix 分支合并到當(dāng)前 master 分支。
【第二步】如果代碼沒有沖突, 分支直接合并成功, 分支合并成功以后, 代碼自動(dòng)提交, 無需手動(dòng) 提交本地庫。
7.10 解決沖突
如圖所示, 如果 master 分支和 hot-fix 分支都修改了代碼, 在合并分支的時(shí)候就會(huì)發(fā)生 沖突。
【第一步】在hot-fix分支上,增加如下代碼,并且提交
【第二步】在master 分支上,增加如下代碼,并且提交
【第三步】 我們現(xiàn)在站在 master 分支上合并 hot-fix 分支, 就會(huì)發(fā)生代碼沖突。
點(diǎn)擊 Conflicts 框里的 Merge 按鈕,進(jìn)行手動(dòng)合并代碼。
【第四步】手動(dòng)合并代碼
手動(dòng)合并完代碼以后,點(diǎn)擊右下角的 Apply 按鈕。
代碼沖突解決, 自動(dòng)提交本地庫。
8、IDEA集成碼云
8.1 IDEA 安裝碼云插件
【第一步】Idea 默認(rèn)不帶碼云插件, 我們第一步要安裝 Gitee 插件。
如圖所示, 在 Idea 插件商店搜索 Gitee,然后點(diǎn)擊右側(cè)的 Install 按鈕。
安裝成功后,重啟 Idea。
Idea 重啟以后在Version Control 設(shè)置里面看到 Gitee,說明碼云插件安裝成功。
【第二步】在碼云插件里面添加碼云帳號(hào), 我們就可以用Idea 連接碼云了。
8.2 分析工程到碼云Gitee
【第一步】選擇Share…
【第二步】填入信息,點(diǎn)擊share
【第三步】成功提醒:
【第四步】查看gitee碼云工程
8.3 將本地代碼push到碼云遠(yuǎn)程庫
【第一步】點(diǎn)擊push
【第二步】自定義遠(yuǎn)程庫鏈接
【第三步】給遠(yuǎn)程庫鏈接定義個(gè) name,然后再 URL 里面填入碼云遠(yuǎn)程庫的 HTTPS 鏈接即可。碼云服務(wù)器在國內(nèi), 用 HTTPS 鏈接即可, 沒必要用 SSH 免密鏈接。
然后選擇定義好的遠(yuǎn)程鏈接,點(diǎn)擊 Push 即可。
【第四步】看到提示就說明 Push 遠(yuǎn)程庫成功。
【第五步】去碼云遠(yuǎn)程庫查看代碼。
8.4 pull拉取遠(yuǎn)程庫到本地庫
【第一步】直接在服務(wù)器修改代碼
【第二步】選擇pull
【第三步】查看結(jié)果
=========================================================
后記
好啦,以上就是本期全部內(nèi)容,能看到這里的人呀,都是能人。
十年修得同船渡,大家一起點(diǎn)關(guān)注。
我是?煥藍(lán)·未來,感謝各位【能人】的:點(diǎn)贊、收藏和評(píng)論,我們下期見!
各位能人們的支持就是?煥藍(lán)·未來前進(jìn)的巨大動(dòng)力~文章來源:http://www.zghlxwxcb.cn/news/detail-751829.html
注:如果本篇Blog有任何錯(cuò)誤和建議,歡迎能人們留言!文章來源地址http://www.zghlxwxcb.cn/news/detail-751829.html
到了這里,關(guān)于Git教程(超詳細(xì),一文秒懂)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!