คำถามติดแท็ก git

Git เป็นระบบควบคุมเวอร์ชันแจกจ่ายแบบโอเพนซอร์ซ (DVCS) ใช้แท็กนี้สำหรับคำถามที่เกี่ยวข้องกับการใช้งาน Git และเวิร์กโฟลว์ อย่าใช้แท็ก [github] สำหรับปัญหาที่เกี่ยวข้องกับ Git เพียงเพราะพื้นที่เก็บข้อมูลเกิดขึ้นเพื่อโฮสต์บน GitHub นอกจากนี้อย่าใช้แท็กนี้สำหรับคำถามการเขียนโปรแกรมทั่วไปที่เกี่ยวข้องกับที่เก็บ Git

4
จะยกเลิก 'git reset' ได้อย่างไร
เป็นวิธีที่ง่ายที่สุดในการเลิกทำ git reset HEAD~ คำสั่ง? ปัจจุบันวิธีเดียวที่ฉันคิดได้คือทำ "git clone http: // ... " จาก repo ระยะไกล
1312 git 

29
การลบหลายไฟล์ออกจาก repo Git ที่ถูกลบออกจากดิสก์แล้ว
ฉันมี repo Git ที่ฉันได้ลบสี่ไฟล์จากการใช้rm( ไม่ git rm ) และสถานะ Git ของฉันมีลักษณะดังนี้: # deleted: file1.txt # deleted: file2.txt # deleted: file3.txt # deleted: file4.txt ฉันจะลบไฟล์เหล่านี้ออกจาก Git ได้อย่างไรโดยไม่ต้องดำเนินการด้วยตนเองและเพิ่มแต่ละไฟล์ดังนี้: git rm file1 file2 file3 file4 เป็นการดีที่ฉันกำลังมองหาบางสิ่งบางอย่างที่ทำงานในลักษณะเดียวกันกับที่git add .ทำถ้าเป็นไปได้
1311 git  git-commit  git-add  git-rm 

16
ฉันจะส่งการเปลี่ยนแปลงเฉพาะชื่อไฟล์ที่ตรงตามตัวพิมพ์ใหญ่ - เล็กใน Git ได้อย่างไร
ฉันมีการเปลี่ยนแปลงชื่อไม่กี่ไฟล์โดย de-ประโยชน์ตัวอักษรตัวแรกในขณะที่ไปName.jpg name.jpgGit ไม่รู้จักการเปลี่ยนแปลงนี้และฉันต้องลบไฟล์และอัปโหลดอีกครั้ง มีวิธีที่ Git สามารถคำนึงถึงขนาดตัวพิมพ์เมื่อตรวจสอบการเปลี่ยนแปลงในชื่อไฟล์หรือไม่? ฉันไม่ได้ทำการเปลี่ยนแปลงใด ๆ กับไฟล์ของตัวเอง

10
วิธียกเลิก "git กระทำ - แก้ไข" ทำแทน "git กระทำ"
ฉันตั้งใจแก้ไขความมุ่งมั่นก่อนหน้านี้ของฉันโดยไม่ตั้งใจ การมอบหมายควรแยกจากกันเพื่อเก็บประวัติการเปลี่ยนแปลงที่ฉันทำกับไฟล์เฉพาะ มีวิธีการเลิกทำที่กระทำครั้งสุดท้ายหรือไม่ ถ้าฉันทำอะไรที่ชอบgit reset --hard HEAD^ความมุ่งมั่นแรกก็เลิกทำ (ฉันยังไม่ได้ผลักไปยังไดเรกทอรีระยะไกลใด ๆ )
1294 git  commit  undo  amend 

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

8
ฉันจะบังคับให้กด Git ได้อย่างถูกต้องได้อย่างไร?
ฉันได้ตั้งค่า repo "main" ระยะไกลที่ไม่ได้เปลือยเปล่าและโคลนไปยังคอมพิวเตอร์ของฉัน ฉันทำการเปลี่ยนแปลงภายในเครื่องอัปเดตที่เก็บในเครื่องของฉันและผลักดันการเปลี่ยนแปลงกลับไปที่ repo ระยะไกลของฉัน สิ่งต่าง ๆ ได้ดีจนถึงจุดนั้น ตอนนี้ฉันต้องเปลี่ยนอะไรบางอย่างใน repo ระยะไกล จากนั้นฉันเปลี่ยนบางสิ่งบางอย่างใน repo ท้องถิ่นของฉัน ฉันรู้ว่าไม่จำเป็นต้องเปลี่ยนรีโมตรีโมต ดังนั้นฉันจึงพยายามgit pushจาก repo ท้องถิ่นของฉันไปยัง repo ระยะไกลของฉัน แต่ฉันได้รับข้อผิดพลาดเช่น: เพื่อป้องกันไม่ให้คุณสูญเสียประวัติการอัปเดตที่ไม่ใช่การส่งต่ออย่างรวดเร็วถูกปฏิเสธรวมการเปลี่ยนแปลงระยะไกลก่อนที่จะผลักดันอีกครั้ง ดูหมายเหตุเกี่ยวกับการส่งต่ออย่างรวดเร็ว 'ส่วนของgit push --helpรายละเอียด ฉันคิดว่าอาจจะเป็น git push --force จะบังคับให้สำเนาในเครื่องของฉันกดการเปลี่ยนแปลงที่รีโมทหนึ่งอันและทำให้เหมือนเดิม มันบังคับให้มีการอัปเดตแต่เมื่อฉันกลับไปที่รีโมตรีโมตและทำการคอมมิตฉันสังเกตว่าไฟล์มีการเปลี่ยนแปลงที่ล้าสมัย ดังที่ฉันได้กล่าวถึงในความคิดเห็นกับหนึ่งในคำตอบ : [I] พยายามบังคับใช้ แต่เมื่อกลับไปที่เซิร์ฟเวอร์หลักเพื่อบันทึกการเปลี่ยนแปลงฉันจะเลิกแสดงละครที่ล้าสมัย ดังนั้นเมื่อฉันยอมรับที่เก็บไม่เหมือนกัน และเมื่อฉันพยายามใช้ git push อีกครั้งฉันได้รับข้อผิดพลาดเดียวกัน ฉันจะแก้ไขปัญหานี้ได้อย่างไร

