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

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

3
อะไรคือความแตกต่างระหว่าง. gitignore และ. gitkeep
อะไรคือความแตกต่างระหว่าง.gitignoreและ.gitkeep? พวกเขาเหมือนกันกับชื่อที่แตกต่างกันหรือว่าพวกเขาทั้งสองทำหน้าที่แตกต่างกัน? ฉันดูเหมือนจะไม่สามารถค้นหาเอกสารจำนวนมาก.gitkeepได้
1926 git  gitignore 

20
ฉันจะลบไฟล์ออกจากที่เก็บ Git ได้อย่างไร
ฉันได้เพิ่มไฟล์ชื่อ"file1.txt"ในที่เก็บ Git หลังจากนั้นฉันยืนยันแล้วเพิ่มไดเรกทอรีที่เรียกว่าdir1และdir2และส่งไปยังที่เก็บ Git ตอนนี้พื้นที่เก็บข้อมูลในปัจจุบันมี"file1.txt", และdir1 dir2ฉันจะลบ"file1.txt"โดยไม่ส่งผลกระทบต่อผู้อื่นเช่นdir1และได้dir2อย่างไร
1922 git  git-rm 

13
ฉันจะเปลี่ยนการเปลี่ยนแปลงในพื้นที่ทั้งหมดในโครงการที่จัดการ Git กลับไปเป็นสถานะก่อนหน้าได้อย่างไร
git initผมมีโครงการที่ฉันวิ่ง หลังจากทำคอมมิทหลายครั้งฉันก็git statusบอกทุกอย่างให้ทันสมัยและไม่มีการเปลี่ยนแปลงในท้องถิ่น จากนั้นฉันทำการเปลี่ยนแปลงติดต่อกันหลายครั้งและตระหนักว่าฉันต้องการทิ้งทุกอย่างและกลับสู่สภาพเดิม คำสั่งนี้จะทำเพื่อฉันได้ไหม git reset --hard HEAD
1913 git  revert  git-checkout 

24
มีวิธีการแคช GitHub ข้อมูลประจำตัวสำหรับการผลักดันการกระทำหรือไม่?
ฉันเพิ่งเปลี่ยนไปซิงโครไนซ์ที่เก็บข้อมูลของฉันเป็น https: // บน GitHub (เนื่องจากปัญหาไฟร์วอลล์) และมันจะขอรหัสผ่านทุกครั้ง มีวิธีแคชข้อมูลรับรองแทนการตรวจสอบสิทธิ์ทุกครั้งgit pushหรือไม่

18
วิธีที่ง่ายที่สุดในการดึง submodules คอมไพล์ล่าสุด
เรากำลังใช้ submodules git เพื่อจัดการโครงการขนาดใหญ่สองแห่งที่มีการพึ่งพาไลบรารีอื่น ๆ ที่เราได้พัฒนาขึ้น แต่ละห้องสมุดเป็น repo แยกเข้ามาในโครงการขึ้นอยู่กับ submodule ในระหว่างการพัฒนาเรามักจะต้องการเพียงแค่ไปคว้าเวอร์ชันล่าสุดของทุกซับโดเลชั่น คอมไพล์มีคำสั่งในตัวเพื่อทำสิ่งนี้หรือไม่? ถ้าไม่เป็นเช่นนั้นไฟล์แบตช์ของ Windows หรือที่คล้ายกันนั้นสามารถทำได้
1846 git  git-submodules 

30
เพิ่มภาพไปที่ README.md บน GitHub
เมื่อเร็ว ๆ นี้ผมได้เข้าร่วมGitHub ฉันโฮสต์บางโครงการที่นั่น ฉันต้องรวมภาพบางส่วนไว้ในไฟล์ README ของฉัน ฉันไม่รู้จะทำยังไง ฉันค้นหาเกี่ยวกับสิ่งนี้ แต่ทั้งหมดที่ฉันได้รับคือลิงก์บางอันที่บอกให้ฉัน "โฮสต์รูปภาพบนเว็บและระบุเส้นทางรูปภาพในไฟล์ README.md" มีวิธีการทำเช่นนี้โดยไม่ต้องโฮสต์รูปภาพในบริการเว็บโฮสติ้งบุคคลที่สามหรือไม่?


