Skip to main content

Git使用

前言#

身為一個現代的工程師,Git是一個一定要懂得使用的工具 有了他,你可以將你的程式碼還原成之前的任一版本 有了他,你可以將你的程式與其他人共同協作 甚至現在還可以將git跟ci/cd結合,來讓程式的開發過程更佳簡便

關於git,網路上的教學琳瑯滿目,在我之前學習的經驗是,在初學階段,只要你會以下四種指令,

  • add
  • commit
  • push
  • pull 會這些指令,基本上你就可以正式讓git來幫你控制你的程式碼了 至於其他的功能,可以等需要的時候在到網路上尋找,這樣才會比較有學習的動力,所以這邊就不做贅述了

環境安裝#

  1. 官網下載他的安裝檔
  2. 點擊安裝檔
  3. 前兩個畫面都先點Next
  4. 在選擇預設編輯器這邊,看你比較習慣用哪種編輯器
  5. 接下來都點選下一步直到安裝結束
  6. 這時,知要在資料夾中點選右鍵,就會看到git的選單了

使用說明#

對於git的整理流程,大致可以分為以下幾個步驟

  1. 將指定資料夾裡面放上git的追蹤資料(git init)
  2. 將資料存放到git的暫存區中(git add)
  3. 將暫存區內的資料放到版本控制中(git commit) 到了這步就可以算是完成版本控制了

以下的是將這些版本紀錄放到遠端的空間中(github/gitlab...) 4. 將資料送到遠端中(git push) 5. 將遠端的資料撈回來使用(git pull)

資料夾設定#

  1. 點開你想要的資料夾,並用右鍵選擇"Git Bash Here"

新專案#

  1. 輸入git init來創建.git的資料夾,讓git來監控你這個資料夾

舊專案#

  1. 取得你的目標版本庫的位置 輸入以下內容(xxxxxx為版本庫位置),並按下enter
git clone xxxxxx

  1. 接下來就可以正常使用git的指令了

將資料加入git中#

  1. 先新增一個檔案,並修改其中的內容
  2. 將這個檔案放到暫存區(. 的意思就是這個資料夾的全部,黨然也可以只新增一個檔案)
git add . # 新增這個資料夾的全部檔案
git add ./a.txt # 僅新增a.txt這個檔案
  1. 將暫存區內的檔案新增成一筆紀錄
git commit #使用這個會彈出之前在安裝時設定的預設編輯器進行修改,修改完成後存檔即可
git commit -m "this is my first commit" # -m 為直接新增後面的內容為commit的內容

4. 這時,可以打上檢查commit的指令查看剛剛的結果

git log

這個指令有更多的功能可以使用,可以查看git官網來看更多的說明

上傳雲端#

當你在自己的電腦完成了git的紀錄,接著就是要把它上傳到雲端的空間了,除了有異地備援的功能之外,還可以做到與其他人共同編輯同一份code的功能

操作流程#

  1. 先設定你要傳到哪個雲端(git remote的設定)
  2. 先將雲端的內容抓到本機上來比對(git pull/fetch)
  3. 如果雲端的內容跟本機上的內容有出入,先將這些內容做修正(git merge)
  4. 將修正完的資料傳到雲端

實際操作流程#

此次以github作為雲端空間的選擇,如果要換成其他的空間操作過程都是一樣的

  1. 在登入github,並在裡面新增一個Resposity 在github中,可以選擇將你的專案設定為私人的,就可以保持專案不公開,這個功能在之前是要付費的,近兩年才變成免費的,真是讚嘆微軟爸爸阿!!
  2. 創建好後,將這個版本庫的位置複製下來
  3. 到之前建立好的git的資料夾,在terminal上輸入以下內容,並按下enter
git remote add origin https://github.com/kevinyay945/learnGit.git

origin是這個遠端空間的名字 後面的網址是遠端空間的位置 比如我要將這個空間命名成github

git remote add github https://github.com/kevinyay945/learnGit.git
  1. 由於現在是全新的專案,所以雲端上沒有資料,就不用先pull資料下來
  2. 接下來就是將資料push到雲端了
git push origin master

上面的origin為你的雲端的位置 master為你的branch的名字 這時,如果有跳出github的登入畫面,就輸入你平常登入的帳號密碼即可 6. 這時將github的網頁重新整理,就會看到你的檔案上傳到雲端了!! 也可以打上

git log

就會看到他的紀錄上出現了 origin/master 就表示你上傳成功了!!