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

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

18
เครื่องมือผสานการมองเห็นที่ดีที่สุดสำหรับ Git คืออะไร [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อเดือนที่แล้ว เครื่องมือที่ดีที่สุดในการดูและแก้ไขการผสานใน Git คืออะไร ฉันต้องการรับมุมมองแบบสามทางด้วย "เหมือง", "ของพวกเขา" และ "บรรพบุรุษ" ในแผงแยกต่างหากและแผง "เอาท์พุท" ที่สี่ นอกจากนี้คำแนะนำสำหรับการเรียกใช้เครื่องมือดังกล่าวจะยอดเยี่ยม (ฉันยังไม่ได้คิดออกว่าจะเริ่ม kdiff3 ในลักษณะที่ไม่ทำให้ฉันมีข้อผิดพลาด) ระบบปฏิบัติการของฉันคือ Ubuntu

9
กลยุทธ์การจัดการ CRLF (carriage return, line line) ที่ดีที่สุดกับ Git คืออะไร?
ฉันลองส่งไฟล์ที่มีบรรทัดสิ้นสุด CRLF แต่มันล้มเหลว ผมใช้เวลาวันทำงานทั้งบนคอมพิวเตอร์ที่ใช้ Windows ของฉันพยายามกลยุทธ์ที่แตกต่างและถูกดึงออกมาเกือบจะหยุดการพยายามที่จะใช้ Git และแทนที่จะพยายามMercurial โปรดแบ่งปันแนวทางปฏิบัติที่ดีที่สุดเพียงข้อเดียวต่อคำตอบ

8
ลบไดเรกทอรีจากที่เก็บระยะไกลหลังจากเพิ่มไปยัง. gitignore
ฉันมุ่งมั่นและผลักดันบางไดเรกทอรีไป GitHub หลังจากนั้นฉันเปลี่ยน.gitignoreไฟล์เพิ่มไดเรกทอรีที่ควรละเว้น ทุกอย่างทำงานได้ดี แต่ไดเรกทอรี (ไม่สนใจตอนนี้) ยังคงอยู่ใน Github ฉันจะลบไดเร็กทอรีนั้นออกจาก github และประวัติที่เก็บได้อย่างไร?
598 git  github  gitignore 

5
จะอัพเดทคำขอดึงจาก repo ที่มีการแยกได้อย่างไร
ดังนั้นฉันจึงแยก repo ก่อนแล้วจึงทำคอมมิชชันที่ forked นั้น ฉันเปิดคำขอดึงแล้ว คำขอดึงแสดงการเปลี่ยนแปลงทั้งหมดที่ฉันต้องการ หลังจากตรวจสอบคำขอดึงของฉันมีการเปลี่ยนแปลงหลายอย่างที่เจ้าของซื้อคืนต้องการให้ฉันทำก่อนที่เขาจะยอมรับ ฉันได้ทำการเปลี่ยนแปลงในทางแยกแล้วตอนนี้ฉันจะอัปเดตคำขอดึงกับการเปลี่ยนแปลงเหล่านั้นได้อย่างไร (หรือนี่ไม่ใช่วิธีที่ฉันควรจัดการ)

19
Git Push Error: สิทธิ์ไม่เพียงพอสำหรับการเพิ่มวัตถุไปยังฐานข้อมูลที่เก็บ
เมื่อฉันพยายามที่จะผลักดันไปยังรีโมทคอมไพล์ฉันได้รับข้อผิดพลาดดังต่อไปนี้: insufficient permission for adding an object to repository database จากนั้นฉันอ่านเกี่ยวกับการแก้ไขที่นี่: แก้ไขการ ทำงานนี้ใช้สำหรับการพุชครั้งต่อไปเนื่องจากไฟล์ทั้งหมดเป็นกลุ่มที่ถูกต้อง แต่ครั้งต่อไปที่มีคนผลักดันการเปลี่ยนแปลงมันทำให้รายการใหม่ในโฟลเดอร์วัตถุที่มีกลุ่มเริ่มต้น เป็นกลุ่ม สิ่งเดียวที่ฉันคิดได้คือการเปลี่ยนกลุ่มเริ่มต้นทั้งหมดของผู้พัฒนาสำหรับรายการที่เช็คอิน แต่ดูเหมือนว่าแฮ็ค ความคิดใด ๆ ขอบคุณ
591 git  push 

11
การยกเลิกการ 'git push'
นี่คือสิ่งที่ฉันทำในสาขาที่ควรจะเป็นของฉัน... % git rebase master First, rewinding head to replay your work on top of it... Fast-forwarded alpha-0.3.0 to master. % git status # On branch alpha-0.3.0 # Your branch is ahead of 'origin/alpha-0.3.0' by 53 commits. # nothing to commit (working directory clean) % git push Fetching remote heads... …
591 git  git-push 

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

12
วิธี git-cherry-pick เปลี่ยนแปลงเฉพาะไฟล์บางไฟล์เท่านั้น?
ถ้าฉันต้องการรวมเข้ากับสาขา Git การเปลี่ยนแปลงที่เกิดขึ้นกับไฟล์บางไฟล์ที่ถูกเปลี่ยนแปลงในคอมมิทเฉพาะที่รวมการเปลี่ยนแปลงหลายไฟล์สิ่งนี้จะเกิดขึ้นได้อย่างไร? สมมติว่าคอมมิทใช้เรียกว่าstuffมีการเปลี่ยนแปลงไฟล์A, BและC, Dแต่ฉันต้องการรวมstuffการเปลี่ยนแปลงเฉพาะไฟล์AและB. ดูเหมือนว่าเป็นงานgit cherry-pickแต่cherry-pickรู้เพียงวิธีการรวมคอมมิททั้งหมดไม่ใช่ส่วนย่อยของไฟล์
586 git  github  cherry-pick 

8
รีเซ็ต git - ฮาร์ด HEAD ออกจากไฟล์ที่ไม่ได้ติดตาม
เมื่อฉันรันgit reset --hard HEADมันควรจะรีเซ็ตเป็นเวอร์ชั่นเก่าแก่ของสิ่งที่คุณดึงขึ้นมาเพราะฉันเข้าใจ น่าเสียดายที่มันทำให้ไฟล์อยู่ในแนวนอนเนื่องจากเป็นgit statusรายการไฟล์ที่ไม่ได้ติดตามขนาดใหญ่ คุณจะบอกคอมไพล์ได้อย่างไร "เพียงแค่นำมันกลับไปที่สิ่งที่ดึงครั้งสุดท้ายไม่มีอะไรมากไม่มีอะไรน้อย"
584 git 


8
ไปที่การแก้ไขเฉพาะ
ฉันโคลนที่เก็บคอมไพล์ของโปรเจ็กต์หนึ่ง ฉันสามารถเปลี่ยนไฟล์ให้อยู่ในสถานะเริ่มต้นและเมื่อฉันตรวจสอบไฟล์ไปที่การแก้ไข 2, 3, 4 ... ล่าสุดได้หรือไม่ ฉันต้องการที่จะเห็นภาพรวมของการพัฒนาโครงการ

5
วิธีการเปลี่ยนการตั้งค่าการสิ้นสุดบรรทัด
มีไฟล์หรือเมนูที่จะให้ฉันเปลี่ยนการตั้งค่าเกี่ยวกับวิธีจัดการกับการจบบรรทัดหรือไม่? ฉันอ่านมี 3 ตัวเลือก: ชำระเงินสไตล์ Windows คอมมิชชัน Unix Git จะแปลง LF เป็น CRLF เมื่อตรวจสอบไฟล์ข้อความ เมื่อส่งไฟล์ข้อความ CRLF จะถูกแปลงเป็น LF สำหรับโครงการข้ามแพลตฟอร์มนี่เป็นการตั้งค่าที่แนะนำบน Windows ("core.autocrlf" ถูกตั้งค่าเป็น "true") ชำระเงินตามสภาพกระทำสไตล์ Unix Git จะไม่ทำการแปลงใด ๆ เมื่อตรวจสอบไฟล์ข้อความ เมื่อส่งไฟล์ข้อความ CRLF จะถูกแปลงเป็น LF สำหรับโครงการข้ามแพลตฟอร์มนี่เป็นการตั้งค่าที่แนะนำสำหรับ Unix ("core.autocrlf" ถูกตั้งค่าเป็น "input") ชำระเงินตามสภาพกระทำกระทำตามสภาพ Git จะไม่ทำการแปลงใด ๆ เมื่อตรวจสอบหรือกระทำไฟล์ข้อความ ไม่แนะนำให้เลือกตัวเลือกนี้สำหรับโครงการข้ามแพลตฟอร์ม ("core.autocrlf" ถูกตั้งค่าเป็น "false")
581 git  msysgit 

12
ไม่มีข้อมูลการติดตามสำหรับสาขาปัจจุบัน
ฉันใช้ github มาในระยะเวลาอันสั้นและฉันมักจะใช้ไคลเอนต์เพื่อทำการคอมมิทและดึง ฉันตัดสินใจลองจาก bash git เมื่อวานนี้และฉันสร้าง repo และไฟล์ที่กำหนดใหม่สำเร็จ วันนี้ฉันทำการเปลี่ยนแปลงที่เก็บจากคอมพิวเตอร์เครื่องอื่นฉันได้กระทำการเปลี่ยนแปลงและตอนนี้ฉันกลับบ้านและดำเนินการgit pullเพื่ออัปเดตเวอร์ชันท้องถิ่นของฉันและฉันได้รับสิ่งนี้: There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details git pull <remote> <branch> If you wish to set tracking information for this branch you can do …
581 git  github  git-pull 


15
ฉันจะโคลนไปยังไดเรกทอรีที่ไม่ว่างได้อย่างไร
ฉันมีไดเรกทอรี A พร้อมแฟ้มที่ตรงกับไดเรกทอรี B. ไดเรกทอรี A อาจมีไฟล์อื่น ๆ ที่จำเป็น Directory B เป็น repo คอมไพล์ ฉันต้องการโคลนไดเรกทอรี B ไปยังไดเรกทอรี A แต่ git-clone ไม่อนุญาตให้ฉันเนื่องจากไดเรกทอรีไม่ว่างเปล่า ฉันหวังว่ามันจะโคลน. git และเนื่องจากไฟล์ทั้งหมดตรงกับที่ฉันสามารถไปจากที่นั่นได้หรือไม่ ฉันไม่สามารถโคลนไปยังไดเรกทอรีว่างได้เพราะฉันมีไฟล์ในไดเรกทอรี A ซึ่งไม่ได้อยู่ในไดเรกทอรี B และฉันต้องการเก็บไว้ การคัดลอก. git ไม่ใช่ตัวเลือกเนื่องจากฉันต้องการให้ผู้ใช้กด / ดึงและฉันไม่ต้องการตั้งค่าด้วยตนเอง มีวิธีการทำเช่นนี้? อัปเดต: ฉันคิดว่าใช้งานได้ทุกคนสามารถเห็นปัญหาใด ๆ ได้บ้าง -> cd a git clone --no-hardlinks --no-checkout ../b a.tmp mv a.tmp/.git …
572 git 

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