Git-local

From WikiName
Jump to: navigation, search

สำหรับในส่วนนี้จะเป็นการแนะนำการใช้ git ในการควบคุมเวอร์ชั่นของ source code เราแบบง่ายๆ ไม่ซับซ้อน อธิบายเท่าที่ใช้งานจริง โดยจะเน้นในการใช้ประโยชน์ในการทำงานบนเครื่องของเราเอง ยังไม่ครอบคลุมไปถึงการใช้งานผ่าน repository บน cloud แบบ github หรือ gitlab

สภาพแวดล้อมการใช้งานในตัวอย่าง[edit]

  1. Ubuntu Linux
  2. git (local)

การติดตั้ง git[edit]

sudo apt-get install git-core

Workflow การทำงาน[edit]

รายละเอียด[edit]

  • ไปที่ folder งานแล้วใช้คำสั่ง
$ git init
  • กำหนดการตั้งค่าของ repository นี้
$ git config --global user.name "YOUR NAME"
$ git config --global user.email "YOUR EMAIL"
  • กำหนดไฟล์ที่ไม่ต้องการให้มีการควบคุม โดยสร้างไฟล์ชื่อ .gitignore แล้วใส่ pattern ของไฟล์ที่ไม่ต้องการให้ git ทำการ track ให้
  • แก้ไข source code ตามปกติ
  • เพิ่มไฟล์ที่ต้องการ track ด้วยคำสั่ง git add
$ git add YOUR_FILE //หรือ
$ git add . //ใช้จุดเพิ่มเพิ่มทุกไฟล์ หรือจะใช้ wildcard เช่น *.html ก็ได้
  • ดูสถานะของไฟล์ที่มีการเปลี่ยนแปลงได้ด้วยคำสั่ง git status
$ git status
  • ทำการ commit เวอร์ชั่นที่ต้องการไปเก็บไว้ที่ git ด้วยคำสั่ง
$ git commit -a -m "your comment"

โดย -a เป็นการให้ข้ามขั้นตอนการ add ไฟล์ (เฉพาะที่ track แล้ว) เข้า staging และ -m เป็นการใส่ message เป็นรายละเอียดให้กับเวอร์ชั่นนั้นๆ

  • ดูประวัติการ commit
$ git log
  • ดูความแตกต่างของ original กับที่อยู่ใน git
$ git diff

Git remote ไปยัง cloud share folder (not github)[edit]

หลักการคือจะไม่ใช้ github หรือบริการอื่นเนื่องจากไม่ต้องการ public code ให้คนอื่นเห็น ซึ่งในที่นี้จะใช้ folder ในเครื่องที่แชร์บน cloud service ไว้เก็บ code ของตัวเอง ขั้นตอนมีดังนี้

  • สร้าง git repository ไว้บน share folder on cloud ด้วยการไปที่ folder นั้นแล้วใช้คำสั่ง
$ git init --bare
  • กลับมาที่ folder code ของเรา แล้วทำการ initial git ของเราตามปกติ
$ git init
$ git status //เช็คสถานะ
$ git add . //เพิ่มไฟล์ใส่ใน local git
$ git commit -m 'message for this commit'
  • จากนั้นให้ใช้คำสั่งเพื่อทำการกำหนด remote repository ของเรา
$ git remote add origin YOUR_GIT_REMOTE_REPOSITORY //อย่าลืมเปลี่ยนชื่อ git remote ด้วยนะครับ
  • ถ้า git push ตอนนี้จะเกิด error ให้ใช้คำสั่งด้านล่างนี้ก่อน
$ git push --set-upstream origin master
  • จากนั้นก็จะสามารถ git push ได้ตามปกติ
$ git push