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

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

4
ลืม "git rebase --continue" และทำ "คอมมิต" แก้ไขอย่างไร?
ฉันกำลังเปลี่ยนรหัสในคอมไพล์ฉันมีข้อขัดแย้งในการผสาน ฉันแก้ไขข้อขัดแย้งและทำ: git add ณ จุดนี้ฉันลืมทำ: git rebase --continue ฉันเขียนโค้ดต่อไปและทำ: git commit สำหรับการเปลี่ยนแปลง ตอนนี้ฉันอยู่"no branch"และทำไม่ได้: git rebase --continue ฉันจะแก้ไขปัญหานี้ได้อย่างไร
112 git 

5
Git: แสดงการเปลี่ยนแปลงต่างๆทั้งหมดเป็นบรรทัดเดียวในไฟล์ที่ระบุในประวัติคอมไพล์ทั้งหมด
ฉันมองไปรอบ ๆ แล้วและไม่แน่ใจว่าจะเป็นไปได้หรือไม่ แต่ต่อไปนี้: ฉันมีไฟล์ (javascript) (พูด /lib/client.js) ซึ่งฉันมีตัวระบุเฉพาะที่กำหนดให้กับตัวแปรดังนี้: var identifier = "SOME_IDENTIFIER"; คุณสามารถคิดว่าตัวระบุเป็นหมายเลขเวอร์ชัน: เราจะเปลี่ยนตัวแปรนี้เป็นตัวระบุใหม่เป็นระยะ สิ่งที่ฉันต้องการทำคือค้นหาตัวระบุเฉพาะทั้งหมดที่เราเคยใช้ ฉันจะทำสิ่งนี้ด้วยคอมไพล์ได้อย่างไร "var identifier ="ผมคิดว่าอาจจะมีวิธีการที่จะค้นหาผ่านประวัติศาสตร์คอมไพล์และพิมพ์การจับคู่สาย ฉันสามารถยกเลิกการหลอกลวงรายการนี้ด้วยตนเอง อย่างไรก็ตามฉันขอขอบคุณสำหรับข้อมูลเชิงลึกที่นี่ ขอบคุณ.
112 git 

1
รายการ Git ของไฟล์ที่จัดขั้น
ฉันฉากมากของไฟล์ที่ใช้git addตอนนี้ผมต้องการที่จะเห็นไฟล์ทั้งหมดที่ผมได้จัดฉากโดยไม่ต้องไม่ได้ติดตามแฟ้มหรือเปลี่ยนแปลง แต่ unstagedไฟล์ ฉันจะทำอย่างไร? เมื่อใช้git diff --cachedฉันสามารถเห็นการเปลี่ยนแปลงของสิ่งที่ฉันจัดฉากได้ ดังนั้นแล้วฉันพยายามใช้git status --cachedแต่ที่น่าเสียดายที่ไม่ได้ทำงานบน--cachedgit status

1
ฉันจะแก้ไขข้อขัดแย้งที่เลือกเชอร์รี่โดยใช้การเปลี่ยนแปลงได้อย่างไร
ฉันgit cherry-pick FOOสร้างความขัดแย้ง ฉันสามารถอ่านไฟล์ที่ขัดแย้งกันและลบเส้นระหว่าง<<<<<<<และ=======และเครื่องหมายความขัดแย้งเองได้ แต่ฉันหวังว่าจะมีวิธีที่ง่ายกว่านี้ ฉันคิดว่าสิ่งที่svnเทียบเท่ากันคือการเลือกที่theirs-conflictจะแก้ไข ฉันจะทำสิ่งนี้ได้gitอย่างไร? ฉันไม่ต้องการgit checkout --theirs <file>เพราะดูเหมือนว่าจะให้ผลลัพธ์เหมือนกับgit checkout foo <file>แทนที่จะgit diff FOO~..FOO <file>นำไปใช้
112 git 

6
อะไรคือความแตกต่างระหว่าง "squash" และ "fixup" ใน Git / Git Extension
ฉันใช้Git Extensions มาระยะหนึ่งแล้ว (มันยอดเยี่ยมมาก!) แต่ฉันไม่พบคำตอบง่ายๆสำหรับสิ่งต่อไปนี้: บางครั้งเมื่อพิมพ์ข้อความคอมมิตจะพิมพ์ผิด เพื่อนของฉันแสดงวิธีแก้ไขด้วยวิธีต่อไปนี้ (ใน Git Extentions): คลิกขวาที่คอมมิต> ขั้นสูง> Fixup คอมมิต จากนั้นฉันก็ทำเครื่องหมายในช่อง "แก้ไข" และเขียนข้อความของฉันและ voila ใหม่! ข้อความยืนยันของฉันได้รับการแก้ไข อย่างไรก็ตามตัวเลือกอื่น "สควอชกระทำ" ... ฉันสงสัยมาตลอดว่ามันทำอะไร?! คำถามของฉันคือ: หากว่าใครบางคนเพียงแค่อธิบายให้ฉันสิ่งที่เป็นความแตกต่างที่แน่นอนระหว่างสควอชกระทำและFixup กระทำในGit / Git Extentions ? พวกเขาดู ... "คล้าย"กับฉัน:

