221 lines
4.1 KiB
Markdown
221 lines
4.1 KiB
Markdown
# **คำสั่งตั้งค่า Gitea ใหม่ทั้งหมด + คำสั่งใช้งานประจำวัน / แก้ปัญหา / branch”**
|
||
|
||
---
|
||
|
||
📘 Git + Gitea (QNAP / Container Station) – Cheat Sheet
|
||
คู่มือนี้รวบรวม:
|
||
|
||
- คำสั่งตั้งค่า Gitea ใหม่ทั้งหมด
|
||
- คำสั่งใช้งาน Git ประจำวัน
|
||
- การแก้ไขปัญหา repository
|
||
- การทำงานกับ branch
|
||
- การ reset / clone / merge / rebase
|
||
|
||
---
|
||
|
||
## 🧩 SECTION 1 – การตั้งค่า Gitea ใหม่ทั้งหมด
|
||
|
||
🔹 1) เคลียร์ host key เดิม ใช้เมื่อ Gitea ถูก reset ใหม่ หรือ IP / key เปลี่ยน
|
||
|
||
```bash
|
||
ssh-keygen -R "[git.np-dms.work]:2222"
|
||
```
|
||
|
||
🔹 2) เชื่อมต่อครั้งแรก (จะมีคำถาม fingerprint)
|
||
|
||
```bash
|
||
ssh -T git@git.np-dms.work -p 2222
|
||
```
|
||
|
||
🔹 3) แสดง SSH public key เพื่อเพิ่มใน Gitea
|
||
|
||
```bash
|
||
cat /root/.ssh/id_ed25519.pub
|
||
cat /root/.ssh/id_rsa.pub
|
||
```
|
||
|
||
🔹 4) เพิ่ม remote ใหม่ (หากยังไม่ได้เพิ่ม)
|
||
|
||
```bash
|
||
git remote add origin ssh://git@git.np-dms.work:2222/np-dms/lcbp3.git
|
||
```
|
||
|
||
🔹 5) ลบ remote เดิมหากผิด
|
||
|
||
```bash
|
||
git remote remove origin
|
||
```
|
||
|
||
🔹 6) Push ครั้งแรกหลังตั้งค่า
|
||
|
||
```bash
|
||
git push -u origin main
|
||
```
|
||
|
||
🔹 7) Clone repo ใหม่ทั้งหมด
|
||
|
||
```bash
|
||
git clone ssh://git@git.np-dms.work:2222/np-dms/lcbp3.git
|
||
```
|
||
|
||
---
|
||
|
||
## 🧩 SECTION 2 – คำสั่ง Git ใช้งานประจำวัน
|
||
|
||
🟦 ตรวจสอบสถานะงาน
|
||
|
||
```bash
|
||
git status
|
||
```
|
||
|
||
🟦 ดูว่าแก้ไฟล์อะไรไป
|
||
|
||
```bash
|
||
git diff
|
||
```
|
||
|
||
🟦 เพิ่มไฟล์ทั้งหมด
|
||
|
||
```bash
|
||
git add .
|
||
```
|
||
|
||
🟦 Commit การแก้ไข
|
||
|
||
```bash
|
||
git commit -m "message"
|
||
```
|
||
|
||
🟦 Push
|
||
|
||
```bash
|
||
git push
|
||
```
|
||
|
||
🟦 Pull (ดึงงานล่าสุด)
|
||
|
||
```bash
|
||
git pull
|
||
```
|
||
|
||
---
|
||
## 🧩 SECTION 3 – ทำงานกับ Branch
|
||
|
||
### ดู branch ทั้งหมด
|
||
|
||
```bash
|
||
git branch
|
||
```
|
||
|
||
### สร้าง branch ใหม่
|
||
|
||
```bash
|
||
git checkout -b feature/login-page
|
||
```
|
||
|
||
### สลับ branch
|
||
|
||
```bash
|
||
git checkout main
|
||
```
|
||
|
||
### ส่ง branch ขึ้น Gitea
|
||
|
||
```bash
|
||
git push -u origin feature/login-page
|
||
```
|
||
|
||
### ลบ branch ในเครื่อง
|
||
|
||
```bash
|
||
git branch -d feature/login-page
|
||
```
|
||
|
||
### ลบ branch บน Gitea
|
||
|
||
```bash
|
||
git push origin --delete feature/login-page
|
||
```
|
||
|
||
### Merge branch → main
|
||
|
||
```bash
|
||
git checkout main
|
||
git pull
|
||
git merge feature/login-page
|
||
git push
|
||
```
|
||
|
||
### Rebase เพื่อให้ history สวย
|
||
|
||
```bash
|
||
git checkout feature/login-page
|
||
git rebase main
|
||
git checkout main
|
||
git merge feature/login-page
|
||
git push
|
||
```
|
||
|
||
---
|
||
|
||
## 🧩 SECTION 4 – แก้ไขปัญหา Repo
|
||
|
||
🔴 (1) Reset repo ทั้งหมดให้เหมือน remote
|
||
|
||
⚠ ใช้เมื่อไฟล์ในเครื่องพัง หรือแก้จนเละ
|
||
|
||
```bash
|
||
git fetch --all
|
||
git reset --hard origin/main
|
||
```
|
||
|
||
🔴 (2) แก้ปัญหา conflict ตอน pull
|
||
|
||
```bash
|
||
git pull --rebase
|
||
```
|
||
|
||
🔴 (3) ดู remote ว่าชี้ไปทางไหน
|
||
|
||
```bash
|
||
git remote -v
|
||
```
|
||
|
||
🔴 (4) เปลี่ยน remote ใหม่
|
||
|
||
```bash
|
||
git remote remove origin
|
||
git remote add origin ssh://git@git.np-dms.work:2222/np-dms/lcbp3.git
|
||
```
|
||
|
||
🔴 (5) Commit message ผิด แก้ใหม่
|
||
|
||
```bash
|
||
git commit --amend
|
||
```
|
||
|
||
🔴 (6) ย้อน commit ล่าสุด (ไม่ลบไฟล์)
|
||
|
||
```bash
|
||
git reset --soft HEAD~1
|
||
```
|
||
|
||
🔴 (7) ดู log แบบสรุป
|
||
|
||
```bash
|
||
git log --oneline --graph
|
||
```
|
||
|
||
🔴 (8) Clone repo ใหม่ทั้งหมด (เมื่อพังหนัก)
|
||
|
||
```bash
|
||
rm -rf lcbp3
|
||
git clone ssh://git@git.np-dms.work:2222/np-dms/lcbp3.git
|
||
```
|
||
|
||
---
|
||
|
||
## 📌 END
|
||
|
||
```
|