← āļāļĨāļąāļšāđ„āļ›āļ„āļđāđˆāļĄāļ·āļ­

āļ§āļīāļ˜āļĩāļ­āđˆāļēāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒ Diff: āļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāđ„āļŸāļĨāđŒ Patch āđāļĨāļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡

· āđāļ—āđ‡āļ: diff-output, unified-diff, patch-file, diff-format, git-diff

āļ§āļīāļ˜āļĩāļ­āđˆāļēāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒ Diff: āļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāđ„āļŸāļĨāđŒ Patch āđāļĨāļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡

āļœāļĨāļĨāļąāļžāļ˜āđŒ diff āđ€āļ›āđ‡āļ™āļ āļēāļĐāļēāļŠāļēāļāļĨāļ‚āļ­āļ‡āļĢāļ°āļšāļšāļ„āļ§āļšāļ„āļļāļĄāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ āļ™āļąāļāļžāļąāļ’āļ™āļēāļ—āļļāļāļ„āļ™āļžāļšāļœāļĨāļĨāļąāļžāļ˜āđŒ diff āđ€āļ›āđ‡āļ™āļ›āļĢāļ°āļˆāļģ — āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ‚āļ„āđ‰āļ” āđ€āļĄāļ·āđˆāļ­āđāļāđ‰āđ„āļ‚ merge conflicts āļŦāļĢāļ·āļ­āđ€āļĄāļ·āđˆāļ­āđƒāļŠāđ‰ patch āļˆāļēāļāļāļēāļĢāļĄāļĩāļŠāđˆāļ§āļ™āļĢāđˆāļ§āļĄāļ‚āļ­āļ‡āđ‚āļ­āđ€āļžāļ™āļ‹āļ­āļĢāđŒāļŠ āđāļ•āđˆāļ™āļąāļāļžāļąāļ’āļ™āļēāļŦāļĨāļēāļĒāļ„āļ™āđ„āļĄāđˆāđ€āļ„āļĒāđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļ—āļĩāđˆāļˆāļ°āļ­āđˆāļēāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒ diff āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž

āļ„āļđāđˆāļĄāļ·āļ­āļ™āļĩāđ‰āļ­āļ˜āļīāļšāļēāļĒāļ§āļīāļ˜āļĩāļāļēāļĢāļ­āđˆāļēāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒ diff āđƒāļ™āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒāļ—āļĩāđˆāļŠāļļāļ” āļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļģāļ‡āļēāļ™āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ patch āđāļĨāļ°āļ§āļīāļ˜āļĩāļāļēāļĢāļ•āļĩāļ„āļ§āļēāļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆ

āļœāļĨāļĨāļąāļžāļ˜āđŒ Diff āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļœāļĨāļĨāļąāļžāļ˜āđŒ diff āļ„āļ·āļ­āļāļēāļĢāđāļŠāļ”āļ‡āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāļ­āļ‡āđ„āļŸāļĨāđŒāļŦāļĢāļ·āļ­āļŠāļļāļ”āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒāļ­āļĒāđˆāļēāļ‡āļĄāļĩāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡ āļĒāļđāļ—āļīāļĨāļīāļ•āļĩ diff āļ—āļĩāđˆāļŠāļĢāđ‰āļēāļ‡āđ‚āļ”āļĒ Douglas McIlroy āļ—āļĩāđˆ Bell Labs āđƒāļ™āļ—āļĻāļ§āļĢāļĢāļĐ 1970 āļĒāļąāļ‡āļ„āļ‡āđ€āļ›āđ‡āļ™āļĢāļēāļāļāļēāļ™āļ‚āļ­āļ‡ Git, Mercurial āđāļĨāļ°āļĢāļ°āļšāļšāļ„āļ§āļšāļ„āļļāļĄāđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ­āļ·āđˆāļ™āđ† āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ

āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļĢāļąāļ™ git diff āļŦāļĢāļ·āļ­āļ„āļģāļŠāļąāđˆāļ‡ diff āđƒāļ”āđ† āļœāļĨāļĨāļąāļžāļ˜āđŒāļˆāļ°āđāļŠāļ”āļ‡āļ­āļĒāđˆāļēāļ‡āđāļĄāđˆāļ™āļĒāļģāļ§āđˆāļēāļ­āļ°āđ„āļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđ„āļ› āļ—āļĩāđˆāđ„āļŦāļ™āļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™ āđāļĨāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ­āļĒāđˆāļēāļ‡āđ„āļĢ â€” āđƒāļ™āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāļ—āļąāđ‰āļ‡āļĄāļ™āļļāļĐāļĒāđŒāđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļˆāļąāļāļĢāļŠāļēāļĄāļēāļĢāļ–āļ­āđˆāļēāļ™āđ„āļ”āđ‰

āļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāļĢāļđāļ›āđāļšāļš Unified Diff

āļĢāļđāļ›āđāļšāļš unified diff āđ€āļ›āđ‡āļ™āļĢāļđāļ›āđāļšāļšāļœāļĨāļĨāļąāļžāļ˜āđŒāļ—āļĩāđˆāđƒāļŠāđ‰āļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđāļžāļĢāđˆāļŦāļĨāļēāļĒāļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļĄāļąāļ™āļˆāļąāļ”āļāļĨāļļāđˆāļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ€āļ›āđ‡āļ™ hunks āđāļ•āđˆāļĨāļ°āļŠāđˆāļ§āļ™āļ™āļģāļŦāļ™āđ‰āļēāļ”āđ‰āļ§āļĒāļšāļĢāļĢāļ—āļąāļ”āļšāļĢāļīāļšāļ—āļ—āļĩāđˆāļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļĢāļ°āļšāļļāļ•āļģāđāļŦāļ™āđˆāļ‡āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ āļēāļĒāđƒāļ™āđ„āļŸāļĨāđŒ

āļāļēāļĒāļ§āļīāļ āļēāļ„āļ‚āļ­āļ‡āļŠāđˆāļ§āļ™āļŦāļąāļ§ Hunk

āļ—āļļāļ hunk āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļŠāđˆāļ§āļ™āļŦāļąāļ§āļ—āļĩāđˆāļĄāļĩāļĨāļąāļāļĐāļ“āļ°āļ”āļąāļ‡āļ™āļĩāđ‰:

@@ -start,count +start,count @@

āļĄāļēāđāļĒāļāļŠāđˆāļ§āļ™āļ™āļĩāđ‰:

| āļŠāđˆāļ§āļ™ | āļ„āļ§āļēāļĄāļŦāļĄāļēāļĒ | |------|---------| | @@ | āļ•āļąāļ§āļ„āļąāđˆāļ™āļ—āļĩāđˆāļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļˆāļļāļ”āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡ hunk | | -3,7 | āđƒāļ™āđ„āļŸāļĨāđŒāļ•āđ‰āļ™āļ‰āļšāļąāļš hunk āļ™āļĩāđ‰āđ€āļĢāļīāđˆāļĄāļ—āļĩāđˆāļšāļĢāļĢāļ—āļąāļ” 3 āđāļĨāļ°āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ 7 āļšāļĢāļĢāļ—āļąāļ” | | +3,8 | āđƒāļ™āđ„āļŸāļĨāđŒāđƒāļŦāļĄāđˆ hunk āļ™āļĩāđ‰āđ€āļĢāļīāđˆāļĄāļ—āļĩāđˆāļšāļĢāļĢāļ—āļąāļ” 3 āđāļĨāļ°āļ„āļĢāļ­āļšāļ„āļĨāļļāļĄ 8 āļšāļĢāļĢāļ—āļąāļ” | | @@ | āļ•āļąāļ§āļ„āļąāđˆāļ™āļ›āļīāļ” |

āļšāļĢāļĢāļ—āļąāļ”āļšāļĢāļīāļšāļ—āļ—āļĩāđˆāļ­āļĒāļđāđˆāļ–āļąāļ”āļˆāļēāļāļŠāđˆāļ§āļ™āļŦāļąāļ§āļ—āļąāļ™āļ—āļĩ (āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļ„āļ·āļ­āļŠāļ·āđˆāļ­āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŦāļĢāļ·āļ­āļ„āļ­āļĄāđ€āļĄāļ™āļ•āđŒāđƒāļāļĨāđ‰āđ€āļ„āļĩāļĒāļ‡) āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļĢāļ°āļšāļļāļ§āđˆāļēāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ­āļĒāļđāđˆāđƒāļ™āļŠāđˆāļ§āļ™āđƒāļ”āļ‚āļ­āļ‡āđ„āļŸāļĨāđŒ

āļšāļĢāļĢāļ—āļąāļ”āđƒāļ™ Hunk

