ทำไมคอมไพล์ไม่รับรู้ว่าไฟล์ของฉันมีการเปลี่ยนแปลงดังนั้น git add จึงไม่ทำงาน


100

ฉันพยายามส่งไฟล์ไปยัง github โดยใช้ bash มีอยู่แล้วและฉันกำลังอัปโหลดเวอร์ชันใหม่พร้อมบรรทัดและโค้ดใหม่เป็นต้น แต่เมื่อฉันลองgit addแล้วgit statusมันขึ้นว่า:

ในสาขาหลัก

ไม่มีอะไรให้กระทำไดเร็กทอรีการทำงานสะอาด

และไฟล์ที่ฉันใช้ก็เพิ่งแก้ไข


4
หากคุณได้กระทำไปแล้วคุณจะไม่มีอะไรต้องทำตรวจสอบบันทึกคอมไพล์
Grady Player

2
ผลลัพธ์ของ git diff คืออะไร?
maazza

2
@maazza ฉันไม่ได้อะไรเลยจาก git diff
somerandomguy

1
หากgit diff(หรือgit status) ไม่แสดงสิ่งที่อธิบายว่าเหตุใดจึงไม่มีอะไรให้เพิ่ม คำถามก็คือ "ทำไมคอมไพล์ถึงไม่ทราบว่าไฟล์ของฉันถูกเปลี่ยน"
Sunil D.

ขอโทษนะฉันเห็นสิ่งที่เกิดขึ้น git ไม่เห็นว่า Visual Studio C # เปลี่ยนมัน แต่มันเห็นว่าเมื่อมีสิ่งอื่นเปลี่ยนไปเช่น notepad ++
somerandomguy

คำตอบ:


129

ฉันมีปัญหาที่กาลครั้งหนึ่งฉันตั้งค่าดัชนีคอมไพล์เป็น 'ถือว่าไม่เปลี่ยนแปลง' ในไฟล์ของฉัน

คุณสามารถบอกให้คอมไพล์หยุดเพิกเฉยต่อการเปลี่ยนแปลงในไฟล์ด้วย:

git update-index --no-assume-unchanged path/to/file

หากวิธีนี้ไม่ช่วยในการรีเซ็ตอาจเพียงพอสำหรับกรณีแปลก ๆ อื่น ๆ


ในทางปฏิบัติฉันพบว่าการลบไฟล์แคชและรีเซ็ตให้ใช้งานได้:

git rm --cached path/to/file
git reset path/to/file

git rm --cachedหมายถึงการลบไฟล์จากดัชนีและresetบอกคอมไพล์เพื่อโหลดดัชนีคอมไพล์จากกระทำที่ผ่านมา


18
git add -f path/to/the/fileมันจะเพิ่มไฟล์สำหรับการกระทำ
ซาน

2
คำตอบนี้เป็นคำตอบเดียวที่ช่วยแก้ไขปัญหาของฉัน ไม่แน่ใจว่าเป็น Windows หรือไม่ (ฉันไม่เคยมีปัญหาแบบนี้มาก่อนทั้งใน osx หรือ linux) ขอบคุณ @ThorSummoner Btw ฉันลองgit add -fใช้ไฟล์ที่อยู่ในสถานะ "ถือว่าไม่เปลี่ยนแปลง" แล้วและมันใช้งานไม่ได้ต้องทำอย่างใดอย่างหนึ่งgit update-indexหรือgit rm --cachedตามด้วยgit resetเพื่อให้มันทำงาน
rsenna

2
นอกจากนี้ถ้าคุณจริงๆไม่แน่ใจเกี่ยวกับธุรกรรมซื้อคืนภาครัฐในปัจจุบันของคุณทำสิ่งนี้แล้วgit rm --cached -r . git reset .
rsenna

มีตัวเลือกอื่นให้ลองgit update-index --no-skip-worktree path/to/fileนี่คือวิธีที่ฉันแก้ไขปัญหาของฉัน
Fr0sT

1
ทำงานให้ฉัน แต่ใช่เฉพาะกรณีไฟล์เดียว
Thomas Cheng

24

