𝗟𝗼𝗰𝗮𝗹 𝗠𝗮𝗰𝗵𝗶𝗻𝗲 𝘁𝗼 𝗚𝗶𝘁𝗛𝘂𝗯 𝗥𝗲𝗽𝗼
การควบคุมเวอร์ชัน (Version control) เป็นทักษะพื้นฐานที่สำคัญสำหรับนักพัฒนาและวิศวกร DevOps ซึ่งจะช่วยให้คุณสามารถติดตามการเปลี่ยนแปลงและทำงานร่วมกับผู้อื่นได้ Git จะทำหน้าที่จัดการไฟล์ในเครื่องของคุณ ส่วน GitHub จะทำหน้าที่โฮสต์ไฟล์เหล่านั้นไว้บนคลาวด์
ทำตามขั้นตอนเหล่านี้เพื่อย้ายโค้ดจากคอมพิวเตอร์ของคุณไปยัง GitHub
เตรียมพื้นที่ทำงานของคุณ ติดตั้ง Git Bash เพื่อใช้งาน Terminal บน Windows ซึ่งจะช่วยให้คุณมีสภาพแวดล้อมที่คล้ายกับ Linux ดาวน์โหลดได้ที่นี่: https://git-scm.com/downloads
ตั้งค่าตัวตนของคุณ บอก Git ว่าคุณเป็นใคร เพื่อให้ผลงานของคุณมีชื่อระบุไว้
- ตั้งชื่อของคุณ:
git config --global user.name "Your Name" - ตั้งอีเมลของคุณ:
git config --global user.email "your-email@example.com"
- เริ่มต้น Local Repository สร้างโฟลเดอร์สำหรับโปรเจกต์ของคุณและเปลี่ยนให้เป็น Git repo
- สร้างโฟลเดอร์:
mkdir website - เข้าไปยังโฟลเดอร์:
cd website - เริ่มต้น Git:
git init
- สร้างและแก้ไขไฟล์ สร้างไฟล์ index.html และใช้ Vim editor เพื่อเพิ่มเนื้อหา
- สร้างไฟล์:
touch index.html - เปิด Vim:
vi index.html - วิธีพิมพ์: กด 'i'
- วิธีบันทึกและออกจากโปรแกรม: กด 'ESC' จากนั้นพิมพ์ ':wq' แล้วกด Enter
- บันทึกความคืบหน้าของคุณ Stage ไฟล์ของคุณและสร้าง snapshot
- Stage ไฟล์:
git add index.html - Commit การเปลี่ยนแปลง:
git commit -m "Create index.html"
- เชื่อมต่อกับ GitHub เชื่อมโยงโฟลเดอร์ในเครื่องของคุณกับ Remote GitHub repository
- เพิ่ม remote:
git remote add origin https://github.com/your-username/your-repo.git
- Push โค้ดของคุณ ส่งงานจากเครื่องของคุณขึ้นไปยังคลาวด์
- Push โค้ด:
git push origin main
- โฮสต์เว็บไซต์ของคุณ ใช้ GitHub Pages เพื่อทำให้เว็บไซต์ของคุณออนไลน์
- ไปที่ Settings > Pages ใน GitHub repo ของคุณ
- เลือก branch ของคุณแล้วกด save
- ทำงานอัตโนมัติด้วย CI/CD ใช้ GitHub Actions เพื่อ deploy โค้ดของคุณโดยอัตโนมัติ
- สร้างโฟลเดอร์ workflow:
mkdir -p .github/workflows - สร้างไฟล์ config:
touch .github/workflows/deploy.yml
การฝึกฝนขั้นตอนเหล่านี้จนชำนาญจะช่วยสร้างรากฐานสำหรับการทำ Automation และวิศวกรรมซอฟต์แวร์ระดับมืออาชีพ
Source: https://dev.to/lotanna_obianefo/local-machine-to-github-repo-529c
Optional learning community: https://t.me/GyaanSetuAi