⚠️ แก้ไขปัญหา Git Push - Push ขึ้นมาเป็นชื่อคนอื่น

วิธีแก้ปัญหา Credential เก่าที่ค้างในเครื่องห้องแลบ

🔴 ปัญหา

เวลา git push ขึ้น GitHub แล้ว commits ปรากฏว่าเป็น ชื่อคนอื่น ไม่ใช่ชื่อตัวเอง

ในกรณีนี้ ปัญหาเกิดจาก credential เดิมของผู้ใช้ก่อนหน้า ถูกเก็บค้างในเครื่องห้องแลบ ทำให้เวลา git push ระบบใช้ชื่อ–โทเคน–บัญชีของคนก่อนหน้าโดยอัตโนมัติ

เพื่อแก้ไข จำเป็นต้อง ล้าง credential เดิมทั้งหมด แล้วตั้งของเราใหม่

ขั้นตอนแก้ปัญหา: ล้าง Auth เดิม + ตั้งค่าใหม่

1) ลบ Git Credential เดิมในเครื่อง

สำหรับ Windows (ห้องแลบส่วนใหญ่ใช้ Windows)

วิธีที่ 1: ผ่าน GUI

  1. เปิด Control Panel
  2. เลือก Credential Manager
  3. เลือก Windows Credentials
  4. เลื่อนลงมาหา:
    • git:
    • github.com
    • git:https://github.com
  5. กด Remove ทุกอันที่เกี่ยวกับ git หรือ GitHub

วิธีที่ 2: ใช้คำสั่ง PowerShell ลบ credential cache

git credential-manager clear

หรือถ้าใช้ Git Credential Manager (GCM):

git credential-manager-core erase

2) ลบชื่อ user เดิมใน git config

ตรวจสอบชื่อและอีเมลปัจจุบัน

git config --global --list

ล้างค่า (ถ้าเป็นของคนอื่น)

git config --global --unset user.name
git config --global --unset user.email

3) ตั้งชื่อของเราเอง

git config --global user.name "YOUR NAME"
git config --global user.email "YOUR EMAIL"
💡 เคล็ดลับ: ควรใช้ชื่อและอีเมลเดียวกับที่ลงทะเบียนไว้ใน GitHub

4) ลอง push ใหม่

git push

ครั้งแรก Git จะขอให้ ล็อกอินใหม่ หรือเปิด browser เพื่อ authenticate คราวนี้จะเป็นบัญชีของท่านเองแน่นอน

💡 เคสพิเศษ: รีเซ็ตเครื่องห้องแลบให้สะอาด

ถ้าต้องการล้างทุกอย่างแบบ "รีเซ็ต" ให้สะอาดสุดๆ

git credential-cache exit
git config --global --unset-all user.name
git config --global --unset-all user.email

หลังจากนั้นให้ทำขั้นตอนที่ 3 ใหม่เพื่อตั้งค่าของตัวเองใหม่

📌 สรุปสั้นๆ:

1️⃣ ลบ credential เดิม (Credential Manager) → 2️⃣ ล้าง git config → 3️⃣ ตั้งชื่อของตัวเอง → 4️⃣ Push ใหม่