āđāļ•āđˆāļĨāļ°āļšāļĢāļĢāļ—āļąāļ”āļ āļēāļĒāđƒāļ™ hunk āļ™āļģāļŦāļ™āđ‰āļēāļ”āđ‰āļ§āļĒāļ­āļąāļāļ‚āļĢāļ°āđ€āļ”āļĩāđˆāļĒāļ§:

 āļšāļĢāļĢāļ—āļąāļ”āļšāļĢāļīāļšāļ— (āđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡)
-āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļ–āļđāļāļĨāļš    (āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āđ„āļŸāļĨāđŒāđ€āļāđˆāļē āđ„āļĄāđˆāļ­āļĒāļđāđˆāđƒāļ™āđ„āļŸāļĨāđŒāđƒāļŦāļĄāđˆ)
+āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄ    (āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āđ„āļŸāļĨāđŒāđƒāļŦāļĄāđˆ āđ„āļĄāđˆāļ­āļĒāļđāđˆāđƒāļ™āđ„āļŸāļĨāđŒāđ€āļāđˆāļē)
  • āļšāļĢāļĢāļ—āļąāļ”āļšāļĢāļīāļšāļ— āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡ āđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™āđƒāļ™āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđāļĨāļ°āđƒāļŦāđ‰āļˆāļļāļ”āļ­āđ‰āļēāļ‡āļ­āļīāļ‡
  • āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļ–āļđāļāļĨāļš āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļĨāļš (-) āļĄāļĩāļ­āļĒāļđāđˆāđƒāļ™āđ„āļŸāļĨāđŒāđ€āļāđˆāļēāđāļ•āđˆāļ–āļđāļāļĨāļšāļ­āļ­āļ
  • āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄ āļ‚āļķāđ‰āļ™āļ•āđ‰āļ™āļ”āđ‰āļ§āļĒāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļšāļ§āļ (+) āđ€āļ›āđ‡āļ™āļ‚āļ­āļ‡āđƒāļŦāļĄāđˆāđƒāļ™āđ„āļŸāļĨāđŒāļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡

āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āđ€āļŠāļīāļ‡āļ›āļāļīāļšāļąāļ•āļī

āļ™āļĩāđˆāļ„āļ·āļ­ diff āļ—āļĩāđˆāđāļŠāļ”āļ‡āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļ—āļĩāđˆāļ–āļđāļāđāļāđ‰āđ„āļ‚:

@@ -5,7 +5,9 @@
 def greet(name):
-    print("Hello, " + name)
-    print("Welcome!")
+    message = f"Hello, {name}!"
+    print(message)
+    print("We are glad to see you.")
+
     if name == "admin":
         print("You have admin privileges.")

āļāļēāļĢāļ­āđˆāļēāļ™ diff āļ™āļĩāđ‰:

  • āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđ€āļāđˆāļēāļžāļīāļĄāļžāđŒ "Hello, " āļšāļ§āļāļāļąāļšāļŠāļ·āđˆāļ­ āđāļĨāđ‰āļ§āļ•āļēāļĄāļ”āđ‰āļ§āļĒ "Welcome!"
  • āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđƒāļŦāļĄāđˆāļŠāļĢāđ‰āļēāļ‡āļŠāļ•āļĢāļīāļ‡āļ‚āđ‰āļ­āļ„āļ§āļēāļĄāļ—āļĩāđˆāļˆāļąāļ”āļĢāļđāļ›āđāļšāļš āļžāļīāļĄāļžāđŒāļĄāļąāļ™ āđ€āļžāļīāđˆāļĄāļšāļĢāļĢāļ—āļąāļ”āļ—āļąāļāļ—āļēāļĒāļžāļīāđ€āļĻāļĐ āđāļĨāļ°āļ„āļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļš admin āđ„āļ§āđ‰āđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡
  • āļŠāļ­āļ‡āļšāļĢāļĢāļ—āļąāļ”āļ–āļđāļāļĨāļš (āļšāļĢāļĢāļ—āļąāļ” -) āļŠāļēāļĄāļšāļĢāļĢāļ—āļąāļ”āļ–āļđāļāđ€āļžāļīāđˆāļĄ (āļšāļĢāļĢāļ—āļąāļ” +) āđāļĨāļ°āļšāļĢāļĢāļ—āļąāļ” + āļ§āđˆāļēāļ‡āļĢāļąāļāļĐāļēāļšāļĢāļĢāļ—āļąāļ”āļ§āđˆāļēāļ‡āđ„āļ§āđ‰āđ€āļžāļ·āđˆāļ­āļ„āļ§āļēāļĄāļŠāļēāļĄāļēāļĢāļ–āđƒāļ™āļāļēāļĢāļ­āđˆāļēāļ™