25
แยกไดเรกทอรีย่อย (ย้าย) ออกเป็นที่เก็บ Git แยกต่างหาก
ฉันมีที่เก็บGitซึ่งมีจำนวนไดเรกทอรีย่อย ตอนนี้ฉันได้พบว่าหนึ่งในไดเรกทอรีย่อยที่ไม่เกี่ยวข้องกับอื่น ๆ และควรจะแยกออกไปที่เก็บแยกต่างหาก ฉันจะทำสิ่งนี้ในขณะที่เก็บประวัติของไฟล์ในไดเรกทอรีย่อยได้อย่างไร ฉันเดาว่าฉันสามารถสร้างโคลนและลบส่วนที่ไม่ต้องการของแต่ละโคลนได้ แต่ฉันคิดว่านี่จะให้ต้นไม้ที่สมบูรณ์แก่ฉันเมื่อตรวจสอบการแก้ไขรุ่นเก่า ฯลฯ ซึ่งอาจเป็นที่ยอมรับ แต่ฉันอยากจะแกล้งทำเป็นว่า ที่เก็บสองแห่งไม่มีประวัติที่ใช้ร่วมกัน เพียงเพื่อให้ชัดเจนฉันมีโครงสร้างดังต่อไปนี้ XYZ/ .git/ XY1/ ABC/ XY2/ แต่ฉันต้องการสิ่งนี้แทน: XYZ/ .git/ XY1/ XY2/ ABC/ .git/ ABC/

25
การดู Git ที่ไม่ได้ลงมือทำ
ฉันจะดูการกระทำในท้องถิ่นที่ฉันทำไปแล้วยังไม่ได้ผลักไปยังที่เก็บระยะไกลได้อย่างไร บางครั้งgit statusจะพิมพ์ออกมาว่าสาขาของฉันคือ X มุ่งมั่นก่อนorigin/masterแต่ไม่เสมอไป นี่เป็นข้อผิดพลาดเมื่อติดตั้ง Git หรือไม่
1752 git  git-diff  git-log 

18
วิธีการกู้คืนที่ถูกทิ้งใน Git?
ฉันมักจะใช้git stashและgit stash popเพื่อบันทึกและเรียกคืนการเปลี่ยนแปลงในแผนผังการทำงานของฉัน เมื่อวานนี้ฉันมีการเปลี่ยนแปลงบางอย่างในแผนผังการทำงานของฉันที่ฉันถูก stashed และแตกแล้วฉันได้ทำการเปลี่ยนแปลงเพิ่มเติมในแผนผังการทำงานของฉัน ฉันต้องการย้อนกลับและตรวจสอบการเปลี่ยนแปลงที่ถูกทำเมื่อวานนี้ แต่git stash popดูเหมือนจะลบการอ้างอิงทั้งหมดที่เกี่ยวข้อง ฉันรู้ว่าถ้าฉันใช้git stashแล้ว. git / refs / stash มีการอ้างอิงของการกระทำที่ใช้ในการสร้างที่เก็บ และ. git / logs / refs / stash มีที่เก็บทั้งหมด แต่การอ้างอิงเหล่านั้นจะหายไปหลังจากgit stash popนั้น ฉันรู้ว่าการกระทำยังอยู่ในที่เก็บของฉันอยู่ที่ไหนสักแห่ง แต่ฉันไม่รู้ว่ามันคืออะไร มีวิธีง่าย ๆ ในการกู้คืนข้อมูลอ้างอิงของเมื่อวานหรือไม่? โปรดทราบว่าสิ่งนี้ไม่สำคัญสำหรับฉันในวันนี้เพราะฉันมีการสำรองข้อมูลรายวันและสามารถกลับไปที่แผนผังการทำงานของเมื่อวานนี้เพื่อรับการเปลี่ยนแปลงของฉัน ฉันถามเพราะต้องมีวิธีที่ง่ายกว่า!
1737 git  recovery  git-stash 

19
จะหยุดการติดตามและเพิกเฉยต่อการเปลี่ยนแปลงไฟล์ใน Git ได้อย่างไร?
ฉันได้โคลนโครงการที่มีบาง.csprojไฟล์ ฉันไม่ต้องการ / เหมือนcsprojไฟล์ในเครื่องของฉันที่ถูกติดตามโดย Git (หรือถูกนำขึ้นเมื่อสร้างแพทช์) แต่เห็นได้ชัดว่าจำเป็นต้องมีในโครงการ ฉันเพิ่มลง*.csprojใน LOCAL ของฉัน.gitignoreแล้ว แต่ไฟล์มีอยู่ใน repo แล้ว เมื่อฉันพิมพ์สถานะ git จะแสดงการเปลี่ยนแปลงของฉันcsprojที่ฉันไม่สนใจติดตามหรือส่งแพทช์ ฉันจะลบ "การติดตาม" ไฟล์เหล่านี้ออกจาก repo ส่วนตัวของฉัน (แต่เก็บไว้ในแหล่งที่มาเพื่อให้ฉันสามารถใช้พวกเขา) เพื่อให้ฉันไม่เห็นการเปลี่ยนแปลงเมื่อฉันทำสถานะ (หรือสร้างแพทช์)? มีวิธีที่ถูกต้อง / เป็นบัญญัติในการจัดการสถานการณ์นี้หรือไม่?
1731 git 

