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

แสดงการเปลี่ยนแปลงระหว่างแผนผังการทำงานและเนื้อหาที่คอมมิตของที่เก็บ git หรือระหว่างสองคอมมิตหรือกิ่งก้านของที่เก็บ

13
ฉันจะแสดงการเปลี่ยนแปลงที่จัดเตรียมไว้ได้อย่างไร
ฉันแสดงการเปลี่ยนแปลงเล็กน้อยเพื่อมุ่งมั่น; ฉันจะดูความแตกต่างของไฟล์ทั้งหมดที่จัดเตรียมไว้สำหรับการส่งครั้งต่อไปได้อย่างไร? ฉันรู้สถานะ gitแต่ฉันต้องการเห็นความแตกต่างที่เกิดขึ้นจริง - ไม่ใช่แค่ชื่อของไฟล์ที่ถูกจัดฉาก ฉันเห็นว่าหน้าคนgit-diff (1)พูดว่า git diff [--options] [-] […] แบบฟอร์มนี้คือการดูการเปลี่ยนแปลงที่คุณทำกับดัชนี (พื้นที่การจัดเตรียมสำหรับการส่งครั้งต่อไป) กล่าวอีกนัยหนึ่งความแตกต่างคือสิ่งที่คุณสามารถบอกคอมไพล์เพื่อเพิ่มในดัชนี แต่คุณยังไม่ได้ คุณสามารถจัดลำดับการเปลี่ยนแปลงเหล่านี้ได้โดยใช้ git-add (1) น่าเสียดายที่ฉันไม่เข้าใจเรื่องนี้ ต้องมีสายการบินเดียวที่มีประโยชน์ซึ่งฉันสามารถสร้างชื่อแทนได้ใช่ไหม
2138 git  diff  dvcs  git-diff  git-stage 

18
แสดงไฟล์ที่มีการเปลี่ยนแปลงระหว่างการแก้ไขสองครั้ง
ฉันต้องการรวมสองสาขาที่ได้รับการแยกเป็นระยะเวลาหนึ่งและต้องการที่จะรู้ว่าไฟล์ใดได้รับการแก้ไข มาที่ลิงค์นี้: http://linux.yyz.us/git-howto.htmlซึ่งมีประโยชน์มาก เครื่องมือในการเปรียบเทียบสาขาที่ฉันเจอคือ: git diff master..branch git log master..branch git shortlog master..branch สงสัยว่ามีบางอย่าง "git status master .. สาขา" หรือไม่เพื่อดูไฟล์ที่แตกต่างระหว่างสองสาขาเท่านั้น โดยไม่ต้องสร้างเครื่องมือใหม่ฉันคิดว่านี่เป็นสิ่งที่ใกล้เคียงที่สุดที่คุณสามารถทำได้ในตอนนี้ (ซึ่งแน่นอนว่าจะแสดงซ้ำหากไฟล์ถูกแก้ไขมากกว่าหนึ่งครั้ง): git diff master..branch | grep "^diff" สงสัยว่ามีบางอย่างที่ฉันพลาดไปหรือไม่ ...
2105 git  branch  git-branch  git-diff 

13
จะแสดงรายการเฉพาะชื่อไฟล์ที่เปลี่ยนระหว่างสองคอมมิทได้อย่างไร?
ฉันมีความมุ่งมั่นใน repo ฉันต้องการดูรายการไฟล์ที่เปลี่ยนระหว่างการคอมมิทสองครั้ง - จาก SHA1 เป็น SHA2 ฉันควรใช้คำสั่งอะไร
1952 git  git-diff  git-show 

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

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

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

10
ฉันจะแตกไฟล์เดียวกันระหว่างสองคอมมิตที่ต่างกันในสาขาเดียวกันได้อย่างไร?
ใน Git ฉันจะเปรียบเทียบไฟล์เดียวกันระหว่างสองคอมมิทที่ต่างกัน (ไม่ต่อเนื่องกัน) ในสาขาเดียวกันได้อย่างไร (ตัวอย่างเช่นมาสเตอร์) ฉันกำลังค้นหาคุณสมบัติการเปรียบเทียบเช่นเดียวกับในVisual SourceSafe (VSS) หรือTeam Foundation Server (TFS) เป็นไปได้ใน Git?
1143 git  git-diff 

1
คุณจะใช้ไฟล์ git diff และนำไปใช้กับสาขาโลคัลที่เป็นสำเนาของที่เก็บเดียวกันได้อย่างไร?
ฉันมีไฟล์. diff ที่สร้างขึ้นโดยผู้ร่วมงานและต้องการใช้การเปลี่ยนแปลงที่ระบุไว้ในไฟล์ diff กับสาขาท้องถิ่นของฉันของที่เก็บเดียวกัน ฉันไม่สามารถเข้าถึงพีซีหรือสาขาของคนงานที่ใช้สร้างไฟล์ต่างนี้ เห็นได้ชัดว่าฉันสามารถไปทีละบรรทัดและพิมพ์ใหม่ทุกอย่าง แต่ฉันไม่อยากให้ระบบผิดพลาดจากมนุษย์ วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร?
491 git  diff  git-diff 