2
ดึงสาขาระยะไกลมาเป็น repo ในพื้นที่ด้วยชื่ออื่นหรือไม่?
เอาล่ะฉันหาข้อมูลเล็กน้อยเกี่ยวกับเรื่องนี้ แต่ไม่พบคำตอบที่แน่นอนฉันจึงต้องถาม ฉันมีรีโมท 2 ตัว: origin และ repo2 ฉันต้องการทำสิ่งที่ชอบ git pull repo2 master แต่นี่จะดึงสาขาหลักของ repo2 มาเป็นนายของฉัน ฉันสามารถระบุสาขาอื่นที่จะดึงเข้ามาสำหรับสาขาในพื้นที่ของฉันได้หรือไม่
112 git  github  repository 

8
ฉันจะละเว้นโฟลเดอร์ bin และ obj จากที่เก็บ git ได้อย่างไร
ฉันต้องการละเว้นโฟลเดอร์ bin และ obj จากที่เก็บ git ของฉัน ดังที่ฉันได้ค้นพบไม่มีวิธีง่ายๆในการทำสิ่งนี้ใน. gitignore แล้วมีวิธีอื่นอีกไหม? ใช้ Clean Solution ใน Visual Studio หรือไม่
112 .net  git  gitignore 

5
ฉันจะสร้างความแตกต่างสำหรับไฟล์เดียวระหว่างสองสาขาใน github ได้อย่างไร
ฉันต้องการสร้างความแตกต่างสำหรับไฟล์เดียวที่จะแสดงความแตกต่างระหว่างสองเวอร์ชันซึ่งจริงๆแล้วคือแท็กใน github จากนั้นฉันต้องการส่งความแตกต่างนี้ให้ใครบางคนทางอีเมลดังนั้น github URL สำหรับ diff จะเหมาะที่สุด มุมมองเปรียบเทียบ github จะอนุญาตให้ฉันทำสิ่งนี้กับไฟล์ที่เปลี่ยนแปลงทั้งหมด แต่ก็ไม่ดีเพราะมีไฟล์หลายพันไฟล์ใน repo ของฉัน ฉันสามารถทำได้ในบรรทัดคำสั่งดังต่อไปนี้ แต่มันไม่ได้ช่วยอะไรเพราะฉันต้องส่งความแตกต่างให้ใครทางอีเมล: git diff tag1 tag2 -- path/to/file ฉันพบเวอร์ชันบรรทัดคำสั่งที่กล่าวถึงที่นี่: ฉันจะเห็นความแตกต่างในไฟล์ที่กำหนดระหว่างสาขาภายในและสาขาระยะไกลได้อย่างไร
112 git  github 

4
git แตกต่างกันระหว่างสองไฟล์ที่แตกต่างกัน
ในHEAD(คอมมิตล่าสุด) ฉันมีไฟล์ชื่อfoo. ในโครงสร้างการทำงานปัจจุบันของฉันฉันเปลี่ยนชื่อเป็นbarและแก้ไขด้วย ผมต้องการที่จะgit diff fooอยู่ในHEADและbarในต้นไม้การทำงานปัจจุบันของฉัน
112 git  diff 

14
Github เปลี่ยนที่เก็บเป็นภาษาที่ไม่ถูกต้อง
ฉันรู้ว่านี่ไม่ใช่เรื่องใหญ่ แต่ฉันชอบให้ Github ของฉันมีความหลากหลายทางภาษา ฉันเขียนโครงการใน Swift และเมื่อฉันยอมรับว่ามันอยู่ใน Objective C ฉันคิดว่าอาจเป็นเพราะเฟรมเวิร์ก Parse เขียนใน Objective C และตรวจพบสิ่งนั้น แต่มีวิธีใดในการเปลี่ยนภาษาที่แสดงในหน้าที่เก็บหลักหรือไม่

6
Visual Studio Code จะแก้ไขความขัดแย้งในการผสานกับ git ได้อย่างไร?
ฉันพยายามรวมสาขาของฉันกับสาขาอื่นและเกิดความขัดแย้งในการรวม ใน Visual Studio Code (เวอร์ชัน 1.2.1) ฉันได้แก้ไขปัญหาทั้งหมดอย่างไรก็ตามเมื่อฉันพยายามที่จะยอมรับมันยังคงให้ข้อความนี้กับฉัน: ก่อนอื่นคุณควรแก้ไขการเปลี่ยนแปลงที่ไม่ได้รวมเข้าด้วยกันก่อนที่จะดำเนินการเปลี่ยนแปลงของคุณ ฉันได้ลองใช้ googling แล้ว แต่หาคำตอบไม่ได้ว่าทำไมถึงไม่ยอมให้ฉันทำการเปลี่ยนแปลงความขัดแย้งทั้งหมดก็หายไป

