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

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

4
คำเตือน: push.default ไม่ได้ตั้งค่า; ค่าโดยนัยมีการเปลี่ยนแปลงใน Git 2.0
ผมเคยใช้ Git สำหรับขณะนี้และเมื่อเร็ว ๆ pushนี้ได้ดาวน์โหลดการปรับปรุงเพียงเพื่อจะพบข้อความเตือนนี้เกิดขึ้นเมื่อฉันพยายามที่จะ warning: push.default is unset; its implicit value is changing in Git 2.0 from 'matching' to 'simple'. To squelch this message and maintain the current behavior after the default changes, use: git config --global push.default matching To squelch this message and adopt the new behavior now, …

22
คุณจะรวมที่เก็บ Git สองแห่งได้อย่างไร
พิจารณาสถานการณ์สมมติต่อไปนี้: ฉันได้พัฒนาโครงการทดลองขนาดเล็ก A ใน Git repo ของตัวเอง ตอนนี้ครบกำหนดแล้วและฉันต้องการให้ A เป็นส่วนหนึ่งของโครงการ B ขนาดใหญ่ซึ่งมีพื้นที่เก็บข้อมูลขนาดใหญ่ของตัวเอง ตอนนี้ฉันต้องการเพิ่ม A เป็นไดเรกทอรีย่อยของ B ฉันจะรวม A เข้ากับ B โดยไม่สูญเสียประวัติด้านใดได้อย่างไร

28
ลบไฟล์ออกจาก Git commit
ฉันใช้ Git และฉันได้กำหนดให้ใช้ไฟล์น้อย git commit -a ต่อมาฉันพบว่ามีการเพิ่มไฟล์ผิดไปยังการคอมมิท ฉันจะลบไฟล์ออกจากการคอมมิทครั้งล่าสุดได้อย่างไร?
1612 git  git-commit 

3
Git จัดการกับลิงก์สัญลักษณ์อย่างไร
หากฉันมีไฟล์หรือไดเรกทอรีที่เป็นลิงก์สัญลักษณ์และฉันส่งไปยังที่เก็บ Git จะเกิดอะไรขึ้นกับมัน ฉันจะสมมติว่ามันปล่อยให้มันเป็นลิงค์สัญลักษณ์จนกว่าไฟล์จะถูกลบแล้วถ้าคุณดึงไฟล์กลับมาจากรุ่นเก่ามันก็แค่สร้างไฟล์ปกติ จะทำอย่างไรเมื่อฉันลบไฟล์ที่อ้างอิง? มันแค่ผูกลิงค์ห้อย?