ตรวจดูไฟล์.gitignore คุณอาจพบว่าไฟล์หรือส่วนขยายของไฟล์หรือเส้นทางไปยังไฟล์ที่คุณพยายามใช้งานตรงกับรายการใน.gitignoreซึ่งจะอธิบายว่าเหตุใดไฟล์นั้นจึงถูกละเว้น (และไม่ได้รับการยอมรับว่าเป็นไฟล์ที่เปลี่ยนแปลง)

สิ่งนี้กลายเป็นกรณีของฉันเมื่อฉันมีปัญหาคล้าย ๆ กัน


1
ฉันใช้gitignore.ioเพื่อสร้าง. gitignore ของฉันและฉันพบบรรทัดกับlib/สิ่งที่ทำให้ git ไม่สนใจโฟลเดอร์นี้ ไม่มีปัญหาอะไร - อย่างน้อยถ้าโฟลเดอร์นี้ไม่ใช่โฟลเดอร์หลักจากโปรเจ็กต์ของคุณเหมือนที่เกิดขึ้นกับฉัน
Paladini

และสำหรับใครก็ตามในกรณีของฉันมันเป็น global
excludesfile

ในตอนแรกสิ่งนี้ไม่ได้ผล แต่ฉันได้ผล ในกรณีของฉันสิ่งที่ต้องละเลยถูกกล่าวถึงสองครั้งในไฟล์ gitignore ค้นหาเหตุการณ์ทั้งหมดและแทนที่ทั้งหมด
MasterJoe

9

เช่นเดียวกับที่ได้พูดคุยกันไปแล้วไฟล์อาจถูกตั้งค่าสถานะเป็น "ไม่เปลี่ยนแปลง" ซึ่งโดยพื้นฐานแล้วจะบอกว่าคอมไพล์คุณจะไม่แก้ไขไฟล์ดังนั้นจึงไม่จำเป็นต้องติดตามการเปลี่ยนแปลงด้วย อย่างไรก็ตามสิ่งนี้อาจส่งผลกระทบต่อไฟล์หลายไฟล์และหากมีพื้นที่ทำงานขนาดใหญ่คุณอาจไม่ต้องการตรวจสอบทีละไฟล์ ในกรณีนี้คุณสามารถลอง: git update-index --really-refresh

ตามเอกสาร:

Like --refresh, but checks stat information unconditionally, without regard to the "assume unchanged" setting.

โดยพื้นฐานแล้วจะบังคับให้คอมไพล์ติดตามการเปลี่ยนแปลงของไฟล์ทั้งหมดโดยไม่คำนึงถึงแฟล็ก "ไม่เปลี่ยนแปลง"


2
สำหรับฉันgit statusบอกว่าไม่มีการเปลี่ยนแปลงไฟล์ใด ๆ แต่git add .เพิ่มไฟล์สองไฟล์และgit update-index --really-refreshบอกว่าสองไฟล์นั้นต้องการการอัปเดต แต่ดูเหมือนจะไม่ทำอะไรเลย ความคิดใด ๆ ?
someonewithpc

2
สถานะ git ละเว้นไฟล์ที่มีค่าสถานะไม่เปลี่ยนแปลง อย่างไรก็ตามการใช้ git update-index - really-refresh จะล้างแฟล็กนั้นและไฟล์จะปรากฏขึ้น ลองเรียกใช้สถานะคอมไพล์อีกครั้งเพื่อดูว่าตอนนี้เปลี่ยนการเปลี่ยนแปลงหรือไม่ หากคุณไม่เห็นสิ่งใดให้ทำตามโพสต์นี้: stackoverflow.com/questions/2363197/… โดยเฉพาะอย่างยิ่งคำสั่งในการแสดงรายการไฟล์ที่มีการเปลี่ยนแปลงสมมติ: git ls-files -v | grep '^[[:lower:]]'หากไม่มีอะไรช่วยคุณควรสร้างคำถามพร้อมรายละเอียดเพิ่มเติมเพื่อให้เราสามารถช่วยได้ คุณ.
André Cunha

8

