前言
之前一直想一篇這樣的東西,因為最初接觸時,我也認真看了廖雪峰的教程,但是似乎我覺得講得有點多,而且還是會給我帶來很多多余且重復的操作負擔,所以我希望能壓縮一下它在我工作中的成本,但是搜索了一下並沒有找到滿意的教程,新的一年自己梳理一下自己的經驗。
可能男生們大神比較多,覺得Git是如此簡單,便已覺得命令行操作就是SO EASY,甚至或許有看不起可視化這樣面對低端用戶的心理,好的,那您就當我是水貨可以右上角了。
我一直覺得類似GIT這樣的東西,他對於我而言只是個不完全必須的工具,我並不想成為使用他的專家,類似的東西,今天有GIT,明天可能有GAT,或者GAY?所以快速地掌握它我需要的重要日常操作,最好是10分鍾,那就好了,如果你有類似的想法,好吧,那不要廢話了,咱們趕緊開始。
(全文限windows系統。)
何為GIT?
權限校驗
首先,您的數據保存在遠端服務器一份,服務器需要對您的身份識別。一段RSA加密字符串。
啟動GUI,菜單-幫助,【Step1-創建密鑰】Generate SSH KEY
【Step2-添加密鑰】去你的代碼托管服務器,你的賬號設置中,添加它。
比如在Github中的地址,title隨意,比如你可以用Home,company等作為標識來區別。
Gitlab中的演示
賬號保存
如果不做設置的話,每次提交的時候,都會詢問你填寫密碼。於是我們先來把這個設置好。
【Step3.1-添加環境變量】
我的電腦 - 屬性 - 高級系統設置 - 環境變量 - 新建變量
變量名HOME,變量值%USERPROFILE%
【Step3.2-創建賬號文件】
開始 - 運行 中打開%Home%,即windows的管理員賬號文件夾。
新建一個名為“_netrc”的文件,填寫你要保存的服務器地址及賬號密碼,保存。
操作流程
如果你用過SVN的話就會大致了解操作流程,如果沒有也沒關系。
初始化(Git init)
顧名思義,就是新建一個項目,跟你用PS新建一張畫布一樣。在你新建好的文件夾中右鍵創建即可,若點擊Git bash則以此目錄作為當前目錄進入命令行狀態。
添加(Git add)
添加並不是提交代碼到遠程Git庫,Git也並不會你修改了代碼它自動幫你保存你修改的每一個過程。你修改了很多文件,但未必所有的修改,最終打算提交上去,那么哪些是你打算提交的,你可以添加進來待會提交,叫做緩存改動。很簡單,比如本地電腦上我有整個項目完整的東東,甚至包含了賬號密碼的一些文件,但是我只是ADD除賬號密碼之外的文件,並不緩存賬號密碼文件的改動。不被ADD它就不會參與后續的操作。通常我都會直接全部緩存,它會自動尋找所有有改動的文件,而不需要提交的文件放在忽略的文件夾中。(關於忽略下面我們就會說到)
忽略(.gitignore)
但實際上大部分我們的文件都是一起提交的,並不會逐一去甄選,又或者類似PSD這樣的大源文件以及並不作為產品最終展示的過渡文件,我們可以統一放在臨時文件夾中,並忽略此文件夾。
提交(Git commit)
提交則代表此前被添加ADD的文件已確認被提交到Git庫了。需要注意的是,如果你改變代碼的縮進(盡管沒有修改內容),默認狀態下會被識別為整個代碼全部變更。提交的時候是要求必須要寫備注的。
上傳(Git push)
顧名思義,上傳則是上至遠端服務器了,小伙伴們可以看到咱們的渣渣代碼了(好羞澀。
獲取遠程代碼(Git remote/fetch)
比如你在公司做好的東東,今夜難眠十分亢奮,回家准備繼續搬磚,那咱們就在家里的電腦上,同上進行好各種安裝配置賬號,先把公司做好的東東嫩下來(不過公司是內網不可以,但是假如是Github上是可以的)。又或者和小伙伴一起開發個啥,你也要先fetch他的下來。至於怎么操作,下面上圖。現在你只要知道,大大們下齒全露刷牙表情對你口口念念的fetch是個啥子~
來,跟我念,fetch~~(我怕你們腦補不出來……)
先來設置與遠程地址的關聯,Git remote:
填寫SSH地址與項目名。下面有3個選項:
第一個:立刻獲取最新改動(所以如果是本地克隆遠程一個項目,也可以這樣操作)。
第二個:本地新建的項目,初始化遠程倉庫並發布過去。
第三個:什么也不做。
在項目的進行過程中,獲取倉庫的最新改動Git fetch
選擇從遠程倉庫哪個分支中獲取更新,如果沒有則只有主支。
提示成功則改動的已經被存放到臨時區了,你一會還需要進行合並操作,如果沒有任何改動,則列表中是空的,比如:
合並(Git merge)
請注意啦,不管你本地有沒有代碼,fetch之后呢,是都要merge的,也就是說,fetch下來后,大大的代碼還在一個小黑屋里,我們需要把它裝到自己兜里。
選擇合並 - 本地合並,然后選擇本地的分支(如果你沒有創建分支,則只有1個主支master)
沖突處理(Conflict)
合並的過程中可能會出現一些紅色的文件與一堆嘆號,這時候慌慌張張的點啥它都不管用,不用擔心,不是程序壞了,只是有沖突的文件,例如A童鞋寫了width:1180px,你寫了width:auto。那到底用你們誰的呢。
在GUI界面正文區,正文區右鍵可以選擇,Use local version(使用本地版本)或Use remote version(使用遠程版本),到底用你的還是小伙伴的?或者你也可以自己打開文件進行手動處理。
其他還有分支和一些高級功能,如果需要了解可以自己再摸索摸索,以上的操作已經可以滿足簡單的開發需求了。
總結
1.先進行安裝,密鑰添加,賬號等一次性操作。
2.操作流程:
是不是覺得so easy了呢,趕緊have a try!
補充:
1.GUI界面中中文亂碼問題:Git安裝目錄,etc/gitconfig,添加如下,中文正常顯示
[gui] encoding = utf-8
2.GUI添加自定義命令
Tools - Add,名稱填寫菜單展示時的名稱,Command填寫命令,例如“git submodule foreach git pull origin master”更新公共庫。勾選global為全局可用。
3.找不到文件BUG
這里補充一個問題,例如你新建了分支后,有可能出現新拉取的分支找不到的現象,請關閉GUI重新打開即可。
4.Windows下的多窗口命令行
添加環境變量;C:\Program Files\Git\cmd (改為你的實際路徑)