21
Git ไม่ทำงานหลังจากอัพเดต macOS (xcrun: ข้อผิดพลาด: เส้นทางนักพัฒนาที่ใช้งานไม่ถูกต้อง (/ Library / Developer / CommandLineTools)
ฉันอัปเดตเป็น macOS Mojave (เกิดขึ้นกับการอัพเดต Catalina ด้วย) เช้านี้ฉันไปที่ codebase ของงานใน Command Line บน MacBook Pro ของฉันพิมพ์ใน "สถานะ git" ในที่เก็บและได้รับข้อผิดพลาด: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

26
ฉันจะกระทบยอด HEAD ที่แยกออกมากับ Master / Origin ได้อย่างไร
ฉันใหม่ที่ความซับซ้อนในการแตกแขนงของ Git ฉันมักจะทำงานในสาขาเดียวและยอมรับการเปลี่ยนแปลงและจากนั้นผลักดันให้ต้นกำเนิดระยะไกลของฉันเป็นระยะ ที่ไหนสักแห่งเมื่อเร็ว ๆ นี้ฉันได้ทำการรีเซ็ตไฟล์บางไฟล์เพื่อให้พวกเขาหลุดพ้นจากการแสดงละครและต่อมาก็ a rebase -iเพื่อกำจัดคอมมิชชันล่าสุดในท้องถิ่น ตอนนี้ฉันอยู่ในสถานะที่ฉันไม่ค่อยเข้าใจ ในพื้นที่ทำงานของฉันgit logแสดงสิ่งที่ฉันคาดหวัง - ฉันอยู่บนรถไฟที่ถูกต้องพร้อมกับความมุ่งมั่นที่ฉันไม่ต้องการจากไปและสิ่งใหม่ ๆ ที่นั่น ฯลฯ แต่ฉันแค่ผลักไปที่พื้นที่เก็บข้อมูลระยะไกลและสิ่งที่มีความแตกต่าง - สองคอมมิชชันที่ฉันฆ่าในการรีบูตได้รับการผลักและคนใหม่ที่มุ่งมั่นในท้องถิ่นไม่ได้มี ฉันคิดว่า "master / origin" แยกออกจาก HEAD แต่ฉันไม่ชัดเจน 100% ในสิ่งที่หมายถึงวิธีดูภาพด้วยเครื่องมือบรรทัดคำสั่งและวิธีแก้ไข
1558 git 

19
จะดูการเปลี่ยนแปลงใน Git ที่คอมมิชชันได้อย่างไร?
เมื่อฉันgit diff COMMITฉันเห็นการเปลี่ยนแปลงระหว่างความมุ่งมั่นนั้นและส่วนหัว (เท่าที่ฉันรู้) แต่ฉันอยากเห็นการเปลี่ยนแปลงที่เกิดขึ้นจากความมุ่งมั่นนั้น ฉันไม่พบตัวเลือกที่ชัดเจนในdiff/ logที่จะให้ผลลัพธ์นั้นกับฉัน


12
วิธีการเปรียบเทียบไฟล์จากสองสาขาที่แตกต่างกันอย่างไร
ฉันมีสคริปต์ที่ทำงานได้ดีในสาขาหนึ่งและแตกหักในอีก ฉันต้องการดูทั้งสองรุ่นเคียงข้างกันและดูว่ามีอะไรแตกต่างกัน มีวิธีใดบ้างในการทำเช่นนี้? เพื่อความชัดเจนฉันไม่ได้กำลังมองหาเครื่องมือเปรียบเทียบ (ฉันใช้ Beyond Compare) ฉันกำลังมองหาคำสั่ง git diff ที่จะให้ฉันเปรียบเทียบรุ่นต้นแบบกับรุ่นสาขาปัจจุบันของฉันเพื่อดูว่ามีการเปลี่ยนแปลงอย่างไร ฉันไม่ได้อยู่ระหว่างการรวมหรืออะไรก็ตาม ฉันแค่อยากจะพูดอะไรบางอย่างเช่น git diff mybranch/myfile.cs master/myfile.cs
1537 git  git-diff 

30
.gitignore ถูกละเว้นโดย Git
.gitignoreดูเหมือนว่าไฟล์ของฉันจะถูกละเว้นโดย Git - .gitignoreไฟล์อาจเสียหายหรือไม่? รูปแบบไฟล์สถานที่หรือวัฒนธรรมที่ Git คาดหวัง? ของฉัน.gitignore: # This is a comment debug.log nbproject/ ผลลัพธ์จากgit status: # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # # Untracked files: # (use "git add <file>..." to include in what will be committed) # # debug.log …
1511 git  gitignore 


30
ฉันจะย้ายที่เก็บ SVN พร้อมประวัติไปยังที่เก็บ Git ใหม่ได้อย่างไร
ฉันอ่านคู่มือ Git, คำถามที่พบบ่อย, Git - SVN crash course ฯลฯ และพวกเขาทั้งหมดอธิบายสิ่งนี้และสิ่งนั้น แต่ไม่มีที่ไหนที่คุณจะพบคำแนะนำง่ายๆเช่น: ที่เก็บ SVN ใน: svn://myserver/path/to/svn/repos ที่เก็บ Git ใน: git://myserver/path/to/git/repos git-do-the-magic-svn-import-with-history \ svn://myserver/path/to/svn/repos \ git://myserver/path/to/git/repos ฉันไม่คาดหวังว่ามันจะง่ายขนาดนั้นและฉันไม่คาดหวังว่ามันจะเป็นคำสั่งเดียว แต่ฉันคาดหวังว่ามันจะไม่พยายามอธิบายอะไร - เพียงแค่บอกว่าขั้นตอนที่ต้องทำในตัวอย่างนี้

30
วิธีดึงข้อมูลสาขา Git ทั้งหมด
ฉันโคลนที่เก็บ Git ซึ่งมีสาขาประมาณห้าแห่ง อย่างไรก็ตามเมื่อฉันgit branchฉันเห็นเพียงหนึ่งในนั้น: $ git branch * master ฉันรู้ว่าฉันสามารถทำได้git branch -aเพื่อดูกิ่งไม้ทั้งหมดแต่ฉันจะดึงกิ่งก้านสาขาทั้งหมดในพื้นที่ได้อย่างไรเมื่อฉันทำgit branchมันแสดงดังต่อไปนี้ $ git branch * master * staging * etc...
1507 git  branch  git-branch 

18
ทิ้งความมุ่งมั่นของท้องถิ่นใน Git
เนื่องจากการเก็บเชอร์รี่ที่ไม่ดีบางครั้งพื้นที่เก็บข้อมูล Git ในท้องถิ่นของฉันอยู่ห้าแห่งก่อนที่จะเริ่มต้นและไม่ใช่ในสถานะที่ดี ฉันต้องการกำจัดสิ่งเหล่านี้และเริ่มต้นใหม่อีกครั้ง เห็นได้ชัดว่าการลบไดเรกทอรีการทำงานของฉันและการโคลนซ้ำจะทำเช่นนั้น แต่การดาวน์โหลดทุกอย่างจาก GitHub นั้นดูเหมือนจะเกินความเป็นจริงไม่ใช่การใช้เวลาให้เป็นประโยชน์ อาจจะgit revertเป็นสิ่งที่ฉันต้องการ แต่ฉันไม่ต้องการที่จะจบลง10 คอมมิตก่อนที่จะเริ่มต้น (หรือแม้แต่หก) แม้ว่ามันจะทำให้โค้ดกลับคืนสู่สถานะที่ถูกต้องก็ตาม ฉันแค่อยากจะแกล้งครึ่งชั่วโมงที่ผ่านมาไม่เคยเกิดขึ้น มีคำสั่งง่ายๆที่จะทำเช่นนี้? ดูเหมือนว่าเป็นกรณีการใช้งานที่ชัดเจน แต่ฉันไม่พบตัวอย่างของมัน โปรดทราบว่าคำถามนี้เป็นพิเศษเกี่ยวกับการกระทำ , ไม่เกี่ยวกับ: ไฟล์ที่ไม่ได้ติดตาม การเปลี่ยนแปลงแบบไม่จัด staged แต่ไม่มีข้อผูกมัดการเปลี่ยนแปลง
1469 git 

20
ทำไมฉันต้องทำ - เซ็ตอัพสตรีมตลอดเวลา
ฉันสร้างสาขาใหม่ใน Git: git branch my_branch ผลักดัน: git push origin my_branch ตอนนี้มีคนบอกว่ามีการเปลี่ยนแปลงบางอย่างบนเซิร์ฟเวอร์และฉันต้องการดึงออกorigin/my_branchมา ฉันทำ: git pull แต่ฉันได้รับ: You asked me to pull without telling me which branch you want to merge with, and 'branch.my_branch.merge' in your configuration file does not tell me, either. Please specify which branch you want to use on …
1468 git  git-branch 

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