ฟังดูบ้า แต่บางครั้งคุณก็ไม่ได้อยู่ใน repo ที่ถูกต้องแม้ว่าคุณจะคิดว่าเป็น ตัวอย่างเช่นคุณอาจย้ายไดเร็กทอรีหลัก แต่ลืมเปลี่ยน repos ในโปรแกรมแก้ไขข้อความของคุณ หรือในทางกลับกันคุณอยู่ใน repo ที่ถูกต้องในโปรแกรมแก้ไขข้อความ แต่ repo ไม่ถูกต้องในบรรทัดคำสั่ง ในสถานการณ์แรกคุณทำการแก้ไขในไฟล์ที่ถูกต้องแต่ไม่ใช่โฟลเดอร์เดียวกับที่เปิดในบรรทัดคำสั่งดังนั้นจึงเป็นไฟล์ที่ไม่ถูกต้อง ในสถานการณ์ที่สองคุณได้แก้ไขไฟล์ที่ถูกต้อง แต่ git บรรทัดคำสั่งของคุณไม่รู้จักการเปลี่ยนแปลงเนื่องจากคุณไม่ได้อยู่ในไดเร็กทอรีที่ถูกต้องในบรรทัดคำสั่ง


7

เราไม่เพียงพอที่จะตอบคำถามนี้ดังนั้นฉันจะให้คุณเดาหลาย ๆ อย่าง:

1) คุณซ่อนการเปลี่ยนแปลงของคุณเพื่อแก้ไขประเภท: git stash pop

2) คุณมีการเปลี่ยนแปลงและคุณยอมรับมันคุณควรจะเห็นความมุ่งมั่นของคุณ git log

3) คุณมีการเปลี่ยนแปลงบางอย่างgit reset --hardหรืออื่น ๆ การเปลี่ยนแปลงของคุณอาจอยู่ที่นั่นใน reflog พิมพ์git reflog --allตามด้วยการตรวจสอบหรือเลือกเชอร์รี่อ้างอิงหากคุณเคยพบ

4) คุณได้ตรวจสอบ repo เดียวกันหลายครั้งและคุณคิดผิด


1) ไม่พบที่ซ่อน 2) ฉันมีการเปลี่ยนแปลงและมุ่งมั่นดังนั้นฉันสามารถกระทำอีกครั้งได้หรือไม่? 3) ฉันไม่ได้ทำอย่างนั้น 4) ฉันอยู่ใน repo ที่ถูกต้อง
somerandomguy

หากคุณมีการเปลี่ยนแปลงและตกลงกันแล้วคุณก็ไปขั้นตอนต่อไปผลักดันหรือขั้นตอนการทำงานของคุณได้ดี ... คุณสามารถตกลงอีกครั้งได้หากคุณมีการเปลี่ยนแปลงเพิ่มเติมคุณสามารถgit commit --amendที่จะทำการเปลี่ยนแปลงใหม่ในการกระทำครั้งสุดท้ายของคุณ อย่าทำอย่างนั้นถ้าคุณแชร์คอมมิตไปแล้ว
Grady Player

การปิดและเปิดเทอร์มินัลใหม่ทำเพื่อฉันหลังจากทำความสะอาดโครงการ repo
Eddie

4

มีเรื่องขี้ขลาดเช่นนี้เกิดขึ้น ปลั๊กอิน git ของ Eclipse Kepler ทำเครื่องหมายโฟลเดอร์โครงการทั้งหมดของฉันโดยอัตโนมัติว่าละเว้นในโฟลเดอร์. gitignore

เมื่อฉันไปcommitที่Teamเมนูพวกเขาทั้งหมดจะกลับไปเพิกเฉย เท่าที่ฉันสามารถบอกได้นี่เป็นเพราะฉันตั้งค่าเป็นที่มาในโครงการหลัก ยกเลิกการทำเครื่องหมายว่าderviedแก้ไขแล้ว ฉันไม่เคยเห็นสิ่งนี้มาก่อนใน Indigo หวังว่ามันจะช่วยได้บ้าง


มีความคิดอย่างไรว่าปัญหานี้จะแก้ไขได้อย่างไรเมื่อเกิดขึ้นใน intellij?
MasterJoe

3

TL; DR; คุณอยู่ในพื้นที่เก็บข้อมูลที่ถูกต้องหรือไม่?

เรื่องราวของฉันค่อนข้างตลก แต่ฉันคิดว่ามันสามารถเกิดขึ้นได้กับคนที่อาจมีสถานการณ์คล้ายกันดังนั้นจึงแบ่งปันที่นี่

