為什么要使用 Git 版本控制,我們先看看一下場景:
場景一:備份
小明負責的模塊就要完成了,就在即將 Release 之前的一瞬間,電腦突然藍屏,硬盤光榮犧牲!幾個月來的努力付之東流。
場景二:代碼還原
這個項目中需要一個很復雜的功能,老王摸索了一個星期終于有眉目了,可是這被改得面目全非的代碼已經(jīng)回不到從前了。
場景三:協(xié)同開發(fā)
小剛和小強先后從文件服務器上下載了同一個文件:Analysis.java。小剛在 Analysis.java 文件中的第 30 行聲明了一個方法,叫 count(),先保存到了文件服務器上;小強在 Analysis.java 文件中的第 50 行聲明了一個方法,叫 sum(),也隨后保存到了文件服務器上,于是,count() 方法就只存在于小剛的記憶中了。
場景四:追溯問題代碼的編寫人和編寫時間
老王是另一位項目經(jīng)理,每次因為項目進度挨罵之后,他都不知道該扣哪個程序員的工資!
就拿這次來說吧,有個 Bug 調(diào)試了 30 多個小時才知道是因為相關(guān)屬性沒有在應用初始化時賦值!可是二胖、王東、劉流和正經(jīng)牛都不承認是自己干的!
Git 分布式版本控制系統(tǒng)沒有“中央服務器”,每個人的電腦上都是一個完整的版本庫,這樣工作的時候,無需要聯(lián)網(wǎng)了,因為版本庫就在你自己的電腦上。多人協(xié)作只需要各自的修改推送給對方,就能互相看到對方的修改了。
一、Git ??
1.Git 工作流程
- clone(克?。? 從遠程倉庫中克隆代碼到本地倉庫
- checkout(檢出):從本地倉庫中檢出一個倉庫分支然后進行修訂
- add(添加): 在提交前先將代碼提交到暫存區(qū)
- commit(提交): 提交到本地倉庫。本地倉庫中保存修改的各個歷史版本
- fetch (抓取) : 從遠程庫,抓取到本地倉庫,不進行任何的合并動作,一般操作比較少。
- pull (拉取) : 從遠程庫拉到本地庫,自動進行合并(merge),然后放到到工作區(qū),相當于
fetch+merge - push(推送) : 修改完成后,需要和團隊成員共享代碼時,將代碼推送到遠程倉庫
- 我們看到圖上有遠程倉庫還有本地倉庫,那這兩個是什么?
遠程倉庫和本地倉庫都是一個代碼存放的地方,遠程倉庫例如:GitHub、gitee 等類型的遠程代碼托管服務以及一些自己搭建的服務;本地倉庫就在你的工作機上,例如你創(chuàng)建一個 Git 倉庫之后你的工作文件夾里多出來一個.git
的隱藏文件夾,
2.Git 安裝
進入 Git 的官網(wǎng) https://git-scm.com 對應下載安裝即可。
沒有其他需求一路默認安裝,結(jié)束之后你的鼠標右鍵點擊會出現(xiàn)兩個 Git 功能:
Git GUI:Git 提供的圖形界面工具
Git Bash:Git 提供的命令行工具
3.常用命令
Git Bash 使用滾輪按下進行粘貼。
-
git init
在你的當前目錄下創(chuàng)建倉庫 repository,果創(chuàng)建成功后可在文件夾下看到隱藏的.git
目錄。
Git 工作目錄下對于文件的修改(增加、刪除、更新)會存在幾個狀態(tài),這些修改的狀態(tài)會隨著我們執(zhí)行 Git 的命令而發(fā)生變化。 -
git add (工作區(qū) → 暫存區(qū))
添加工作區(qū)一個或多個文件的修改到暫存區(qū):git add 單個文件名|通配符
,
將所有修改加入暫存區(qū):git add
-
git commit (暫存區(qū) → 本地倉庫)
提交暫存區(qū)內(nèi)容到本地倉庫的當前分支 -
git status:查看的修改的狀態(tài)(暫存區(qū)、工作區(qū))
-
git log 查看提交日志
git log [option]
options:
– all 顯示所有分支
– pretty=oneline 將提交信息顯示為一行
– abbrev-commit 使得輸出的commitId更簡短
– graph 以圖的形式顯示
.gitignore 的文件 : 忽略列表,有些文件無需納入Git 的管理,也不希望它們總出現(xiàn)在未跟蹤文件列表。
4.分支
使用分支可以把你的工作從開發(fā)主線上分離開來進行重大的 Bug 修改、開發(fā)新的功能,以免影響開發(fā)主線。
- git branch :查看本地分支
- git branch 分支名 :創(chuàng)建本地分支
- git checkout 分支名 :切換分支
- git merge 分支名稱 :合并分支,一個分支上的提交可以合并到另一個分支
- git branch -d b1 刪除分支時,需要做各種檢查
git branch -D b1 不做任何檢查,強制刪除
只能刪除其他分支
當兩個分支上對文件的修改可能會存在沖突,例如同時修改了同一個文件的同一行,這時就需要手動解決沖突:
- 處理文件中沖突的地方
- 將解決完沖突的文件加入暫存區(qū)(add)
- 提交到倉庫(commit)
二、遠程倉庫 GitHub ??
Git 中存在兩種類型的倉庫,即本地倉庫和遠程倉庫。Git 遠程倉庫常見的有 GitHub、Gitee等,這一節(jié)以 GitHub 為例進行配置使用遠程倉庫。
1.注冊使用
官網(wǎng) https://github.com 。
注冊完成之后點擊 +
,Create a new repository:
按你的情況填寫即可,
創(chuàng)建成功之后你會看到以下界面,第一個框框里面 SHH 給出的就是你的遠程倉庫地址:
非空倉庫的就點 Code
查看:
2.配置 SSH 公鑰
你只有 遠程倉庫地址時,你還是不能提交到遠程倉庫,這時候還需要我們生成 SSH 公鑰(證明我是我),并配置到遠程倉庫。
- 生成 SSH 公鑰
Git bash :ssh-keygen -t rsa
會在你的文件夾里面生成這樣的文件(控制臺會提示你在哪):
使用記事本打開這個文件復制里面全部內(nèi)容。 - 配置GitHub
打開個人中心的 Settings:
選擇 SSH and GPG keys:
填寫你的 SSH:
3.在 IDEA 中配置
打開 settings,搜索 Git,如果 Git 是默認安裝的則這里直接可以看到 Git 的 path,否則你需要設(shè)置一下地址,設(shè)置成功點擊 test
可以看到版本號:
可以繼續(xù)在下面的 GitHub 添加:
選擇第二個使用 Token:
直接點擊 Generate
自動跳轉(zhuǎn)到你的 GitHub,配置好的 token 會給你列舉在下面:
???你可以使用 Revoke all、delete 刪除你的授權(quán)。
然后得到你的 token 后填入 IDEA,你的賬號就會列舉在當前列表。
3.IDEA to GitHub
你可以在IDEA的 VCS 或者 Git 中上傳到 GitHub:
設(shè)置你的倉庫名稱、描述:
點擊 share:
等待一段時間提時完成了:
這時候我們打開 GitHub 發(fā)現(xiàn)項目里面的代碼已經(jīng)上傳上去了:
4.創(chuàng)建分支
我們項目想創(chuàng)建一個分支進行操作,可使用 branch 或者 new branch:
輸入分支名稱:
我們可以在右下角查看分支情況:
點擊一個分支后,在這個界面里我們可以進行切換分支,并入分支以及刪除分支:
打開左下角的 Git 我們可以看到 Log:
5.commit 到倉庫
在 Git 的快捷界面提供的 commit 和 push 可以幫助我們提交到本地倉庫和遠程倉庫:
克隆遠程倉庫到本地。
例如我們本地有了一個新分支,我們使用 Push 提交到遠程倉庫: 提示成功 Push
打開 Git 或者 GitHub 可以看到新分支出現(xiàn)了:
當我們本地和遠程倉庫有多個分支的時候,如果不統(tǒng)一就會忘記分支的對應關(guān)系,可以使用 git branch -vv
查看本地分支和遠程分支的關(guān)聯(lián):
上圖可看出本地分支有 3 個:master、develop_V1 和 develop_V2,其中 develop_V2 是在 develop_V1 上創(chuàng)建的分支,且沒有 Push 到遠程倉庫,而另外兩個都 Push的遠程倉庫了。
note:切換分支前先提交本地的修改。
創(chuàng)建 .ignore 文件:
在 git 目錄下打開 gitbash
執(zhí)行指令 touch .gitignore
6.從遠程倉庫中抓取和拉取
遠程分支和本地的分支一樣,我們可以進行 merge 操作,只是需要先把遠端倉庫里的更新都下載到本地,再進行操作。
抓取命令:git fetch [remote name] [branch name]
抓取指令就是將倉庫里的更新都抓取到本地,不會進行合并。
如果不指定遠端名稱和分支名,則抓取所有分支。
拉取 命令:git pull [remote name] [branch name]
拉取指令就是將遠端倉庫的修改拉到本地并自動進行合并,等同于 fetch + merge。
如果不指定遠端名稱和分支名,則抓取所有并更新當前分支。
在 IDEA 中直接使用工具:
選擇抓取倉庫以及分支:
7.GitHub 的簡單頁面發(fā)布
當你的項目是正??娠@示,或者里面有 README.md
文件,我們可以使用 GitHub 發(fā)布作為網(wǎng)頁來瀏覽。
Save:
在 Actions 中可以看到頁面正在建立:
成功!
但是我的這個項目是沒有可顯示的頁面的:
在另一個有寫 README.md
文件的進行發(fā)布:
訪問鏈接路徑:成功啦
?物有本末,事有終始,知所先后。??
文章來源:http://www.zghlxwxcb.cn/news/detail-424624.html
???????我的CSDN???????? 文章來源地址http://www.zghlxwxcb.cn/news/detail-424624.html
到了這里,關(guān)于快速學會 IDEA 中 Git 的使用與 GitHub 倉庫創(chuàng)建、連接、發(fā)布的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!