āđ„āļŸāļĨāđŒ Patch: Diff āļ—āļĩāđˆāļ„āļļāļ“āļŠāļēāļĄāļēāļĢāļ–āļ™āļģāđ„āļ›āđƒāļŠāđ‰āđ„āļ”āđ‰

āđ„āļŸāļĨāđŒ patch āđ€āļ›āđ‡āļ™āđ€āļžāļĩāļĒāļ‡ diff āļ—āļĩāđˆāļšāļąāļ™āļ—āļķāļāļĨāļ‡āđƒāļ™āđ„āļŸāļĨāđŒ — āđ‚āļ”āļĒāļ—āļąāđˆāļ§āđ„āļ›āļĄāļĩāļ™āļēāļĄāļŠāļāļļāļĨ .patch āļŦāļĢāļ·āļ­ .diff āđ„āļŸāļĨāđŒ patch āļ—āļģāļŦāļ™āđ‰āļēāļ—āļĩāđˆāđ€āļ›āđ‡āļ™āļ§āļīāļ˜āļĩāļžāļāļžāļēāđƒāļ™āļāļēāļĢāđāļšāđˆāļ‡āļ›āļąāļ™āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āđāļšāđˆāļ‡āļ›āļąāļ™āđ‚āļ„āđ‰āļ”āđ€āļšāļŠāļ—āļąāđ‰āļ‡āļŦāļĄāļ”

āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ Patch

āđƒāļŠāđ‰ Git āļŠāļĢāđ‰āļēāļ‡ patch āļˆāļēāļāļ„āļ­āļĄāļĄāļīāļ•āļĨāđˆāļēāļŠāļļāļ”āļ‚āļ­āļ‡āļ„āļļāļ“:

git format-patch HEAD~1

āļŦāļĢāļ·āļ­āļŠāļĢāđ‰āļēāļ‡ patch āļˆāļēāļāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ—āļĩāđˆāļĒāļąāļ‡āđ„āļĄāđˆāđ„āļ”āđ‰āļ„āļ­āļĄāļĄāļīāļ•:

git diff > my-changes.patch

āļāļēāļĢāđƒāļŠāđ‰ Patch

āđƒāļŠāđ‰ patch āļāļąāļšāļ—āļĩāđˆāđ€āļāđ‡āļšāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒ:

git apply my-changes.patch

āļŦāļĢāļ·āļ­āđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡ patch āđāļšāļšāļ„āļĨāļēāļŠāļŠāļīāļ:

patch -p1 < my-changes.patch

āđāļŸāļĨāđ‡āļ -p1 āļ•āļąāļ”āļŠāđˆāļ§āļ™āļ›āļĢāļ°āļāļ­āļšāđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāđāļĢāļāļ­āļ­āļāļˆāļēāļāļžāļēāļ˜āđ„āļŸāļĨāđŒ āļ‹āļķāđˆāļ‡āļĢāļ­āļ‡āļĢāļąāļšāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āđƒāļ™āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āđ„āļ”āđ€āļĢāļāļ—āļ­āļĢāļĩāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļœāļđāđ‰āļŠāļĢāđ‰āļēāļ‡ patch āđāļĨāļ°āļœāļđāđ‰āļ™āļģāđ„āļ›āđƒāļŠāđ‰

āļĢāļđāļ›āđāļšāļšāļœāļĨāļĨāļąāļžāļ˜āđŒ Diff āļ—āļąāđˆāļ§āđ„āļ›

āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļ unified diff āļ„āļļāļ“āļ­āļēāļˆāļžāļšāļĢāļđāļ›āđāļšāļšāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰:

Normal Diff

āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‚āļ­āļ‡āļ„āļģāļŠāļąāđˆāļ‡ diff āļ”āļąāđ‰āļ‡āđ€āļ”āļīāļĄ āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđāļŠāļ”āļ‡āđ€āļ›āđ‡āļ™āļ„āļģāļŠāļąāđˆāļ‡āđƒāļŦāđ‰āđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ āđ€āļžāļīāđˆāļĄ āļŦāļĢāļ·āļ­āļĨāļšāļšāļĢāļĢāļ—āļąāļ”āđ‚āļ”āļĒāđƒāļŠāđ‰āļ„āļģāļŠāļąāđˆāļ‡āđ€āļŠāđˆāļ™ a (append), c (change) āđāļĨāļ° d (delete)