จริงในเครื่องของฉันฉันมีสองเก็บ Git แยกต่างหากrepo1และการกำหนดค่าในไดเรกทอรีรากชื่อเดียวกันrepo2 sourceที่เก็บทั้งสองนี้โดยพื้นฐานแล้วเป็นที่เก็บของสองผลิตภัณฑ์ที่ฉันทำงานและเปิดใน บริษัท ของฉัน ตอนนี้สิ่งที่เป็นแนวทางมาตรฐานโครงสร้างไดเร็กทอรีของซอร์สโค้ดของผลิตภัณฑ์ทั้งหมดเหมือนกันทุกประการใน บริษัท ของฉัน

ดังนั้นโดยไม่ทราบว่าฉันได้แก้ไขไฟล์ที่มีชื่อเดียวกันrepo2ซึ่งฉันควรจะเปลี่ยนrepo1ไฟล์. ดังนั้นฉันจึงเปิดคำสั่งgit statusต่อไปrepo1และมันก็ยังคงให้ข้อความเหมือนเดิม

ในสาขาหลัก

ไม่มีอะไรให้กระทำไดเร็กทอรีการทำงานสะอาด

ครึ่งชั่วโมง. จากนั้นเพื่อนร่วมงานของฉันสังเกตว่ามันเป็นดวงตาคู่ที่เป็นอิสระและนำสิ่งนี้มาแจ้งให้ฉันทราบว่าฉันคิดผิด แต่ที่เก็บที่ดูคล้ายกันมาก ช่วงเวลาที่ฉันเปลี่ยนไปใช้repo1Git เริ่มสังเกตเห็นไฟล์ที่เปลี่ยนแปลง

ไม่ใช่กรณีทั่วไป แต่คุณไม่มีทางรู้!


3

สิ่งนี้เกิดขึ้นบน Windows เมื่อเปลี่ยนไฟล์โดยการถ่ายโอนความแตกต่างผ่านเครื่องมือ WinMerge เห็นได้ชัดว่า WinMerge (อย่างน้อยก็วิธีกำหนดค่าบนคอมพิวเตอร์ของฉัน) บางครั้งก็ไม่อัปเดตการประทับเวลาของไฟล์ที่เปลี่ยนแปลง

ใน Windows สถานะคอมไพล์การใช้การประทับเวลาของไฟล์และการเปลี่ยนแปลงขนาดของไฟล์เพื่อพิจารณาว่าไฟล์มีการเปลี่ยนแปลงหรือไม่ ดังนั้นเนื่องจากการประทับเวลาไม่ได้รับการอัปเดตจึงมีเพียงขนาดไฟล์เท่านั้น แต่น่าเสียดายที่ไฟล์ในคำถามเป็นไฟล์รุ่นที่เรียบง่ายที่มีเนื้อหาเปลี่ยนจาก7.1.2ไป7.2.0 กล่าวอีกนัยหนึ่งขนาดไฟล์ยังคงไม่เปลี่ยนแปลง ไฟล์อื่น ๆ ที่ WinMerge เปลี่ยนแปลงเช่นกันและไม่ได้อัปเดตการประทับเวลา แต่มีขนาดแตกต่างกันหลังจากตรวจพบการเปลี่ยนแปลงโดยสถานะคอมไพล์ได้ดี


3

ผมมีปัญหาที่คล้ายกันในขณะที่ใช้Sublime Text-3 หลังจากทำการเปลี่ยนแปลงใหม่ในโค้ดและบันทึกแล้วเมื่อฉันลองใช้คำสั่ง git add ./status การตอบสนองคือ "branch-up to date" ฉันคิดว่าไม่ว่าจะบันทึกการอัปเดตในโปรแกรมแก้ไขข้อความไฟล์ก็ไม่เปลี่ยนแปลงจริงๆ การเปิดไฟล์ในโปรแกรมแก้ไขอื่นและบันทึกการเปลี่ยนแปลงได้ผลสำหรับฉัน


สิ่งนี้ก็เกิดขึ้นกับฉันเช่นกัน
Kloar

2

คุณย้ายไดเร็กทอรีออกจากภายใต้เชลล์ของคุณหรือไม่? สิ่งนี้อาจเกิดขึ้นได้หากคุณกู้คืนโปรเจ็กต์จากข้อมูลสำรอง ในการแก้ไขปัญหานี้ให้cdออกและกลับเข้ามา:

cd ../
cd -

