零基礎(chǔ)入門Git&Github
了解Git和Github
什么是Git
Git(讀音為/g?t/)。是一個(gè)開源的分布式版本控制系統(tǒng),可以有效、高速地處理從很小到非常大的項(xiàng)目版本管理。Git 是 Linus Torvalds 為了幫助管理 Linux 內(nèi)核開發(fā)而開發(fā)的一個(gè)開放源碼的版本控制軟件。
版本控制是一種記錄一個(gè)或若干個(gè)文件內(nèi)容變化,以便將來查閱特定版本修訂情況的系統(tǒng)。版本控制是指對軟件開發(fā)過程中各種程序代碼、配置文件及說明文檔等文件變更的管理,是軟件配置管理的核心思想之一。
GitHub是一個(gè)面向開源及私有軟件項(xiàng)目的托管平臺,因?yàn)橹恢С謌it 作為唯一的版本庫格式進(jìn)行托管,故名GitHub。Github是全球最大的社交編程及代碼托管。https://github.com。Github可以托管各種git庫,并提供一個(gè)web界面(用戶名.github.io/倉庫名),作為一名編程開發(fā)人員如果不知道github那真的out了。
Github和Git是什么關(guān)系
關(guān)于github,這是一個(gè)網(wǎng)站,就是每個(gè)程序員自己寫的程序,可以在github上建立一個(gè)網(wǎng)上的倉庫,你每次提交的時(shí)候可以把代碼提交到網(wǎng)上,這樣你的每次提交,別人也都可以看到你的代碼,同時(shí)別人也可以幫你修改你的代碼,這種開源的方式非常方便程序員之間的交流和學(xué)習(xí)。
Git是一個(gè)版本管理工具,是可以在你電腦不聯(lián)網(wǎng)的情況下,只在本地使用的一個(gè)版本管理工具,其作用就是可以讓你更好的管理你的程序,比如你原來提交過的內(nèi)容,以后雖然修改了,但是通過git這個(gè)工具,可以把你原來提交的內(nèi)容重現(xiàn)出來,這樣對于你后來才意識到的一些錯(cuò)誤的更改,可以進(jìn)行還原。
為什么學(xué)習(xí)github
1. GitHub 上有很多大牛出沒,國外的咱先不說,就國內(nèi)的像百度、騰訊、阿里之類的大公司,里面的很多工程師都在 GitHub 上安家落戶,有空的時(shí)候多在 GitHub 上逛逛,關(guān)注一下大牛,沒準(zhǔn)還能搞個(gè)內(nèi)推什么的。
2. GitHub 上可以接觸到最新的最前沿的 IT 技術(shù)。因?yàn)?,我們知道任何軟件或者產(chǎn)品在上線發(fā)布之前,都有開發(fā)的過程和測試的過程,GitHub 上你可以接觸到這些產(chǎn)品的初始狀態(tài)、中間狀態(tài)和發(fā)布狀態(tài),你可以第一時(shí)間了解到產(chǎn)品的動向。而且根據(jù) GitHub 上每年發(fā)布的統(tǒng)計(jì)數(shù)據(jù),你可以知道哪些技術(shù)是最火熱的技術(shù),及時(shí)跟上這些技術(shù),而不是學(xué)一些過時(shí)的小眾的技術(shù)。這個(gè)恐怕是每個(gè)搞 IT 技術(shù)的人,都非常關(guān)心的一個(gè)問題。
3. 學(xué)習(xí)優(yōu)秀的開源項(xiàng)目
4. 關(guān)注行業(yè)前輩了解最新的行業(yè)動態(tài)
Git安裝和使用
為啥要安裝Git?這個(gè)就相當(dāng)于你電腦的CMD命令程序。我們安裝這個(gè)后就不用電腦的CMD命令了直接操作這個(gè)即可。首先就是去https://git-scm.com官網(wǎng)下載Git,根據(jù)你電腦系統(tǒng)的配置信息,下載對應(yīng)的安裝程序,然后開始進(jìn)行下面的步驟
1.下載好Git的安裝包,開始安裝,打開安裝包,出現(xiàn)如圖的界面,點(diǎn)擊Next:
2.選擇你要安裝的位置,我以C盤為例,路徑為圖中所示,安裝到其他位置的話,點(diǎn)擊Browse,選擇你要安裝的位置,然后點(diǎn)擊Next,進(jìn)入下一步:
3.選擇你是否創(chuàng)建桌面快捷方式,其他默認(rèn)即可,點(diǎn)擊Next,進(jìn)入下一步:
4.是否將Git快捷方式的目錄加入開始菜單欄
5.這個(gè)是選擇文本編輯器的方式,默認(rèn)是Vim,也可以選擇其他的方式,自主選擇,在這里我選擇的Vim默認(rèn)方式。選擇好文本編輯器的方式后,點(diǎn)擊Next,進(jìn)入下一個(gè)流程
6.選擇安裝 Git 時(shí)對環(huán)境變量PATH的影響,第一種影響較小,第三種會影響到Windows的自帶工具,默認(rèn)勾選中間項(xiàng),建議不要修改,直接點(diǎn)擊 “Next” 繼續(xù)安裝:
7.選擇 Git 在使用 HTTPS 時(shí)使用的庫,若無特殊需求,可保持默認(rèn)選項(xiàng),點(diǎn)擊 “Next” 繼續(xù)安裝:
8.選擇提交與拉取記錄時(shí),對換行符的處理方式,若無特殊需要,默認(rèn)選擇即可,點(diǎn)擊 “Next” 繼續(xù)安裝:
9.選擇模擬終端軟件(即命令行窗口軟件),若無特殊需要,可默認(rèn)選擇,點(diǎn)擊 “Next” 繼續(xù)安裝:
10.最新功能的詢問,若不想嘗試尚未保證穩(wěn)定性的新功能,默認(rèn)不勾選,點(diǎn)擊 “Install” 即可完成安裝:
11.安裝完成
12.回到桌面,點(diǎn)擊鼠標(biāo)右鍵,會出現(xiàn)兩個(gè)選項(xiàng)Git GUI Here和Git Bash Here,在打開Cmd(Win+R),分別輸入git和git --version,如果出現(xiàn)如下圖的情況,即安裝成功!
Git基本工作流程
1 Git結(jié)構(gòu)
2 本地庫和遠(yuǎn)程庫
團(tuán)隊(duì)內(nèi)部協(xié)作
跨團(tuán)隊(duì)協(xié)作
Git 命令行操作
1 本地庫初始化
git init
執(zhí)行完此命令后會在本地工作區(qū)生成一個(gè).git文件夾。里面存放著是本地庫相關(guān)的子目錄和文件,不要?jiǎng)h除,也不要胡亂修改。
2 設(shè)置簽名
1.方式一(項(xiàng)目級別/倉庫級別:僅在當(dāng)前本地庫范圍內(nèi)有效)
git config user.name 'liuyao'
git config user.email 'liuyao@163.com'
信息保存位置:./.git/config文件
2.方式二(系統(tǒng)用戶級別:登錄當(dāng)前操作系統(tǒng)的用戶范圍)
git config --global user.name 'liuyao'
git config --global user.email 'liuyao@163.com'
信息保存位置:./.git/config文件
作用:區(qū)分不同開發(fā)人員的身份
辨析:這里設(shè)置的簽名和登錄遠(yuǎn)程庫(代碼托管中心github)的賬號、密碼沒有任何關(guān)系。
項(xiàng)目級別優(yōu)先于系統(tǒng)用戶級別,二者都有時(shí)采用項(xiàng)目級別的簽名.如果只有系統(tǒng)用戶級別的簽名,就以系統(tǒng)用戶級別的簽名為準(zhǔn),二者都沒有不允許
Git基本操作
1 狀態(tài)查看
git status #查看工作區(qū)、暫存區(qū)狀態(tài)
2 添加
git add [file name] #將工作區(qū)的“新建/修改”添加到暫存區(qū)
3 提交
git commit -m "commit message" [file name] #將暫存區(qū)的內(nèi)容提交到本地庫
4 查看歷史記錄
git log #查看版本歷史記錄(方式一)
git log --pretty=oneline #查看版本歷史記錄(方式二)
git log --oneline #查看版本歷史記錄(方式三)
git reflog #查看版本歷史記錄(方式四)
本地庫與遠(yuǎn)程庫建立連接
在test文件夾下右鍵,點(diǎn)擊 git bash here 。
git init # 初始化本地庫
執(zhí)行完git init命令后,會在test文件夾下新建一個(gè).git文件。注意:此文件夾是一個(gè)隱藏文件夾。
2.假如你要上傳一個(gè)文本文件git.txt.
git add git.txt # 把工作區(qū)內(nèi)容(git.txt文件)提交到暫存區(qū)
3.把暫存區(qū)的內(nèi)容(git.txt文件)提交到本地庫
#把暫存區(qū)的內(nèi)容(git.txt文件)提交到本地庫
git commit -m "my first commit" git.txt
4.將本地庫推送到遠(yuǎn)程庫
#本地庫推送到遠(yuǎn)程庫
git push origin master
克隆遠(yuǎn)程庫
把遠(yuǎn)程庫xxx克隆到本地庫(前提是你已經(jīng)在github上面新建了一個(gè)庫,或者有遠(yuǎn)程庫的地址鏈接)
1.克隆遠(yuǎn)程庫到本地
git clone [遠(yuǎn)程地址]
#git clone https://github.com/zhangsan/cdn.git
多人協(xié)作
小劉要克隆小雅的xxx遠(yuǎn)程庫修改之后再提交給小雅(多個(gè)人之間的操作)
1 克隆
git clone [小雅遠(yuǎn)程庫的地址]
#git clone https://github.com/xiaoya-hub/cdn.git
這樣你就把小雅的xxx遠(yuǎn)程庫克隆到你的本地庫。
2 修改文件
現(xiàn)在我就可以使用小雅庫里面的東西了。假如我在庫里面添加了一個(gè)good.txt文件。之后要把這個(gè)文件推送到小雅的遠(yuǎn)程庫。
3 將修改的文件提交到暫存區(qū)
git add good.txt #把工作區(qū)內(nèi)容(good.txt文件)提交到暫存區(qū)
4 暫存區(qū)的內(nèi)容提交到本地庫
git commit -m "這里填備注,隨便寫" good.txt #把暫存區(qū)的內(nèi)容(good.txt文件)提交到本地庫
5 讓小雅加小劉為好友
登錄小雅的github 打開小雅的xxx庫->settings->collaborators->填上劉堯的github用戶名->點(diǎn)擊Copy invite link->復(fù)制小雅xxx遠(yuǎn)程庫地址。把地址發(fā)送給小劉,不管是微信還是QQ都可以。
6 小劉接受小雅的邀請
小劉登錄自己的github,訪問小雅發(fā)送給自己的鏈接。會發(fā)現(xiàn)小雅邀請自己的界面,點(diǎn)擊接受就好了。
7 執(zhí)行推送
在小劉的本地文件夾執(zhí)行
git push origin master #執(zhí)行推送
解決Github下載速度慢的問題
GitHub是一個(gè)巨大的開源寶庫,以及程序員和編程愛好者的聚集地,諸多優(yōu)秀的開源項(xiàng)目全部都是位于GitHub上。但是每當(dāng)我們準(zhǔn)備去下載一個(gè)優(yōu)秀的開源項(xiàng)目時(shí),會發(fā)現(xiàn) git clone的速度異常之慢!因?yàn)間ithub的服務(wù)器遠(yuǎn)在美國。小項(xiàng)目等幾分鐘無所謂;一旦項(xiàng)目龐大起來,或者項(xiàng)目文件數(shù)目一多, git clone 大概率會失?。‘?dāng)然網(wǎng)上常見的諸如修改hosts、代理等方式實(shí)際使用效果并不好,而且也不穩(wěn)定。
GitHub下載的加速方法:通過國內(nèi)碼云平臺的轉(zhuǎn)接,來完成GitHub上項(xiàng)目的下載加速。碼云是馬云團(tuán)隊(duì)開發(fā)的國內(nèi)版github。
注冊碼云
首先確保碼云上有賬戶,可以正常使用,沒有的可以自行注冊一下,注冊賬號這件事應(yīng)該是非常的簡單了。
將github的倉庫轉(zhuǎn)移到碼云
1.點(diǎn)擊右上角新建倉庫的加號 +,選擇“從 GitHub/GitLab導(dǎo)入倉庫”菜單
2.然后填寫位于 GitHub上你想 clone的倉庫地址并導(dǎo)入
3.這一步交給碼云來做速度是非??斓?,一會兒功夫,碼云就克隆出了一份和GitHub上一模一樣的項(xiàng)目!
4.接下來我們通過碼云上的項(xiàng)目地址,將項(xiàng)目clone到本地,這時(shí)候的clone速度就很快了,幾 MB/s的速度是沒問題的,很快項(xiàng)目就下載下來了。
重新關(guān)聯(lián)遠(yuǎn)端地址
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!