3c3
< Hello world
---
> Hello beautiful world

Context Diff

āļĢāļđāļ›āđāļšāļšāļ—āļĩāđˆāđ€āļāđˆāļēāļāļ§āđˆāļēāļ—āļĩāđˆāđƒāļŦāđ‰āļšāļĢāļīāļšāļ—āļŠāļēāļĄāļšāļĢāļĢāļ—āļąāļ”āļĢāļ­āļšāļ—āļļāļāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ āļĄāļąāļ™āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ­āļąāļĻāđ€āļˆāļĢāļĩāļĒāđŒāđ€āļžāļ·āđˆāļ­āļĢāļ°āļšāļļāļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡

Side-by-Side Diff

āđ„āļĄāđˆāđƒāļŠāđˆāļĢāļđāļ›āđāļšāļšāđ„āļŸāļĨāđŒāđ€āļ”āļĩāđˆāļĒāļ§ â€” āđāļ•āđˆāđāļŠāļ”āļ‡āļŠāļ­āļ‡āļ„āļ­āļĨāļąāļĄāļ™āđŒāđ€āļ„āļĩāļĒāļ‡āļ‚āđ‰āļēāļ‡āļāļąāļ™āđāļ—āļ™ āļžāļšāļšāđˆāļ­āļĒāđƒāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ diff āđāļšāļšāļāļĢāļēāļŸāļīāļāđāļĨāļ° diff checker āļ­āļ­āļ™āđ„āļĨāļ™āđŒ

āļāļēāļĢāļ­āđˆāļēāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒ Diff āđƒāļ™āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ‚āļ„āđ‰āļ”

āđ€āļĄāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš pull request āđƒāļŦāđ‰āđ‚āļŸāļāļąāļŠāļ—āļĩāđˆāļ­āļ‡āļ„āđŒāļ›āļĢāļ°āļāļ­āļšāđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰:

  1. āļŠāđˆāļ§āļ™āļŦāļąāļ§ hunk: āļĄāļąāļ™āļšāļ­āļāļ„āļļāļ“āļ§āđˆāļēāđ„āļŸāļĨāđŒāđāļĨāļ°āļŸāļąāļ‡āļāđŒāļŠāļąāļ™āđƒāļ”āđ„āļ”āđ‰āļĢāļąāļšāļœāļĨāļāļĢāļ°āļ—āļš
  2. āļ­āļąāļ•āļĢāļēāļŠāđˆāļ§āļ™āļ‚āļ­āļ‡āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāđ€āļžāļīāđˆāļĄāļ•āđˆāļ­āļšāļĢāļĢāļ—āļąāļ”āļ—āļĩāđˆāļĨāļš: āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļˆāļģāļ™āļ§āļ™āļĄāļēāļāđƒāļ™āđ„āļŸāļĨāđŒāļŠāļģāļ„āļąāļāļŠāļĄāļ„āļ§āļĢāđ„āļ”āđ‰āļĢāļąāļšāļāļēāļĢāđƒāļŠāđˆāđƒāļˆāļĄāļēāļāļ‚āļķāđ‰āļ™
  3. āļšāļĢāļĢāļ—āļąāļ”āļšāļĢāļīāļšāļ—: āļĄāļąāļ™āđāļŠāļ”āļ‡āļ•āļĢāļĢāļāļ°āđ‚āļ”āļĒāļĢāļ­āļš āļŠāđˆāļ§āļĒāđƒāļŦāđ‰āļ„āļļāļ“āļ›āļĢāļ°āđ€āļĄāļīāļ™āļ§āđˆāļēāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ–āļđāļāļ•āđ‰āļ­āļ‡āļŦāļĢāļ·āļ­āđ„āļĄāđˆ
  4. āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđ€āļ‰āļžāļēāļ°āļŠāđˆāļ­āļ‡āļ§āđˆāļēāļ‡: āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­ diff āļŦāļĨāļēāļĒāļ•āļąāļ§āđ€āļ™āđ‰āļ™āļŠāļīāđˆāļ‡āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ āđ€āļžāļĢāļēāļ°āļĄāļąāļ™āļ­āļēāļˆāļ—āļģāđƒāļŦāđ‰āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāļĢāļāđ„āļ”āđ‰