ว้าวเป็นเช่นนั้นเอง บ้า. เทคนิคอื่นใช้ไม่ได้เลย!
Makalele

1

โดยทั่วไปกับปัญหานี้ก่อนอื่นให้ตรวจสอบว่าคุณกำลังแก้ไขไฟล์ที่คุณคิดว่าเป็น! ฉันมีปัญหานี้เมื่อฉันแก้ไขไฟล์ JavaScript ที่ถูกแปลงแทนไฟล์ต้นฉบับ (เวอร์ชันที่โปร่งใสไม่ได้อยู่ภายใต้การควบคุมแหล่งที่มา)


ขอบคุณที่พูดถึงสิ่งนี้! ฉันมั่นใจมากว่าฉันกำลังอัปเดตไฟล์ที่ถูกต้อง ไม่ face palm
Ashley Grenon

1

ไคลเอนต์ Git ของฉัน (Gitg) ทำให้เกิดปัญหานี้สำหรับฉัน คำสั่งปกติที่ฉันมักจะเรียกใช้ไม่ได้ผล แม้แต่การแตะทุกไฟล์ในโครงการก็ไม่ได้ผล

ฉันพบวิธีแก้ไขแล้วและยังไม่แน่ใจว่าเกิดจากอะไร คัดลอกไดเรกทอรีโครงการของคุณ git statusไฟล์ที่หายไปจะแสดงขึ้นมาในการคัดลอกไดเรกทอรี การเปลี่ยนชื่ออาจทำได้เหมือนกัน


1

พบปัญหา แต่มันเป็นเพียงสองไดเรกทอรีและฉันไม่รู้จักคือทั้งสองไดเรกทอรีเหล่านั้นถูกกำหนดค่าเป็นโมดูลย่อย git เกิดขึ้นได้อย่างไรฉันไม่มีเงื่อนงำ แต่กระบวนการนี้คือทำตามคำแนะนำบางอย่างในลิงค์นี้ แต่อย่าลบไดเรกทอรี (อย่างที่เขาทำในตอนท้าย) แต่ควรทำgit add path/to/dir


1

เมื่อคุณแก้ไขไฟล์ใน Visual Studio ไฟล์จะแสดงรายการในการเปลี่ยนแปลง git ทันทีแม้ว่าไฟล์จะไม่ได้บันทึกไว้ก็ตาม ดังนั้นสิ่งที่คุณต้องทำก็เพียงแค่บันทึกไฟล์ด้วยตนเอง (Ctrl + S สำหรับไฟล์ที่แสดงในปัจจุบันหรือ Ctrl + Shift + S สำหรับไฟล์โปรเจ็กต์ทั้งหมด) และ git bash จะเลือกไฟล์เหล่านั้น


สิ่งนี้ใช้ได้ผลสำหรับฉันเมื่อเพิ่มความคิดเห็นลงใน.jsไฟล์โดยทำงานกับ Visual Studio Code ขอบคุณ.
SnuKies

0

คุณพยายามอัปโหลดไฟล์ประเภทใด ตอนนี้ฉันใช้เวลาเกือบหนึ่งชั่วโมงในการอัปโหลดการแก้ไข css ของฉัน แต่ css นี้คอมไพล์จากไฟล์สไตล์ดังนั้น git จึงไม่สนใจมัน เมื่อฉันเปลี่ยนแหล่งที่มาของสไตล์แล้วทุกอย่างก็ใช้ได้

หวังว่าจะช่วยได้


0

บางครั้งขึ้นอยู่กับเวอร์ชัน git และหากคุณลืมทำ git add .บางครั้งขึ้นอยู่กับรุ่นและคอมไพล์และหากคุณลืมที่จะทำ

หากต้องการตรวจสอบเกี่ยวกับการเปลี่ยนแปลงของคุณในการใช้ที่เก็บข้อมูลเสมอgit statusซึ่งจะแสดงไฟล์ที่ไม่ได้ติดตามและถูกเปลี่ยนแปลงทั้งหมด เพราะgit diffแสดงเฉพาะไฟล์ที่เพิ่ม


0

ตรวจสอบให้แน่ใจไม่ได้ที่จะสร้าง symlinks (ln -s source dest ) จากด้านในของ Git Bash สำหรับ Windows

ไม่สร้าง symlink แต่ทำสำเนา DEEP ของแหล่งที่มาไปยังปลายทาง

