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)系作者
  • 序言:七十年代末桩皿,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子幢炸,更是在濱河造成了極大的恐慌泄隔,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阳懂,死亡現(xiàn)場離奇詭異梅尤,居然都是意外死亡,警方通過查閱死者的電腦和手機岩调,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赡盘,“玉大人号枕,你說我怎么就攤上這事≡上恚” “怎么了葱淳?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長抛姑。 經(jīng)常有香客問我赞厕,道長,這世上最難降的妖魔是什么定硝? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任皿桑,我火速辦了婚禮,結(jié)果婚禮上蔬啡,老公的妹妹穿的比我還像新娘诲侮。我一直安慰自己,他們只是感情好箱蟆,可當(dāng)我...
    茶點故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布沟绪。 她就那樣靜靜地躺著,像睡著了一般空猜。 火紅的嫁衣襯著肌膚如雪绽慈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天辈毯,我揣著相機與錄音坝疼,去河邊找鬼。 笑死漓摩,一個胖子當(dāng)著我的面吹牛裙士,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播管毙,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼腿椎,長吁一口氣:“原來是場噩夢啊……” “哼桌硫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起啃炸,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤铆隘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后南用,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體膀钠,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年裹虫,在試婚紗的時候發(fā)現(xiàn)自己被綠了肿嘲。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,688評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡筑公,死狀恐怖雳窟,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情匣屡,我是刑警寧澤封救,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站捣作,受9級特大地震影響誉结,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜券躁,卻給世界環(huán)境...
    茶點故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一惩坑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧嘱朽,春花似錦旭贬、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岸军,卻和暖如春奋刽,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背艰赞。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工佣谐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人方妖。 一個月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓狭魂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子雌澄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,573評論 2 353

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