Git是目前世界上最先進的分布式版本控制系統(tǒng),也是當(dāng)下最流行的版本控制,不管是IT行業(yè),還是小說家等等,使用了Git都會給我們帶來許多便利。
官網(wǎng):https://git-scm.com
首先到官網(wǎng)下載最新git版本:
windows下安裝git:
筆者沒錢買蘋果電腦,在此就給大家演示windows下安裝git的步驟吧。
1、點擊剛下載好的最新git安裝文件,然后點擊“Next”;
2、選擇安裝目錄,我習(xí)慣把軟件安裝到D盤,這個你們隨意就好;
3、
配置安裝組件
默認即可,點擊“Next”;
默認已經(jīng)都幫我們否選上了。包括創(chuàng)建桌面快捷方式、Git Bash、Git GUi、已經(jīng)目錄和后綴關(guān)聯(lián)等。
4、在“Adjusting your PATH environment”選項中,默認即可。點擊“Next”。
這個步驟最好選擇第二項“Use Git from the Windows Command Prompt”, 這樣在Windows的命令行cmd中也可以運行g(shù)it命令了。這樣會對以后的一些操作帶來方便;
5、使用默認配置Use the OpenSLL library
6、配置行結(jié)束標(biāo)記,保持默認“Checkout Windows-style, commit Unix-style line endings”.
7、在終端模擬器選擇頁面,默認即可,配置后Git Gash的終端比較易用。
8、最后配置Git額外選擇默認即可。然后點擊“Install”開始安裝。如果之前安裝過舊版本,會先卸載然后再安裝新版本。
最后成功完成了安裝。
那么有人會問,怎樣判斷git安裝是否成功呢,很簡單,打開git在命令行輸入:git,按回車結(jié)果如下:
如果您看到有這些提示,就證明git安裝成功了,這些都是git常見的命令,接下來我們就開始一起從零學(xué)習(xí)git命令吧!
如果看不懂上面的英文,連大概意思都不知道,那就要多多請教Google翻譯了,哈哈,我也是這樣過來的。
git的基本使用方法:
-
git status: Show the workingtree status
輸入git status命令查看當(dāng)前狀態(tài):
提示意思就是當(dāng)前目錄還不是一個git目錄,所以要先切換到git倉庫目錄下再進行g(shù)it操作;在進行任何git操作之前,先要切換到git倉庫目錄,也就是要切換到項目的文件目錄下,切記、切記、切記!
-
git init:Create anempty Git repository or reinitialize an existing one
初始化倉庫的命令,切換到倉庫目錄,輸入git init,接著我們再次執(zhí)行第1步操作git status查看當(dāng)前狀態(tài),這里我的倉庫是test項目里面有個a.md文件,這時你可以看到test倉庫已經(jīng)被初始化了,默認就直接在master主分支上,a.md文件Untrackedfiles,意思就是a.md文件還沒有被跟蹤,還沒有提交在git倉庫里,并且提示我們可以使用“git add”來提交你想要提交的文件。
3.git add:Add filecontents to the index
接著上一步,我們就隨便更新下a.md文件然后使用git add a.md將a.md添加到git倉庫上,并git status查看下當(dāng)前狀態(tài):
這里可以看到文件a.md的提示:Changes to be committed;意思就是a.md文件等待被提交,當(dāng)然你可以使用“git rm --cached”命令去移除當(dāng)前的緩存;相信你對git add已經(jīng)了解了吧;
-
git commit: Record changes tothe repository
接著我們就開始第一次提交了,git commit –m ‘提交的內(nèi)容說明’;到這一步應(yīng)該都知道是什么意思了,commit是提交的意思,-m代表要提交的信息; 正常來說是要提交成功了,但是由于初次使用,git用戶信息還沒配置好:
git config --globaluser.email "you@example.com"
git config --globaluser.name "Your Name"
按照此格式分別對應(yīng)設(shè)置好用戶郵箱和用戶名就可以了;
到這里已經(jīng)配置好用戶信息,不過上面所執(zhí)行的是全局設(shè)置,如果某個項目需要用特定的郵箱或用戶名來提交的話,只要將git切換到某個項目,把—-global去掉,再重新配置一次就Ok了;
接著我們就來完成我們期待已久的“第一次提交吧”!
輸入git commit –m ‘my first commit’
前面也說了,我們沒事的時候就多用git status,哈哈! git log : Show commit logs
提交成功后,我們可以輸入git log,這時就能看到我們提交的信息包括作者和內(nèi)容;git branch :List, create, or delete branches
branch為分支的意思,在團隊協(xié)作開發(fā)中發(fā)揮了很大作用,比如一個團隊有甲乙兩人,他們分別開發(fā)不同的功能模塊,這時甲乙就可以分別創(chuàng)建自己的分支來提交代碼,互不干擾,等功能寫好了再統(tǒng)一合并代碼。
在前面我們執(zhí)行g(shù)it init初始化倉庫后都會默認生成一個默認主分支master,我們輸入git branch可以查看當(dāng)前分支情況:
帶著*號的master就是我們當(dāng)前的主分支,這時要團隊開發(fā)了,我想在此基礎(chǔ)上創(chuàng)建一個分支a提交我的代碼,接著可以輸入 git branch a 創(chuàng)建分支a;
這時我們輸入git branch 查看當(dāng)前分支情況:
- git checkout:Switch branches or restore working tree files
上面確實是創(chuàng)建了分支a,分支a的內(nèi)容確實是和分支master一模一樣的,但是分支a前面沒有號,證明當(dāng)前位置沒有在a分支上,所以要切換到分支a上,使用git checkout a 執(zhí)行這個命令后再次輸入git branch,這時a分支前面已經(jīng)有了號了,這時我就可以在a分支上隨便改代碼了。
這時如果覺得這樣先創(chuàng)建再切換到分支a上,有點麻煩的話,當(dāng)然你可以一步完成此操作:git –b a
就是這樣就可以代替上面兩步了。
8.git merge: Join two or more development historiestogether
意思就是合并分支的命令,就比如上面a分支的項目都完成了,這時就需要用到這個命令來合并;首先需要切換到主分支master,然后執(zhí)行g(shù)it merge a 正常情況下就合并分支成功了。
9 . git branch –d
刪除分支的命令,有兩種情況可以使用該命令;第一種情況:假如上面新建的a分支的命名錯了,可以使用該命令刪除;第二種情況:新建的a分支已經(jīng)合并到主分支上了,那么a分支就不需要了,可以使用該命令刪除;在執(zhí)行該命令前要確保當(dāng)前位置是在主分支上;
git branch –D
強制刪除分支的命令,有時候使用git branch –d命令去刪除分支可能會刪除失敗,比如a分支上已經(jīng)提交代碼了,這時如果你想執(zhí)行g(shù)it branch –d去刪除這個分支,那肯定是不行了,系統(tǒng)會提示說,該分支還沒有合并代碼到主分支上,所以我們可以使用git branch –D去強制刪除就可以了。-
git tag :
新建標(biāo)簽的意思,可以給當(dāng)前狀態(tài)下的代碼添加一個標(biāo)簽,方便下次查看修改;現(xiàn)在我要在a分支上新建了一個標(biāo)簽為tag1,只需輸入git tag tag1 就可以了,然后可以輸入git tag來查看新建的標(biāo)簽記錄。
至此,git的基本用法也差不多是這些了,很基礎(chǔ)很基礎(chǔ)的用法,必須要懂才能繼續(xù)深入研究, 接下來就可以試著提交代碼到遠程服務(wù)器了 come on !
開始提交代碼到遠程倉庫----GitHub:
1.SSH和HTTPS
如果要向GitHub上提交代碼的話,主要會用到SSH或者HTTPS,說白了就是一種網(wǎng)絡(luò)協(xié)議,最終目的都是向GitHub上提交自己的代碼,不同的地方按我的理解就是:SSH是經(jīng)過RSA公私鑰加密處理的,相對于HTTPS更加安全點,在使用之前就要先配置好SSH key,之后提交代碼就不在需要輸入密碼了,相反HTTPS每次提交代碼到GitHub都要輸入郵箱和密碼來驗證,所以HTTPS用起來簡單,但麻煩一點,SSH就是剛開始要配置麻煩而已;接下來我們就開始配置SSH key吧!
2.配置SSH key
(1)打開Git Bash輸入ssh即可查看電腦是否安裝了SSH,沒有的話就自行下載安裝,一般情況下安裝了Git都會帶上SSH的:
(2)輸入ssh-keygen –t rsa指定rsa算法生成秘鑰,接著連續(xù)3個回車,然后就會生成兩個文件 id_rsa 和 id_rsa.pub ,而 id_rsa 是密鑰,id_rsa.pub 就是公鑰。這兩文件默認在如下目錄里生成:win系統(tǒng)在 C:\Users\Administrator.ssh下,都是隱藏文件,相信你們可以查看的。
這樣我們就可以將id_rsa.pub配置到GitHub上了,然后在提交代碼的時候就會和本地的id_rsa進行校驗,校驗成功才可以提交代碼到GitHub倉庫。
(3)GitHub上配置SSH key也就是id_rsa.pub,首先進入GitHub上的settings頁面,點擊左側(cè)SSH and GPG keys ,如下圖:
然后點擊右上角New SSH key 按鈕,接著粘貼剛才那個id_rsa.pub文件里面的內(nèi)容:
然后Title 那欄不需要填寫,點擊 Add SSH key 按鈕就可以了,最后就測試下SSH key配置成功沒哈,
輸入ssh -T git@github.com如果出現(xiàn)如下提示,則配置成功!
3.接下來終于可以提交代碼到遠程倉庫了
(1)先再補充一下git命令,pull和push
Pull:
git pull origin master
將遠程最新代碼更新到本地。我們在push之前都會先pull,這樣就不容易沖突。
push:
git push origin master
將本地代碼推到遠程master 分支
(2)好了,提交代碼到GitHub有兩種方法:第一種方法: Clone自己的項目,在自己GitHub上創(chuàng)建一個項目,然后在電腦本地(你喜歡的路徑)執(zhí)行如下git命令:git clone git@github.com:zsml2016/News.git 其中git@github.com:zsml2016/News.git是項目的地址,獲取方法如下圖:
執(zhí)行命令行,結(jié)果如下:這樣就順利地把GitHub上的News項目克隆到電腦本地了,這時細心點可以發(fā)現(xiàn)該項目本身就是git倉庫了,不需要再執(zhí)行g(shù)it init初始化了,而且已經(jīng)關(guān)聯(lián)了GitHub遠程庫了;
沒錯,到這里我們只需修改我們想修改的地方,然后git commit,最后就git push origin master
然后打開GitHub項目可以看到剛才修改的內(nèi)容已經(jīng)提交上來了
第二種方法:就是關(guān)聯(lián)本地項目,就是GitHub沒有此項目,我們只能關(guān)聯(lián)本地的項目,然后再提交到GitHub遠程倉庫; 比如現(xiàn)在我們本地有個news2項目,現(xiàn)在需要在GitHub上創(chuàng)建一個news1(這里為了區(qū)別遠程和本地項目名字,所以命名并沒有限制,自己喜歡,哈哈),然后再把本地news2項目的所有內(nèi)容提交到GitHub上的news1項目里;
第一步:在GitHub上創(chuàng)建news1項目;
第二步:切換到本地news2目錄下,執(zhí)行如下代碼將本地news2項目和GitHub上的news1項目進行關(guān)聯(lián):
友情提示:由于news2還不是一個git倉庫,所以在執(zhí)行g(shù)it操作都要先初始化。
先解釋下上面操作什么意思吧,remote譯為遠程的意思,origin是給這個遠程倉庫起的名字,沒錯,名字可以隨便起的,不過我們都習(xí)慣如果只有一個遠程倉庫時名字就是origin,所以git remote add origin就是添加一個遠程倉庫,git@github.com:zsml2016/News1.git是遠程倉庫的地址;
那為什么要給遠程庫起名呢?因為我們可能會友多個遠程倉庫,這樣就要起不同的名字;
我們可以使用git remote –v 來查看當(dāng)前項目有哪些遠程庫:
接下來我們本地的news2項目就可以提交到遠程倉庫news1了:
這時我們進入GitHub上的new1項目,可以發(fā)現(xiàn)news2項目已經(jīng)提交上來了:
git提交項目到GitHub的學(xué)習(xí)也差不多了,接下來可以再進階地去學(xué)習(xí),正所謂學(xué)無止境,come on !
支持我的話可以關(guān)注下我的公眾號,也歡迎大家投稿~
掃一掃關(guān)注我的微信公眾號:程序猿在廣東my二維碼.jpg