ฉันพบพฤติกรรมเดียวกันกับ OP บนเทอร์มินัล MINGW64 จาก Git Bash สำหรับ Windows (เวอร์ชัน 2.16.2) เพื่อให้ทราบว่าการเปลี่ยนแปลงที่ 'แก้ไข' ของฉันอยู่ในไดเร็กทอรีดั้งเดิมและคำสั่ง git bash ของฉันมาจากภายในสำเนาลึกที่ยังคงอยู่ ไม่เปลี่ยนแปลง


0

ผมมีปัญหาเหมือนกัน. ปรากฎว่าฉันมีสำเนาของโครงการสองชุดและเครื่องปลายทางของฉันอยู่ในโฟลเดอร์โครงการที่ไม่ถูกต้อง!


0

สำหรับฉันเช่นกันฉันลองใช้วิธีการดังกล่าวข้างต้นแล้วและไม่มีอะไรช่วย จากนั้นวิธีแก้ไขคือเปลี่ยนไฟล์ผ่านเทอร์มินัลไม่ใช่ GUI ฉันไม่รู้ว่าทำไมถึงได้ผล แต่ได้ผล หลังจากที่ฉันแก้ไขไฟล์ผ่าน nano จากเทอร์มินัล git จำได้ว่ามีการเปลี่ยนแปลงและฉันสามารถเพิ่มและคอมมิตได้


คุณคิดหาวิธีแก้ปัญหานี้แล้วหรือยัง? ฉันต่อสู้กับคอมไพล์ของฉันที่ไม่รู้จักไฟล์ที่เปลี่ยนแปลงของฉันเมื่อฉันใช้เครื่องมือการรวมใด ๆ และวิธีเดียวที่จะทำให้คอมไพล์เห็นการเปลี่ยนแปลงคือการใช้นาโนสำหรับการผสานของฉันซึ่งใช้เวลามากกว่ามาก ไฟล์ที่ขัดแย้งกันจะปรากฏในคอมไพล์ในตอนแรกหลังจากที่แก้ไขโดยเครื่องมือผสานไฟล์จะแสดงเป็น "ไม่เปลี่ยนแปลง" บนคอมไพล์
Lucas P.

ฉันไม่รู้ว่าทำไมถึงได้ผลและมันทำงานอย่างไร แต่มันได้ผลสำหรับฉันขอบคุณ
Amit Bisht

0

ฉันมีปัญหาเดียวกันที่นี่ VS2015 ไม่รู้จักการเปลี่ยนแปลงไฟล์ js ของฉันการลบรีโมตออกจากการตั้งค่าที่เก็บแล้วเพิ่มเส้นทาง URL ระยะไกลอีกครั้งช่วยแก้ปัญหาของฉันได้


0

ฉันมีปัญหาคล้ายกันเมื่อฉันสร้างไฟล์แพตช์ในเซิร์ฟเวอร์ด้วยตัวแก้ไข vi ดูเหมือนว่าปัญหาเกิดจากการเว้นวรรค เมื่อฉันพุชแพตช์จากโลคัลการปรับใช้ก็เหมาะสม


-1

ฉันมีปัญหานี้ ของฉันใช้งานไม่ได้เพราะฉันวางไฟล์ไว้ในโฟลเดอร์. git ภายในโปรเจ็กต์ของฉัน


-2

ในกรณีของฉันกำลังgit reset --hardลบไฟล์และปล่อยให้โฟลเดอร์ว่างบางส่วน หลังจากตรวจสอบเนื้อหาแล้วฉันสังเกตเห็นว่าไดเรกทอรีว่างเปล่า

อย่างไรก็ตาม git จะละเว้นโฟลเดอร์ว่าง (การแก้ไขคอมไพล์ละเว้นไดเร็กทอรีทั้งหมดในขณะที่ติดตามเนื้อหาโฟลเดอร์ว่างไม่ใช่เนื้อหา)


-4

พยายามที่จะใช้git add * แล้วgit commit


1
ยินดีต้อนรับสู่ SO! สิ่งนี้ไม่น่าจะตอบคำถามได้และมีคำตอบอยู่แล้ว 9 คำตอบที่นี่ โปรดหันมาใช้คำถามที่ต้องการคำตอบ!
Cris Luengo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.