來源:http://www.cnblogs.com/iruxu/p/gitgui.html
前言
之前一直想一篇這樣的東西,因?yàn)樽畛踅佑|時(shí)帽芽,我也認(rèn)真看了廖雪峰的教程删掀,但是似乎我覺得講得有點(diǎn)多,而且還是會(huì)給我?guī)砗芏喽嘤嗲抑貜?fù)的操作負(fù)擔(dān)导街,所以我希望能壓縮一下它在我工作中的成本披泪,但是搜索了一下并沒有找到滿意的教程,新的一年自己梳理一下自己的經(jīng)驗(yàn)搬瑰。
可能男生們大神比較多款票,覺得Git是如此簡(jiǎn)單,便已覺得命令行操作就是SO EASY泽论,甚至或許有看不起可視化這樣面對(duì)低端用戶的心理艾少,好的,那您就當(dāng)我是水貨可以右上角了翼悴。
我一直覺得類似GIT這樣的東西缚够,他對(duì)于我而言只是個(gè)不完全必須的工具怀偷,我并不想成為使用他的專家抑诸,類似的東西,今天有GIT晌梨,明天可能有GAT钙姊,或者GAY?所以快速地掌握它我需要的重要日常操作埂伦,最好是10分鐘煞额,那就好了,如果你有類似的想法沾谜,好吧膊毁,那不要廢話了,咱們趕緊開始基跑。
(全文限windows系統(tǒng)婚温。)
何為GIT?
權(quán)限校驗(yàn)
首先,您的數(shù)據(jù)保存在遠(yuǎn)端服務(wù)器一份,服務(wù)器需要對(duì)您的身份識(shí)別篱竭。一段RSA加密字符串力图。
啟動(dòng)GUI,菜單-幫助掺逼,【Step1-創(chuàng)建密鑰】Generate SSH KEY
【Step2-添加密鑰】去你的代碼托管服務(wù)器吃媒,你的賬號(hào)設(shè)置中,添加它。
比如在Github中的地址赘那,title隨意刑桑,比如你可以用Home,company等作為標(biāo)識(shí)來區(qū)別。
Gitlab中的演示
賬號(hào)保存
如果不做設(shè)置的話募舟,每次提交的時(shí)候祠斧,都會(huì)詢問你填寫密碼。于是我們先來把這個(gè)設(shè)置好胃珍。
【Step3.1-添加環(huán)境變量】
我的電腦 - 屬性 - 高級(jí)系統(tǒng)設(shè)置 - 環(huán)境變量 - 新建變量
變量名HOME梁肿,變量值%USERPROFILE%
【Step3.2-創(chuàng)建賬號(hào)文件】
開始 - 運(yùn)行 中打開%Home%,即windows的管理員賬號(hào)文件夾觅彰。
新建一個(gè)名為"_netrc"的文件吩蔑,填寫你要保存的服務(wù)器地址及賬號(hào)密碼,保存填抬。
操作流程
如果你用過SVN的話就會(huì)大致了解操作流程烛芬,如果沒有也沒關(guān)系。
初始化(Git init)
顧名思義飒责,就是新建一個(gè)項(xiàng)目赘娄,跟你用PS新建一張畫布一樣。在你新建好的文件夾中右鍵創(chuàng)建即可宏蛉,若點(diǎn)擊Git bash則以此目錄作為當(dāng)前目錄進(jìn)入命令行狀態(tài)遣臼。
添加(Git add)
添加并不是提交代碼到遠(yuǎn)程Git庫,Git也并不會(huì)你修改了代碼它自動(dòng)幫你保存你修改的每一個(gè)過程拾并。你修改了很多文件揍堰,但未必所有的修改,最終打算提交上去嗅义,那么哪些是你打算提交的屏歹,你可以添加進(jìn)來待會(huì)提交,叫做緩存改動(dòng)之碗。很簡(jiǎn)單蝙眶,比如本地電腦上我有整個(gè)項(xiàng)目完整的東東,甚至包含了賬號(hào)密碼的一些文件褪那,但是我只是ADD除賬號(hào)密碼之外的文件幽纷,并不緩存賬號(hào)密碼文件的改動(dòng)。不被ADD它就不會(huì)參與后續(xù)的操作博敬。通常我都會(huì)直接全部緩存霹崎,它會(huì)自動(dòng)尋找所有有改動(dòng)的文件,而不需要提交的文件放在忽略的文件夾中冶忱。(關(guān)于忽略下面我們就會(huì)說到)
忽略(.gitignore)
但實(shí)際上大部分我們的文件都是一起提交的尾菇,并不會(huì)逐一去甄選境析,又或者類似PSD這樣的大源文件以及并不作為產(chǎn)品最終展示的過渡文件,我們可以統(tǒng)一放在臨時(shí)文件夾中派诬,并忽略此文件夾劳淆。
提交(Git commit)
提交則代表此前被添加ADD的文件已確認(rèn)被提交到Git庫了。需要注意的是默赂,如果你改變代碼的縮進(jìn)(盡管沒有修改內(nèi)容)沛鸵,默認(rèn)狀態(tài)下會(huì)被識(shí)別為整個(gè)代碼全部變更。提交的時(shí)候是要求必須要寫備注的缆八。
上傳(Git push)
顧名思義曲掰,上傳則是上至遠(yuǎn)端服務(wù)器了,小伙伴們可以看到咱們的渣渣代碼了(好羞澀奈辰。
獲取遠(yuǎn)程代碼(Git remote/fetch)
比如你在公司做好的東東栏妖,今夜難眠十分亢奮,回家準(zhǔn)備繼續(xù)搬磚奖恰,那咱們就在家里的電腦上吊趾,同上進(jìn)行好各種安裝配置賬號(hào),先把公司做好的東東嫩下來(不過公司是內(nèi)網(wǎng)不可以瑟啃,但是假如是Github上是可以的)论泛。又或者和小伙伴一起開發(fā)個(gè)啥,你也要先fetch他的下來蛹屿。至于怎么操作屁奏,下面上圖。現(xiàn)在你只要知道错负,大大們下齒全露刷牙表情對(duì)你口口念念的fetch是個(gè)啥子~
來坟瓢,跟我念,fetch~~(我怕你們腦補(bǔ)不出來……)
先來設(shè)置與遠(yuǎn)程地址的關(guān)聯(lián)湿颅,Git remote:
填寫SSH地址與項(xiàng)目名载绿。下面有3個(gè)選項(xiàng):
第一個(gè):立刻獲取最新改動(dòng)(所以如果是本地克隆遠(yuǎn)程一個(gè)項(xiàng)目粥诫,也可以這樣操作)油航。
第二個(gè):本地新建的項(xiàng)目,初始化遠(yuǎn)程倉庫并發(fā)布過去怀浆。
第三個(gè):什么也不做谊囚。
在項(xiàng)目的進(jìn)行過程中,獲取倉庫的最新改動(dòng)Git fetch
選擇從遠(yuǎn)程倉庫哪個(gè)分支中獲取更新执赡,如果沒有則只有主支镰踏。
提示成功則改動(dòng)的已經(jīng)被存放到臨時(shí)區(qū)了,你一會(huì)還需要進(jìn)行合并操作沙合,如果沒有任何改動(dòng)奠伪,則列表中是空的,比如:
合并(Git merge)
請(qǐng)注意啦,不管你本地有沒有代碼绊率,fetch之后呢谨敛,是都要merge的,也就是說滤否,fetch下來后脸狸,大大的代碼還在一個(gè)小黑屋里,我們需要把它裝到自己兜里藐俺。
選擇合并 - 本地合并炊甲,然后選擇本地的分支(如果你沒有創(chuàng)建分支,則只有1個(gè)主支master)
沖突處理(Conflict)
合并的過程中可能會(huì)出現(xiàn)一些紅色的文件與一堆嘆號(hào)欲芹,這時(shí)候慌慌張張的點(diǎn)啥它都不管用卿啡,不用擔(dān)心,不是程序壞了耀石,只是有沖突的文件牵囤,例如A童鞋寫了width:1180px,你寫了width:auto滞伟。那到底用你們誰的呢揭鳞。
在GUI界面正文區(qū),正文區(qū)右鍵可以選擇梆奈,Use local version(使用本地版本)或Use remote version(使用遠(yuǎn)程版本)野崇,到底用你的還是小伙伴的?或者你也可以自己再整合亩钟。
其他還有分支和一些高級(jí)功能乓梨,如果需要了解可以自己再摸索摸索,以上的操作已經(jīng)可以滿足簡(jiǎn)單的開發(fā)需求了清酥。
總結(jié)
1.先進(jìn)行安裝扶镀,密鑰添加,賬號(hào)等一次性操作焰轻。
2.操作流程:
來源:http://www.cnblogs.com/iruxu/p/gitgui.html