Skip to content

Instantly share code, notes, and snippets.

@w5151381guy
Last active May 21, 2018 06:08
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save w5151381guy/24d5d014033225328e8e1c3b919f4e52 to your computer and use it in GitHub Desktop.
Save w5151381guy/24d5d014033225328e8e1c3b919f4e52 to your computer and use it in GitHub Desktop.

git基本觀念

  1. git為一種版本控制軟體,所謂版本控制就是你可以針對在檔案中,你曾經動過的地方做控管,也就是說你可以隨時回到之前的版本中
  2. 為了達到第一點的方便性,請在打完一個段落後進行commit,commit的內容一定要寫得相當清楚,否則你會不知道你曾經改過甚麼東西
  3. 在commit之前需先將改動過的東西加到 staging area,然後再用 commit進行提交
  4. 養成一個好習慣,在準備將檔案上傳(push)到server前,記得先檢查一下狀態,語法會在底下說明

git基本語法

server端:

  1. 一開始先進到準備新增git repository的資料夾中,如桌面之類的,指令為:cd {資料夾路徑}cd全名為change directory,意思就是離開目前的資料夾並進入目標資料夾中
  2. 建立一個準備變成git repository,指令為:mkdir {資料夾名稱}mkdir全名為make directory,意思就是產生一個資料夾
  3. 利用cd進入剛剛建立的資料夾中,並打上git init --bare讓原資料夾變成一個git repository

client端:

  1. 一樣先進到準備下載git repository的資料夾,指令跟上述一樣
  2. git clone ssh://{username}@{server IP}:2200/資料夾路徑,過程中系統會要你輸入密碼,輸入後才能下載
  3. 下載後即可cd進入資料夾中,進入後可打touch {檔案名稱},來產生檔案,如:touch test.cs,系統就會產生一個C#檔案
  4. 當打完一個段落想將資料傳到server的時候,先打git add {檔案名稱},將檔案加到 staging area,如有多個檔案,可以打git add {檔案1} {檔案2},中間用空格隔開即可
  5. add完後,打git commit -m "內容"
  6. 在push前打git status看有沒有遺漏的資料未加 staging area,以及需不需要將存在server中的資料先pull下來,以免造成版本衝突
  7. 確認都完成後即可打git push將檔案上傳到server中

git進階語法

  1. 新增.gitignore,此檔案是讓你在push的時候可以忽略哪些檔案,如:在.gitignore中打上*.cs,那你在push的時候就不會讓任何.cs檔push上去
  2. 想知道這個repository有多少條commit,可以打git log
  3. 想回復到之前的commit,可以打git reset --hard 後面接commit的條碼,如:git reset --hard 446b0eb
  4. 新增標籤,可以打git tag,詳細語法為:git tag -a 版本名稱(如:v1.0) -m "版本內容",之後打git push origin {版本名稱}即可上傳版本
  5. 如果覺得git add {file1} {file2} ...太過麻煩可以用git add -A一次把所有檔案加入staging area
  6. 若不慎把檔案加到 staging area,可以用git reset HEAD {filename}進行 unstage
  7. 不小心改到某個檔案的內容,可以用git checkout -- {filename}恢復原狀
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment