ให้ทำการสร้าง directory ใหม่ขึ้นมา จากนั้นย้ายเข้าไป เพื่อสร้าง repository ด้วยคำสั่ง
git init
ทำการดึงข้อมูลจาก repository ที่อยู่บนเครื่องของเรา ด้วยคำสั่ง
git clone /path/to/repository
แต่ถ้าต้องการดึงข้อมูลจาก repository จากเครื่องอื่น ด้วยคำสั่ง
git clone username@host:/path/to/repository
ใน git repository มีโครงสร้างในรูปแบบ tree ประกอบไปด้วย 3 ส่วน คือ
1. Working Directory
คือ ที่จัดเก็บไฟล์จริงๆ
2. Index
คือ ตัวบอกสถานะของพื้นที่การทำงาน
3. HEAD
คือ ตัวบอกว่า จุดที่ทำการ commit ล่าสุด อยู่ที่ไหน
คุณสามารถเสนอการเปลี่ยนแปลง เข้าไป Index ด้วยการใช้คำสั่ง
git add <ชื่อไฟล์>
git add *
ซึ่งเป็นขั้นตอนแรกสำหรับการใช้งาน git พื้นฐาน
และยอมรับการเปลี่ยนแปลง ด้วยคำสั่ง
git commit -m "ข้อความอธิบายการเปลี่ยนแปลง"
ในตอนนี้ เราได้ทำการบันทึกการเปลี่ยนแปลงไปที่ HEAD แล้ว แต่ยังอยู่ที่ local repository เท่านั้น ยังไม่เก็บใน remote repository
ตอนนี้การเปลี่ยนแปลงล่าสุดอยู่ที่ HEAD ของ local repository แล้ว
ต่อไปจะทำการส่งการเปลี่ยนแปลงเหล่านี้ ไปยัง remote repository ด้วยคำสั่ง
git push origin master
สามารถทำการเปลี่ยน master เป็นชื่อ branch ที่คุณต้องการได้
แต่ถ้าคุณไม่ได้ทำการ clone หรือเชื่อมต่อไปยัง remote repository
สามารถทำการเพิ่ม remote ด้วยคำสั่งดังนี้
git remote add origin <server>
เพียงเท่านี้ คุณก็สามารถส่งการเปลี่ยนแปลงไปยัง remote repository ได้แล้ว
Branch นั้นถูกใช้เพื่อแยกการพัฒนาความสามารถใหม่ๆ ออกมาจากส่วนหลัก โดยที่ git มี master branch มาให้อยู่แล้ว หลังจากทำการสร้าง git repository ขึ้นมา
ในการใช้ branch เพื่อแยกการพัฒนานั้น จะต้องทำการ merge การเปลี่ยนแปลงเข้ามายัง master branch หลังจากที่พัฒนาเสร็จแล้วเสมอ
คำสั่งสร้าง branch ชื่อว่า "feature_x" และเปลี่ยนไปยัง branch ที่สร้างทันที
git checkout -b feature_x
คำสั่งย้ายกลับมายัง master branch
git checkout master
คำสั่งลบ branch
git branch -d feature_x
ตอนนี้ branch ชื่อว่า "feature_x" ถูกลบไปแล้ว
คำสั่งเพื่อส่งการเปลี่ยนแปลงของ branch ที่ต้องการไปยัง remote repository
git push origin <branch>
คุณสามารถดึงการเปลี่ยนแปลงล่าสุดจาก remote repository มายัง local repository ด้วยคำสั่ง
git pull
โดย git จะทำการ ดึงข้อมูล และ รวมข้อมูล การเปลี่ยนแปลงจาก remote repository ในเครื่องของคุณ
ถ้าต้องการ merge การเปลี่ยนแปลงจาก branch อื่น
มายัง branch ปัจจุบัน (เช่น master) ด้วยคำสั่ง
git merge <branch>
ซึ่งทั้งสองคำสั่ง ทำการ merge อย่างอัตโนมัติ
แต่ถ้าโชคร้าย อาจจะเกิด conflict หรือข้อขัดแย้งของการเปลี่ยนแปลง
ดังนั้น คุณจะต้องทำการแก้ไขข้อขัดแย้งเหล่านั้นด้วยตัวเอง
ต่อจากนั้นให้ทำการบันทึกการเปลี่ยนแปลงด้วยคำสั่ง
git add <filename>
แต่ก่อนที่จะ merge การเปลี่ยนแปลง สามารถตรวจสอบความแตกต่างของสิ่งที่แก้ไข ด้วยคำสั่ง
git diff <source_branch> <target_branch>
ก่อนที่จะทำการ release ระบบออกไปนั้น แนะนำให้ทำการสร้าง tag หรือ ป้ายชื่อ เพื่อบอกให้รู้ว่าเรากำลังทำอะไร อยู่ตรงไหน
ทำการสร้าง tag ชื่อว่า 1.0.0 ด้วยคำสั่ง
git tag 1.0.0 1b2e1d63ff
1b2e1d63ff คือ รหัสย่อ 10 หลักของการเปลี่ยนแปลง
เพื่อใช้อ้างอิงถึงจุดที่เราต้องการสร้าง tag
โดยสามารถดูข้อมูลของประวัติการเปลี่ยนแปลงได้ในส่วนต่อไป
สามารถดูประวัติการเปลี่ยนแปลงใน git repository ด้วยคำสั่ง
git log
โดยที่คุณสามารถใส่ parameter ต่างๆ เพื่อดูประวัติในรูปแบบที่ต้องการ
เช่น
แสดงข้อมูลการเปลี่ยนแปลงตามชื่อผู้ใช้งาน
git log --author=bob
แสดงข้อมูลแต่ละการเปลี่ยนแปลงใน 1 บรรทัด
git log --pretty=oneline
แสดงข้อมูลการเปลี่ยนแปลงในรูปแบบของ tree จาก branch และ tag ทั้งหมด
git log --graph --oneline --decorate --all
แสดงข้อมูลเฉพาะไฟล์ที่ทำการเปลี่ยนแปลงเท่านั้น
git log --name-status
สามารถดูข้อมูลเพิ่มเติม สำหรับ parameter ต่างๆ ด้วยคำสั่ง
git log --help
ในกรณีที่คุณทำบางสิ่งผิดพลาดไป สามารถแก้ไขที่ local repository ด้วยคำสั่ง
git checkout -- <filename>
git จะทำการแทนที่ข้อมูล ด้วยการเปลี่ยนแปลงล่าสุดใน HEAD และการเปลี่ยนแปลงนี้จะถูกเพิ่มเข้าไปใน index เรียบร้อย
แต่ถ้าเป็นไฟล์ใหม่ จะไม่ถูกลบทิ้ง
ถ้าคุณต้องการยกเลิกการเปลี่ยนแปลงทั้งหมดใน local repository แล้ว
ให้ทำการดึงข้อมูลล่าสุดมาจาก remote repository และ ทำการ reset สถานะของ master branch ใน local repository ด้วยคำสั่ง
git fetch origin
git reset --hard origin/master
git มีเครื่องมือที่เป็น GUI มาให้
gitk
เพิ่มสีสันให้การแสดงผล
git config color.ui true
กำหนดให้แต่ละประวัติการเปลี่ยนแปลงแสดงเพียง 1 บรรทัด
git config format.pretty oneline
ทำการบันทึกการเปลี่ยนแปลงในรูปแบบ interative ผ่าน command line
git add -i
คำแนะนำและความคิดเห็น