Git安裝與基本用法

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的基本使用方法:

  1. git status: Show the workingtree status
    輸入git status命令查看當(dāng)前狀態(tài):


提示意思就是當(dāng)前目錄還不是一個git目錄,所以要先切換到git倉庫目錄下再進行g(shù)it操作;在進行任何git操作之前,先要切換到git倉庫目錄,也就是要切換到項目的文件目錄下,切記、切記、切記!

  1. 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)了解了吧;

  1. git commit: Record changes tothe repository
    接著我們就開始第一次提交了,git commit –m ‘提交的內(nèi)容說明’;到這一步應(yīng)該都知道是什么意思了,commit是提交的意思,-m代表要提交的信息; 正常來說是要提交成功了,但是由于初次使用,git用戶信息還沒配置好:

    Please tell me whoyou are. 沒錯,接著就要配置郵箱和用戶名,以便他們方便地查看和聯(lián)系提交人:
    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,哈哈!

  2. git log : Show commit logs
    提交成功后,我們可以輸入git log,這時就能看到我們提交的信息包括作者和內(nèi)容;

  3. 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)前分支情況:
  1. 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)前位置是在主分支上;


  1. git branch –D
    強制刪除分支的命令,有時候使用git branch –d命令去刪除分支可能會刪除失敗,比如a分支上已經(jīng)提交代碼了,這時如果你想執(zhí)行g(shù)it branch –d去刪除這個分支,那肯定是不行了,系統(tǒng)會提示說,該分支還沒有合并代碼到主分支上,所以我們可以使用git branch –D去強制刪除就可以了。

  2. 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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內(nèi)容