概要
??本文適用于新手理解GITHUB社區(qū)與GIT的理解與入門(mén)使用。
GITHUB入門(mén)
??GITHUB社區(qū)是一個(gè)代碼開(kāi)源交流社區(qū)。
對(duì)于普通的開(kāi)發(fā)者而言:
- 可以在上面找到各種開(kāi)源好用的工具用于借鑒學(xué)習(xí)或者下載使用。
- 可以提問(wèn),搜索相應(yīng)的問(wèn)題處理辦法。比如bug。
對(duì)于高級(jí)開(kāi)發(fā)者而言:
- 可以參與到開(kāi)源內(nèi)容中,針對(duì)開(kāi)源項(xiàng)目提交自己的版本分支。
- 可以開(kāi)發(fā)維護(hù)屬于自己的開(kāi)源項(xiàng)目。
??GITHUB提供了門(mén)戶網(wǎng)站與開(kāi)發(fā)者工具兩者來(lái)搭配使用。GITHUB門(mén)戶網(wǎng)站主要用于可視化管理、下載、提問(wèn)交流管理自己的賬戶資料等。
GITHUB站點(diǎn)
??對(duì)于用戶而言,只需要搜尋下載你要的項(xiàng)目和代碼是不需要注冊(cè)登錄的。直接在右上角搜索你想要的內(nèi)容,比如jd-gui。
搜索
搜索后的結(jié)果:
- repositories 所有和你搜索內(nèi)容相關(guān)的倉(cāng)庫(kù),通常一個(gè)倉(cāng)庫(kù)對(duì)應(yīng)著一個(gè)開(kāi)源項(xiàng)目。
- issues 所有用戶,提問(wèn)交流的地方。
- Language 標(biāo)識(shí)是用什么語(yǔ)言寫(xiě)的
![]()
repository
具體選擇某一個(gè)repository后,
- Code 頁(yè)默認(rèn)會(huì)展示master(最主要)分支的源代碼
- Issues 是該項(xiàng)目中在GITHUB里所有問(wèn)題和BUG
- Branch 是有多少個(gè)分支(下面GIT會(huì)說(shuō)什么是分支)
- TAGS 通常用于標(biāo)識(shí)不同版本,方便快速查找
- 中間源碼部分可以直接點(diǎn)擊查看詳細(xì)內(nèi)容
![]()
READ ME
該開(kāi)源項(xiàng)目作者的所編寫(xiě)的使用教程或說(shuō)明內(nèi)容等。
releases
點(diǎn)擊releases后,所有版本列表,Latest是最新版本。
releases中的Assets
min.jar:更精簡(jiǎn)的相應(yīng)版本
.deb:Debian Linux操作系統(tǒng)安裝包
.jar:JAVA包
.rpm:Red Hat Linux操作系統(tǒng)安裝包
.tar:Unix和類(lèi)Unix系統(tǒng)上的壓縮
.zip:Windows系統(tǒng)上的壓縮
Source code (zip):WINDOWS下的源碼安裝壓縮包
Source code (tar.gz);LINUX下的源碼安裝壓縮包
GIT工具
??GIT工具是一個(gè)開(kāi)源的分布式的代碼版本控制系統(tǒng),是開(kāi)發(fā)者必備的重要工具。它可以幫你記錄你個(gè)人的修改歷史版本,可以在多人協(xié)作項(xiàng)目時(shí)進(jìn)行代碼合并。
版本管理:
- 在GIT管理中,中央庫(kù)可以狹義的理解為一個(gè)項(xiàng)目。
- 分支通常由一個(gè)MASTER分支(最主要的分支),以及多個(gè)其它分支組成。每個(gè)分支都可以有屬于自己分支的修改,最終以合并到MASTER分支為目的。
- 任何分支都可以被被授權(quán)的用戶拉取。
- 拉取的內(nèi)容是文件本身以及所有修改提交的記錄。
![]()
工具安裝
官網(wǎng)地址github項(xiàng)目地址。
Windows安裝:
下載exe后直接跟著步驟安裝即可。
MAC安裝:
- 進(jìn)入官網(wǎng)后選擇:
- 下載DMG(Homebrew,MacPorts等等是其它命令行方式的安裝)
- 執(zhí)行時(shí)如果出現(xiàn)
- 在安全與隱私中選擇仍要打開(kāi)
- 跟著操作一直安裝即可。
基礎(chǔ)使用
??在最初的開(kāi)始,你可以理解為GIT工具就是用來(lái)幫你管理一個(gè)目錄以及所有該目錄的子目錄。
本機(jī)初始化
- 新建一個(gè)文件夾,并且在命令行中進(jìn)入這個(gè)文件夾
- 在目錄下,執(zhí)行g(shù)it init命令
- 該命令生成了.git隱藏目錄,所以需要ls -a來(lái)顯示隱藏內(nèi)容。
遠(yuǎn)程初始化
??git init的命令是在本機(jī)上建立了倉(cāng)庫(kù),在實(shí)際環(huán)境中通常會(huì)在服務(wù)器上建立這個(gè)初始化。然后所有人通過(guò)遠(yuǎn)程的方式檢測(cè)服務(wù)器上的GIT(.git中存儲(chǔ)了相應(yīng)ip端口信息)。
??克隆github上的項(xiàng)目git clone https://github.com/jquery/jquery.git
添加到暫存區(qū)
- 在該目錄下新建a.txt文件
- 通過(guò)
git add 文件全名包含擴(kuò)展名
的方式將文件添加到git的暫存區(qū),并且新建一個(gè)b.txt比較它們?cè)趃it中的狀態(tài)。 - On brach master 標(biāo)識(shí)我們現(xiàn)在在master分支上,這也是默認(rèn)分支。
- No commits yet板塊標(biāo)識(shí)還沒(méi)有被提交的內(nèi)容(目前a.txt還在暫存區(qū))。
- use "git rm --cached 文件"可以用于從緩存區(qū)撤離(此時(shí)會(huì)和b.txt一樣的狀態(tài))
- b.txt狀態(tài)中的Untracked files表示這個(gè)文件沒(méi)有被git追蹤。git不會(huì)管理它。
提交暫存區(qū)的修改
- 通過(guò)
git commit -m ''
命令提交到本地區(qū)
的歷史版本上。 - 此時(shí)查看a.txt的狀態(tài),表示工作區(qū)沒(méi)有需要提交的內(nèi)容,是干凈的。
查看日志
通過(guò)git log -p -2 文件
查看最近兩次修改的內(nèi)容詳細(xì)。
推送到遠(yuǎn)程倉(cāng)庫(kù)
如果是git clone下來(lái)的項(xiàng)目,使用git remote
命令可以查看遠(yuǎn)程名稱與地址,以上面的jquery為例子:
$ git remote -v
origin git@github.com:jquery/jquery.git (fetch)
origin git@github.com:jquery/jquery.git (push)
如果你擁有該分支的權(quán)限,你可以使用git push origin master
-git push 遠(yuǎn)程名 遠(yuǎn)程分支
來(lái)推送你工作區(qū)的內(nèi)容到遠(yuǎn)程分支。
分支
通過(guò)git branch
查看本地分支,通過(guò)git branch -a
查看遠(yuǎn)程分支文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-828122.html
- 通過(guò)git checkout -b從遠(yuǎn)程分支origin/main上copy下來(lái)并新建一個(gè)本地分支test-branch
- 通過(guò)git branch來(lái)查看當(dāng)前所在分支
- git checkout main切換本地分支
apple@apples-MacBook-Pro jquery % git checkout -b test-branch origin/main
Branch 'test-branch' set up to track remote branch 'main' from 'origin'.
Switched to a new branch 'test-branch'
apple@apples-MacBook-Pro jquery % git branch
main
* test-branch
apple@apples-MacBook-Pro jquery % git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
apple@apples-MacBook-Pro jquery % git branch
* main
test-branch
apple@apples-MacBook-Pro jquery %
-
*
代表當(dāng)前所在分支,可以通過(guò)git merge test-brach
合并到main(當(dāng)前如果在main)。
遠(yuǎn)程更新
git pull origin master
命令可以從遠(yuǎn)程名 遠(yuǎn)程分支上拉取,并自動(dòng)合并
到你的本地文件中。相當(dāng)于執(zhí)行了如下兩句。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-828122.html
git fetch origin # 抓取遠(yuǎn)程倉(cāng)庫(kù)更新
git merge origin/master # 將遠(yuǎn)程主分支合并到本地當(dāng)前分支
- git fetch拉取更新后不會(huì)自動(dòng)合并到文件,方便你查看區(qū)別后合并。git fetch后通過(guò)git log查看。
把GITHUB當(dāng)做你的遠(yuǎn)程倉(cāng)庫(kù)
- 在GITHUB官網(wǎng)上進(jìn)行賬戶注冊(cè)開(kāi)通
- 本機(jī)GIT工具賬戶設(shè)置
apple@apples-MacBook-Pro jquery % git config --global user.name "EDU-Samuel"
apple@apples-MacBook-Pro jquery % git config --global user.email "@qq.com"
- 加密key的生成(輸入后一直回車(chē))
此時(shí)如果提示你輸入密碼不管直接回車(chē)
ssh-keygen -t rsa -C "剛才設(shè)置的郵箱"
- 生成后會(huì)告訴你路徑
Your identification has been saved in
-
id_rsa
是私鑰 -
id_rsa.pub
是公鑰
-
在github上創(chuàng)建項(xiàng)目
- 在個(gè)人空間中找到Settings
- 選擇new ssh key,將剛才的公鑰復(fù)制進(jìn)來(lái)。
- 點(diǎn)擊左上角的按鈕回到主頁(yè),選擇創(chuàng)建第一個(gè)倉(cāng)庫(kù),
- 輸入項(xiàng)目名稱,描述,選擇公有私有等等
在本機(jī)上使用
- 復(fù)制地址通過(guò)
git clone git@github.com:XXX.git
復(fù)制到本地。 (請(qǐng)注意現(xiàn)在已經(jīng)不是公共項(xiàng)目了,所以如果使用https協(xié)議鏈接需要身份驗(yàn)證,我們配置的ssh秘鑰就沒(méi)有意義了)
到了這里,關(guān)于完全從零Java自學(xué)系列【工具篇】(GITHUB開(kāi)源社區(qū)&GIT管理工具入門(mén)使用)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!