6
IntelliJ: การดูความแตกต่างของไฟล์ที่เปลี่ยนแปลงทั้งหมดระหว่างโลคัลและคอมมิต / สาขา
การใช้ diff viewer ของ IntelliJ เป็นวิธีที่ดีมากในการตรวจสอบโค้ดเพราะคุณสามารถทำการเปลี่ยนแปลงในเวอร์ชันโลคัลของคุณด้วยความสามารถทั้งหมดของโปรแกรมแก้ไขโค้ด IntelliJ (การปรับโครงสร้างใหม่การทำให้สมบูรณ์ ฯลฯ ) น่าเสียดายที่ฉันไม่ได้หาวิธีทำสิ่งที่สำคัญที่สุดเมื่อคุณทำการตรวจสอบโค้ดใน IntelliJ กล่าวคือ: ดูความแตกต่างของไฟล์ที่เปลี่ยนแปลงทั้งหมดในโครงสร้างการทำงาน (ตรวจสอบจากสาขาที่คุณต้องการรวม) และสาขาอื่น (สาขาที่คุณวางแผนจะรวมเข้าด้วยกันเช่น "master) ไม่มีใครรู้วิธีการทำเช่นนี้?
112 git  intellij-idea 

2
Git วิธีการย้อนกลับ rebase
ใน Git คุณจะย้อนกลับ rebase ได้อย่างไรหากคุณไม่พอใจกับมัน Git ไม่มี dry-run สำหรับ rebase ถ้าฉันสร้างฐานใหม่แล้ว แต่ยังไม่ได้ดันมันฉันจะย้อนกลับไปก่อนหน้านี้ได้อย่างไรราวกับว่ามันไม่เคยเกิดขึ้น
112 git 

7
เหตุใด git ที่แตกต่างกันใน Windows จึงเตือนว่า“ เทอร์มินัลทำงานไม่สมบูรณ์”
ฉันใช้msysgit 1.7.7.1บน Windows git diffฉันได้รับข้อผิดพลาดเมื่อใช้ สาเหตุนี้คืออะไร? ไม่มีเครื่องมือ diff ที่รวมอยู่ใน msysgit หรือไม่? ฉันควรทำอย่างไรดี? คำเตือน: เทอร์มินัลทำงานไม่สมบูรณ์
111 windows  git  diff  msysgit 

5
ฉันจะ 'git fetch' และ 'git merge' จาก Remote Tracking Branch ได้อย่างไร (เช่น 'git pull')
ฉันได้ตั้งค่าสาขาการติดตามระยะไกลในคอมไพล์แล้ว แต่ดูเหมือนว่าฉันจะไม่สามารถรวมสาขาเหล่านี้เข้ากับสาขาท้องถิ่นได้เลยเมื่อฉันอัปเดตด้วย 'git fetch' ตัวอย่างเช่นสมมติว่าฉันมีสาขาระยะไกลชื่อ 'an-other-branch' ฉันตั้งค่าในเครื่องเป็นสาขาติดตามโดยใช้ git branch --track an-other-branch origin/an-other-branch จนถึงตอนนี้ดีมาก แต่ถ้าสาขานั้นได้รับการอัปเดต (โดยปกติฉันจะย้ายเครื่องและรับจากเครื่องนั้น) และฉันต้องการอัปเดตบนเครื่องเดิมฉันกำลังประสบปัญหาในการดึง / ผสาน: git fetch origin an-other-branch git merge origin/an-other-branch เมื่อใดก็ตามที่ฉันทำเช่นนี้ฉันจะได้รับข้อความ "เป็นข้อมูลล่าสุดแล้ว" และไม่มีการผสาน อย่างไรก็ตามก git pull origin an-other-branch อัปเดตเสมออย่างที่คุณคาดหวัง นอกจากนี้การเรียกใช้ git diff git diff origin/an-other-branch แสดงให้เห็นว่ามีความแตกต่างดังนั้นฉันคิดว่าฉันมีไวยากรณ์ผิด ผมทำอะไรผิดหรือเปล่า? แก้ไข [2010-04-09]:ฉันตรวจสอบสองสามครั้งแล้วและฉันไม่ได้อยู่สาขาอื่นแน่นอน 'git fetch' ของฉันควรตามด้วย 'git merge' (ตามที่แสดงด้านบน) …

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