āđāļ™āļ§āļ—āļēāļ‡āļ›āļāļīāļšāļąāļ•āļīāļ—āļĩāđˆāļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļ•āļĩāļ„āļ§āļēāļĄ Diff

  • āļ­āđˆāļēāļ™ diff āļˆāļēāļāļšāļ™āļĨāļ‡āļĨāđˆāļēāļ‡ āļ—āļĩāļĨāļ°āđ„āļŸāļĨāđŒ — āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļ•āļĢāļ‡āļāļąāļšāļĨāļģāļ”āļąāļšāļ—āļĩāđˆāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ–āļđāļāļ—āļģ
  • āđƒāļŦāđ‰āļ„āļ§āļēāļĄāļŠāļ™āđƒāļˆāļāļąāļšāļšāļĢāļĢāļ—āļąāļ”āļšāļĢāļīāļšāļ—āļ—āļĩāđˆāđ„āļĄāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āđƒāļāļĨāđ‰āļāļąāļšāđ‚āļ„āđ‰āļ”āļ—āļĩāđˆāđāļāđ‰āđ„āļ‚ āļĄāļąāļ™āđ€āļ›āļīāļ”āđ€āļœāļĒāļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāđ€āļŠāļīāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļĢāļ°āļŦāļ§āđˆāļēāļ‡āđ‚āļ„āđ‰āļ”āđ€āļāđˆāļēāđāļĨāļ°āđƒāļŦāļĄāđˆ
  • āđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāļĢāļ­āļ‡āļĢāļąāļšāļāļēāļĢāđ€āļ™āđ‰āļ™āđ„āļ§āļĒāļēāļāļĢāļ“āđŒāđƒāļ™āļĄāļļāļĄāļĄāļ­āļ‡ diff — āļŠāļĩāļ—āļģāđƒāļŦāđ‰āļĢāļđāļ›āđāļšāļšāļŠāļąāļ‡āđ€āļāļ•āđ„āļ”āđ‰āļ‡āđˆāļēāļĒāļ‚āļķāđ‰āļ™
  • āđ€āļĄāļ·āđˆāļ­āļ•āļĢāļ§āļˆāļŠāļ­āļš diff āļ‚āļ™āļēāļ”āđƒāļŦāļāđˆ āđ€āļĢāļīāđˆāļĄāļ”āđ‰āļ§āļĒāđ„āļŸāļĨāđŒāļ—āļ”āļŠāļ­āļšāđ€āļžāļ·āđˆāļ­āđ€āļ‚āđ‰āļēāđƒāļˆāļ§āđˆāļēāļœāļđāđ‰āđ€āļ‚āļĩāļĒāļ™āļ•āļąāđ‰āļ‡āđƒāļˆāļˆāļ°āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļžāļĪāļ•āļīāļāļĢāļĢāļĄāļ­āļ°āđ„āļĢ

āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāļœāļĨāļĨāļąāļžāļ˜āđŒ diff āđ€āļ›āđ‡āļ™āļ—āļąāļāļĐāļ°āļžāļ·āđ‰āļ™āļāļēāļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļžāļąāļ’āļ™āļēāļĢāđˆāļ§āļĄāļāļąāļ™ āđ€āļĄāļ·āđˆāļ­āļ„āļļāļ“āļ„āļļāđ‰āļ™āđ€āļ„āļĒāļāļąāļšāļāļēāļĢāļ­āđˆāļēāļ™ diff āļ„āļļāļ“āļˆāļ°āļ™āļģāļ—āļēāļ‡āļāļēāļĢāļ•āļĢāļ§āļˆāļŠāļ­āļšāđ‚āļ„āđ‰āļ” merge conflicts āđāļĨāļ°āđ„āļŸāļĨāđŒ patch āļ”āđ‰āļ§āļĒāļ„āļ§āļēāļĄāļĄāļąāđˆāļ™āđƒāļˆāļ—āļĩāđˆāļĄāļēāļāļ‚āļķāđ‰āļ™

āļ§āļīāļ˜āļĩāļ­āđˆāļēāļ™āļœāļĨāļĨāļąāļžāļ˜āđŒ Diff: āļ—āļģāļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāđ„āļŸāļĨāđŒ Patch āđāļĨāļ°āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡ - CoolTool