10
git-diff เพื่อละเว้น ^ M
ในโครงการที่ไฟล์บางไฟล์มี ^ M เป็นตัวคั่นบรรทัดใหม่ เห็นได้ชัดว่าการกระจายไฟล์เหล่านี้เป็นไปไม่ได้เนื่องจาก git-diff เห็นว่าไฟล์ทั้งหมดเป็นเพียงบรรทัดเดียว หนึ่งแตกต่างจากรุ่นก่อนหน้าอย่างไร มีตัวเลือกเช่น "ถือ ^ M เป็นบรรทัดใหม่เมื่อแตกต่าง" หรือไม่? prompt> git-diff "HEAD^" -- MyFile.as diff --git a/myproject/MyFile.as b/myproject/MyFile.as index be78321..a393ba3 100644 --- a/myproject/MyFile.cpp +++ b/myproject/MyFile.cpp @@ -1 +1 @@ -<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate \ No newline at end of file +<U+FEFF>import flash.events.MouseEvent;^Mimport mx.controls.*;^Mimport mx.utils.Delegate \ …
474 git  diff  newline  git-diff 

8
จะแตกต่างคอมมิชชันกับพาเรนต์ได้อย่างไร?
นอกเหนือจากการเขียนนามแฝงหรือสคริปต์แล้วยังมีคำสั่งที่สั้นกว่าสำหรับการรับส่วนต่างสำหรับการคอมมิชชันเฉพาะหรือไม่? git diff 15dc8^..15dc8 หากคุณให้ ID การคอมมิทเพียงครั้งเดียวgit diff 15dc8มันจะแตกต่างที่กระทำกับ HEAD
460 git  git-diff 

9
วิธีดูไฟล์ต่าง ๆ ในคอมไพล์ก่อนคอมมิท
สิ่งนี้มักจะเกิดขึ้นกับฉัน: ฉันกำลังทำงานเกี่ยวกับการเปลี่ยนแปลงที่เกี่ยวข้องสองสามอย่างในเวลาเดียวหรือสองวันและเมื่อถึงเวลาที่จะต้องลงมือฉันก็ลืมสิ่งที่เปลี่ยนแปลงไปในไฟล์เฉพาะ (นี่เป็นเพียง repo คอมไพล์ส่วนตัวดังนั้นฉันโอเคที่มีมากกว่าหนึ่งการปรับปรุงในการกระทำ) มีวิธีใดที่จะแสดงตัวอย่างการเปลี่ยนแปลงระหว่างไฟล์ในเครื่องของฉันซึ่งกำลังจะถูกเช็คอินและการส่งมอบครั้งล่าสุดสำหรับไฟล์นั้น สิ่งที่ต้องการ: git diff --changed /myfile.txt และมันจะพิมพ์ออกมาเช่น: line 23 (last commit): var = 2+2 (current): var = myfunction() + 2 line 149 (last commit): return var (current): return var / 7 ด้วยวิธีนี้ฉันสามารถเห็นสิ่งที่ฉันทำในไฟล์นั้นได้อย่างรวดเร็วตั้งแต่มีการเช็คอินครั้งล่าสุด
443 git  git-diff 

2
อะไรคือความแตกต่างระหว่าง double-dot“ .. ” และ triple-dot“ …” ใน Git ที่มีช่วง?
บางคำสั่ง Git ใช้กระทำช่วงหนึ่งและไวยากรณ์ที่ถูกต้องคือการแยกสองกระทำชื่อที่มีจุดสองจุดและไวยากรณ์อื่นใช้จุดสามจุด..... ความแตกต่างระหว่างสองคืออะไร
412 git  git-diff  git-log 

10
ฉันสามารถสร้าง 'git diff' เฉพาะหมายเลขบรรทัดและเปลี่ยนชื่อไฟล์ได้หรือไม่
คำถามนี้เรียกร้องให้ "หมายเลขบรรทัด" ถ้าคุณไม่สนใจเกี่ยวกับหมายเลขบรรทัดในผลลัพธ์ดูคำถามและคำตอบนี้ โดยพื้นฐานแล้วฉันไม่ต้องการเห็นเนื้อหาที่มีการเปลี่ยนแปลงเพียงแค่ชื่อไฟล์และหมายเลขบรรทัด
276 git  git-diff 


3
ไฟล์ git diff กับการเปลี่ยนแปลงครั้งสุดท้าย
เป็นไปได้หรือไม่ที่จะให้คอมไพล์สร้างความแตกต่างระหว่างไฟล์เฉพาะที่มีอยู่ในขณะนี้และเป็นไปได้ก่อนที่คอมมิทล่าสุดจะทำการเปลี่ยนแปลงหรือไม่? นั่นคือถ้าเรารู้ว่า: $ git log --oneline myfile 123abc Fix some stuff 456def Frobble the foos 789dba Initial commit จากนั้นgit diff 456def myfileแสดงการเปลี่ยนแปลงล่าสุดเป็น myfile เป็นไปได้ที่จะทำเช่นเดียวกันโดยปราศจากความรู้ที่ผลิตโดยgit log; สิ่งที่เปลี่ยนแปลงไปใน 123abc?
236 git  git-diff 

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