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 就表示你上傳成功了!!