9
วิธีรับไฟล์เดียวจากสาขาอื่น
ฉันใช้คอมไพล์และทำงานในสาขาหลัก app.jsสาขานี้มีไฟล์ที่เรียกว่า ฉันมีexperimentสาขาที่ฉันทำการเปลี่ยนแปลงมากมายและมีภาระผูกพันมากมาย ตอนนี้ฉันต้องการนำการเปลี่ยนแปลงทั้งหมดที่ทำไปapp.jsจากสาขาexperimentไปmasterเท่านั้น ฉันจะทำอย่างไร ฉันไม่ต้องการรวมอีกครั้ง ฉันแค่ต้องการนำการเปลี่ยนแปลงทั้งหมดapp.jsจากexperimentสาขาไปยังmasterสาขา
1262 git  git-checkout 



30
สิ่งที่ควรเป็นใน. gitignore ของฉันสำหรับโครงการ Android Studio
ไฟล์ใดควรอยู่ในของฉัน.gitignoreสำหรับโครงการ Android Studio ฉันเคยเห็นตัวอย่างหลายอย่างที่รวมอยู่ทั้งหมด.imlแต่เอกสาร IntelliJ บอกว่า.imlต้องรวมอยู่ในการควบคุมแหล่งที่มาของคุณ

15
ไม่สนใจไดเรกทอรี 'bin' ใด ๆ ในโครงการคอมไพล์
ฉันมีโครงสร้างไดเรกทอรีเช่นนี้ .git/ .gitignore main/ ... tools/ ... ... ภายใน main และ tools และไดเร็กตอรี่อื่น ๆ ที่ระดับใดก็สามารถมีไดเรคทอรี 'bin' ซึ่งฉันต้องการข้าม ฉันได้ลองแต่ละรูปแบบเหล่านี้ในรูปแบบ. gignignore แต่ไม่มีรูปแบบใดที่ทำงาน: /**/bin/**/* /./**/bin/**/* ./**/bin/**/* **/bin/**/* */bin/**/* bin/**/* /**/bin/* #and the others with just * at the end too ใครช่วยฉันออกได้บ้าง รูปแบบแรก (ที่ฉันคิดว่าควรจะใช้งานได้) ใช้ได้ผลดีถ้าฉันทำสิ่งนี้: /main/**/bin/**/* แต่ฉันไม่ต้องการที่จะมีรายการสำหรับทุกไดเรกทอรีระดับบนสุดและฉันไม่ต้องการที่จะแก้ไข. gignignore ทุกครั้งที่ฉันเพิ่มใหม่ นี่คือบน Windows โดยใช้ msysgit ล่าสุด …
1236 git  gitignore 

19
วิธีบันทึกชื่อผู้ใช้และรหัสผ่านใน git [GitExtension]
ฉันต้องการใช้การพุชและดึงโดยอัตโนมัติในGitExtensionโดยไม่ต้องป้อนชื่อผู้ใช้และรหัสผ่านในทุกครั้ง ดังนั้นฉันจะบันทึกข้อมูลประจำตัวของฉันในคอมไพล์ได้อย่างไร

15
จะลบไดเรกทอรีออกจากที่เก็บ git ได้อย่างไร?
ฉันมี 2 ไดเรกทอรีในที่เก็บ GitHub ของฉัน ฉันต้องการลบหนึ่งในนั้น ฉันจะทำอย่างนั้นได้อย่างไรโดยไม่ลบและสร้างพื้นที่เก็บข้อมูลทั้งหมดขึ้นใหม่?

10
วิธีสร้าง patch git สำหรับการคอมมิทเฉพาะ
ฉันต้องเขียนสคริปต์ที่สร้างแพตช์สำหรับรายการ SHA1 ที่ส่งหมายเลข ฉันพยายามใช้ git format-patch <the SHA1>แต่มันสร้าง patch สำหรับแต่ละการกระทำตั้งแต่ SHA1 หลังจากที่มีการสร้างแพตช์สองสามร้อยฉันต้องฆ่ากระบวนการ มีวิธีในการสร้างแพทช์สำหรับ SHA1 เฉพาะหรือไม่
1231 git  patch 

18
ฉันจะลบไฟล์เดียวออกจากพื้นที่จัดเตรียม (เลิกทำการเพิ่ม git) ได้อย่างไร
สถานการณ์:ฉันมีที่เก็บ Git พร้อมไฟล์อยู่ในดัชนีแล้ว ฉันทำการเปลี่ยนแปลงหลายไฟล์เปิด Git และเพิ่มไฟล์เหล่านี้ไปยังพื้นที่จัดเตรียมของฉันด้วย "git เพิ่ม" คำถาม:ฉันจะลบหนึ่งในไฟล์เหล่านั้นออกจากพื้นที่จัดเตรียมได้อย่างไร แต่ไม่ลบออกจากดัชนีหรือยกเลิกการเปลี่ยนแปลงไฟล์เอง?

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