Topic List
Git เป็นระบบจัดการซอร์ส (source code management หรือบางที่ก็เรียกว่า version control system) ตัวหนึ่งที่ได้รับความนิยมจากนักพัฒนาซอฟต์แวร์ในปัจจุบัน เพียงแค่หน้าที่หลักของมันในการติดตามการเปลี่ยนแปลงและเรียกคืนไฟล์ตามช่วงเวลาต่างๆ ก็ทำให้การทำงานโดยใช้ Git บริหารไฟล์มีประสิทธิภาพมากขึ้นหลายเท่าตัว
เคยได้ยิน เคยได้ฟัง เคยอ่านมาบ้างนิดหน่อย
แต่ยังไม่เคยได้ลองใช้งานสักที
ลองตามไปอ่านแนวคิดเรื่อง GIT จาก Blognone ดูก่อน
แล้วไปลองใช้งานได้ที่ try.github.io
เสร็จแล้วก็ไปเข้าเรียนที่ GitReal
ถึงเวลาลองของจริงเสียที
ขั้นที่ 1 : สมัครใช้บริการ GitHub
เราจะใช้ github.com เป็น Git Server นะครับ จะได้ไม่ต้องติดตั้ง Git Server เอง
เข้าไปที่เว็บ GitHub ก่อนเลย แล้วสมัครใช้บริการให้เรียบร้อย เราจะได้ username เอาไว้อ้างอิงเวลาอัพไฟล์ขึ้น GitHub
ขั้นที่ 2 : สร้าง repository บน GitHub
ขั้นตอนที่ให้ลองใช้งานบน GitHub เพื่อสร้าง repository มีวิธีการคือ
- Create and use a repository
- Start and manage a new branch
- Make changes to a file and push them to GitHub as commits
- Open and merge a pull request
ลองทำตาม Hello World บนเว็บของ GitHub ได้เลยครับ
ในที่สุด เราก็จะได้ repository มา 1 ตัว ที่สามารถเอามาใช้งานบน Ubuntu ได้ด้วย
ขั้นที่ 3 : ติดตั้ง git บน Ubuntu
ก่อนอื่น เราต้องติดตั้ง git บน Ubuntu เสียก่อนด้วยคำสั่ง
sudo apt-get install git sudo apt-get install git-core git-gui git-doc
หรือวิธีการติดตั้ง ssh key เพื่อจะได้ใช้ git push โดยไม่ต้องป้อนรหัสผ่านทุกครั้ง ได้ที่ How to Setup and Use Github in Ubuntu
ขั้นที่ 4 : ตั้งค่า config git
git config --global user.name "Your Name" git config --global user.email "your@email.com"
ขั้นที่ 5 : ลอง git กันเลย
โหลดโครงการมาจาก GitHub
git clone git@github.com:username/projectname.git
เปลี่ยน username,projectname เป็นชื่อที่ต้องการ
คำสั่ง
เพิ่มไฟล์ที่แก้ไขเรียบร้อยก่อน push
git add --all git add * git add *.txt git add folder
สั่ง commit เพื่อเตรียมอัพ
git commit -m "Message here"
สั่ง push ไฟล์ขึ้น git
git push origin master
ดึงไฟล์จาก git server
git pull
กรณีที่ไฟล์บน git server ถูกเปลี่ยนแปลงโดยที่เราแก้ไขไฟล์ที่ local โดยไม่ได้ pull ไฟล์ใหม่มา มีวิธีการแก้ไข 2 วิธีคือ
- ดึงมาใหม่แล้วให้รวมกัน
ให้ทำ stash แล้วก็ merge หลังจากนั้นก็ pull ที่ stash
git stash git stash pop
git pull git stash git pull <remote name> <remote branch name> (or) switch branch git stash apply --index
แตก branch ใหม่
ยกเลิกการแก้ไขที่ local
git reset --hard
คำสั่งอื่น ๆ
git fetch upstream git merge upstream/master
และคำสั่งที่ใช้งานบ่อย ๆ
- git remote -v to see your fetch and push remotes
- git status to see what you have recently changed
- git log to see a list of all committed changes done to your fork
- git log --stat a more detailed list of all committed changes done to your fork
- git log --graph --full-history --all --color --pretty=format:"%x1b[31m%h%x09%x1b[32m%d%x1b[0m%x20%s" a colorful text-base graph of changes. See image on the right.