22
ทำให้. gitignore ละเว้นทุกสิ่งยกเว้นไฟล์บางไฟล์
ฉันเข้าใจว่าไฟล์. gitignore ปกปิดไฟล์ที่ระบุจากการควบคุมเวอร์ชันของ Git ฉันมีโครงการ (LaTeX) ที่สร้างไฟล์พิเศษจำนวนมาก (. auth, .dvi, .pdf, บันทึก ฯลฯ ) ในขณะที่ทำงาน แต่ฉันไม่ต้องการให้มีการติดตาม ฉันรู้ว่าฉันสามารถ (อาจจะควร) ทำมันเพื่อให้ไฟล์เหล่านั้นทั้งหมดถูกวางไว้ในโฟลเดอร์ย่อยแยกต่างหากในโครงการเนื่องจากฉันสามารถข้ามโฟลเดอร์ได้ อย่างไรก็ตามมีวิธีใดที่เป็นไปได้ในการเก็บไฟล์เอาท์พุทในรากของแผนผังโครงการและใช้. gitignore เพื่อละเว้นทุกอย่างยกเว้นไฟล์ที่ฉันกำลังติดตามด้วย Git? สิ่งที่ต้องการ # Ignore everything * # But not these files... script.pl template.latex # etc...
1700 git  gitignore 

14
ทำให้สาขา Git ปัจจุบันเป็นสาขาหลัก
ฉันมีที่เก็บใน Git ฉันสร้างสาขาจากนั้นก็ทำการเปลี่ยนแปลงทั้งกับอาจารย์และสาขา จากนั้นหลายสิบข้อผูกมัดในภายหลังฉันตระหนักว่าสาขาอยู่ในสถานะที่ดีกว่าต้นแบบดังนั้นฉันต้องการให้สาขาเป็น "กลายเป็น" เจ้านายและไม่สนใจการเปลี่ยนแปลงในต้นแบบ ฉันไม่สามารถรวมมันได้เพราะฉันไม่ต้องการให้การเปลี่ยนแปลงกับต้นแบบ ฉันควรทำอย่างไรดี? พิเศษ : ในกรณีนี้ต้นแบบ 'เก่า' ได้ถูกนำpushไปใช้กับที่เก็บอื่นแล้วเช่น GitHub สิ่งนี้เปลี่ยนแปลงได้อย่างไร
1657 git 

3
ฉันจะคอมไพล์ซ่อนไฟล์เฉพาะได้อย่างไร
ฉันจะซ่อนไฟล์ที่เฉพาะเจาะจงออกจากไฟล์อื่น ๆ ที่แก้ไขในปัจจุบันจากที่ซ่อนที่ฉันกำลังจะบันทึกได้อย่างไร ตัวอย่างเช่นถ้าสถานะ git ให้สิ่งนี้แก่ฉัน: younker % gst # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Changes not staged for commit: # (use "git add <file>..." to update what will be committed) # (use "git checkout -- <file>..." to discard changes …
1654 git  git-stash 

13
เลิกทำการแก้ไขการคัดลอกไฟล์เดียวใน Git หรือไม่
หลังจากการคอมมิทครั้งล่าสุดฉันแก้ไขไฟล์จำนวนมากในสำเนาการทำงานของฉัน แต่ฉันต้องการยกเลิกการเปลี่ยนแปลงไฟล์เหล่านั้นอย่างใดอย่างหนึ่งในขณะที่รีเซ็ตเป็นสถานะเดียวกับคอมมิชชันล่าสุด อย่างไรก็ตามฉันต้องการยกเลิกการเปลี่ยนแปลงการคัดลอกที่ใช้งานได้ของไฟล์เพียงไฟล์เดียวโดยไม่ต้องทำอะไรเลย ฉันจะทำอย่างไร
1632 git  file  version-control  dvcs  undo 

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