1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775
|
# Git Magic - A guide to using Git
# This file is distributed under the GNU GENERAL PUBLIC LICENSE Version 3.
# Benn Lynn <benlynn@gmail.com>, 2007.
# Armin Stebich <armin@lordofbikes.de>, 2010, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: Git Magic deutsch\n"
"Report-Msgid-Bugs-To: bennlynn@gmail.com\n"
"POT-Creation-Date: 2010-10-30 08:21+0300\n"
"PO-Revision-Date: 2011-07-07 19:00+0200\n"
"Last-Translator: Armin Stebich <armin@lordofbikes.de>\n"
"Language-Team: DE <gitmagic@lordofbikes.de>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: UTF-8\n"
"Plural-Forms: \n"
#. type: Plain text
#: ../en/grandmaster.txt:2
msgid "== Git Grandmastery =="
msgstr "== Git für Fortgeschrittene =="
#. type: Plain text
#: ../en/grandmaster.txt:7
msgid ""
"By now, you should be able to navigate the *git help* pages and understand "
"almost everything. However, pinpointing the exact command required to solve "
"a given problem can be tedious. Perhaps I can save you some time: below are "
"some recipes I have needed in the past."
msgstr ""
"Mittlerweile solltest Du Dich in den *git help* Seiten zurechtfinden und das "
"meiste verstanden haben. Trotzdem kann es langwierig sein, den exakten "
"Befehl zur Lösung einer bestimmten Aufgabe herauszufinden. Vielleicht kann "
"ich Dir etwas Zeit sparen: Nachfolgend findest Du ein paar Rezepte, die ich "
"in der Vergangenheit gebraucht habe."
#. type: Plain text
#: ../en/grandmaster.txt:9
msgid "=== Source Releases ==="
msgstr "=== Quellcode veröffentlichen ==="
#. type: Plain text
#: ../en/grandmaster.txt:12
msgid ""
"For my projects, Git tracks exactly the files I'd like to archive and "
"release to users. To create a tarball of the source code, I run:"
msgstr ""
"Bei meinen Projekten verwaltet Git genau die Dateien, die ich archivieren "
"und für andere Benutzer veröffentlichen will. Um ein tarball-Archiv des "
"Quellcodes zu erzeugen, verwende ich den Befehl:"
#. type: Plain text
#: ../en/grandmaster.txt:14
#, no-wrap
msgid " $ git archive --format=tar --prefix=proj-1.2.3/ HEAD\n"
msgstr " $ git archive --format=tar --prefix=proj-1.2.3/ HEAD\n"
#. type: Plain text
#: ../en/grandmaster.txt:16
msgid "=== Commit What Changed ==="
msgstr "=== 'Commite' Änderungen ==="
#. type: Plain text
#: ../en/grandmaster.txt:19
msgid ""
"Telling Git when you've added, deleted and renamed files is troublesome for "
"certain projects. Instead, you can type:"
msgstr ""
"Git mitzuteilen, welche Dateien man hinzugefügt, gelöscht und umbenannt hat, "
"ist für manche Projekte sehr mühsam. Stattdessen kann man folgendes eingeben:"
#. type: Plain text
#: ../en/grandmaster.txt:22
#, no-wrap
msgid ""
" $ git add .\n"
" $ git add -u\n"
msgstr ""
" $ git add .\n"
" $ git add -u\n"
#. type: Plain text
#: ../en/grandmaster.txt:27
msgid ""
"Git will look at the files in the current directory and work out the details "
"by itself. Instead of the second add command, run `git commit -a` if you "
"also intend to commit at this time. See *git help ignore* for how to specify "
"files that should be ignored."
msgstr ""
"Git wird sich die Dateien im aktuellen Verzeichnis ansehen und sich die "
"Details selbst erarbeiten. Anstelle des zweiten Befehl kann man auch `git "
"commit -a` ausführen, falls man an dieser Stelle ohnehin 'comitten' möchte. "
"Siehe *git help ignore* um zu sehen, wie man Dateien definiert, die "
"ignoriert werden sollen."
#. type: Plain text
#: ../en/grandmaster.txt:29
msgid "You can perform the above in a single pass with:"
msgstr "Man kann das aber auch in einem einzigen Schritt ausführen mit:"
#. type: Plain text
#: ../en/grandmaster.txt:31
#, no-wrap
msgid " $ git ls-files -d -m -o -z | xargs -0 git update-index --add --remove\n"
msgstr " $ git ls-files -d -m -o -z | xargs -0 git update-index --add --remove\n"
#. type: Plain text
#: ../en/grandmaster.txt:35
msgid ""
"The *-z* and *-0* options prevent ill side-effects from filenames containing "
"strange characters. As this command adds ignored files, you may want to use "
"the `-x` or `-X` option."
msgstr ""
"Die *-z* und *-0* Optionen verhindern unerwünschte Nebeneffekte durch "
"Dateinamen mit ungewöhnlichen Zeichen. Da diese Anweisung aber auch zu "
"ignorierende Dateien hinzufügt, kann man noch die `-x` oder `-X` Option "
"hinzufügen."
#. type: Plain text
#: ../en/grandmaster.txt:37
msgid "=== My Commit Is Too Big! ==="
msgstr "=== Mein 'Commit' ist zu groß! ==="
#. type: Plain text
#: ../en/grandmaster.txt:41
msgid ""
"Have you neglected to commit for too long? Been coding furiously and "
"forgotten about source control until now? Made a series of unrelated "
"changes, because that's your style?"
msgstr ""
"Hast Du es zu lange versäumt zu 'comitten'? Hast Du so versessen "
"programmiert, daß Du darüber die Quellcodeverwaltung vergessen hast? Machst "
"Du eine Serie von unabhängigen Änderungen, weil es Dein Stil ist?"
#. type: Plain text
#: ../en/grandmaster.txt:43
msgid "No worries. Run:"
msgstr "Keine Sorge, gib ein:"
#. type: Plain text
#: ../en/grandmaster.txt:45
#, no-wrap
msgid " $ git add -p\n"
msgstr " $ git add -p\n"
#. type: Plain text
#: ../en/grandmaster.txt:49
msgid ""
"For each edit you made, Git will show you the hunk of code that was changed, "
"and ask if it should be part of the next commit. Answer with \"y\" or \"n\". "
"You have other options, such as postponing the decision; type \"?\" to learn "
"more."
msgstr ""
"Für jede Änderung, die Du gemacht hast, zeigt Git Dir die Codepassagen, die "
"sich geändert haben und fragt ob sie Teil des nächsten 'Commit' sein sollen. "
"Antworte mit \"y\" für Ja oder \"n\" für Nein. Du hast auch noch andere "
"Optionen, z.B. den Aufschub der Entscheidung; drücke \"?\" um mehr zu "
"erfahren."
#. type: Plain text
#: ../en/grandmaster.txt:51
msgid "Once you're satisfied, type"
msgstr "Wenn Du zufrieden bist, gib"
#. type: Plain text
#: ../en/grandmaster.txt:53
#, no-wrap
msgid " $ git commit\n"
msgstr " $ git commit\n"
#. type: Plain text
#: ../en/grandmaster.txt:56
msgid ""
"to commit precisely the changes you selected (the 'staged' changes). Make "
"sure you omit the *-a* option, otherwise Git will commit all the edits."
msgstr ""
"ein um exakt die ausgewählten Änderungen zu 'comitten' (die \"inszenierten\" "
"Änderungen). Achte darauf, nicht die Option *-a* einzusetzen, anderenfalls "
"wird Git alle Änderungen 'comitten'."
#. type: Plain text
#: ../en/grandmaster.txt:63
msgid ""
"What if you've edited many files in many places? Reviewing each change one "
"by one becomes frustratingly mind-numbing. In this case, use *git add -i*, "
"whose interface is less straightforward, but more flexible. With a few "
"keystrokes, you can stage or unstage several files at a time, or review and "
"select changes in particular files only. Alternatively, run *git commit \\--"
"interactive* which automatically commits after you're done."
msgstr ""
"Was ist, wenn Du viele Dateien an verschiedenen Orten bearbeitet hast? Jede "
"Datei einzeln nachzuprüfen ist frustrierend und ermüdend. In diesem Fall "
"verwende *git add -i*, dessen Bedienung ist nicht ganz einfach, dafür aber "
"sehr flexibel. Mit ein paar Tastendrücken kannst Du mehrere geänderte "
"Dateien für den 'Commit' hinzufügen ('stage') oder entfernen ('unstage') "
"oder Änderungen einzelner Dateien nachprüfen und hinzufügen. Alternativ "
"kannst Du *git commit \\--interactive* verwenden, was dann automatisch die "
"ausgewählten Änderungen 'commited' nachdem Du fertig bist."
#. type: Plain text
#: ../en/grandmaster.txt:65
msgid "=== The Index: Git's Staging Area ==="
msgstr "=== Der Index: Git's Bereitstellungsraum ==="
#. type: Plain text
#: ../en/grandmaster.txt:71
msgid ""
"So far we have avoided Git's famous 'index', but we must now confront it to "
"explain the above. The index is a temporary staging area. Git seldom "
"shuttles data directly between your project and its history. Rather, Git "
"first writes data to the index, and then copies the data in the index to its "
"final destination."
msgstr ""
"Bis jetzt haben wir Git's berühmten 'Index' gemieden, aber nun müssen wir "
"uns mit ihm auseinandersetzen um das bisherige zu erklären. Der Index ist "
"ein temporärer Bereitstellungsraum. Git tauscht selten Daten direkt zwischen "
"Deinem Projekt und seiner Versionsgeschichte aus. Vielmehr schreibt Git die "
"Daten zuerst in den Index, danach kopiert es die Daten aus dem Index an "
"ihren eigentlichen Bestimmungsort."
#. type: Plain text
#: ../en/grandmaster.txt:77
msgid ""
"For example, *commit -a* is really a two-step process. The first step places "
"a snapshot of the current state of every tracked file into the index. The "
"second step permanently records the snapshot now in the index. Committing "
"without the *-a* option only performs the second step, and only makes sense "
"after running commands that somehow change the index, such as *git add*."
msgstr ""
"Zum Beispiel ist *commit -a* eigentlich ein zweistufiger Prozess. Der erste "
"Schritt erstellt einen Schnappschuß des aktuellen Status jeder überwachten "
"Datei im Index. Der zweite Schritt speichert dauerhaft den Schnappschuß, der "
"sich nun im Index befindet. Ein 'Commit' ohne die *-a* Option führt nur den "
"zweiten Schritt aus und macht nur wirklich Sinn, wenn zuvor eine Anweisung "
"angewendet wurde, welche den Index verändert, wie zum Beispiel *git add*."
#. type: Plain text
#: ../en/grandmaster.txt:79
msgid ""
"Usually we can ignore the index and pretend we are reading straight from and "
"writing straight to the history. On this occasion, we want finer control, so "
"we manipulate the index. We place a snapshot of some, but not all, of our "
"changes into the index, and then permanently record this carefully rigged "
"snapshot."
msgstr ""
"Normalerweise können wir den Index ignorieren und so tun als würden wir "
"direkt aus der Versionsgeschichte lesen oder in sie schreiben. In diesem "
"Fall wollen wir aber mehr Kontrolle, also manipulieren wir den Index. Wir "
"erstellen einen Schnappschuß einiger, aber nicht aller unser Änderungen im "
"Index und speichern dann diesen sorgfältig zusammengestellten Schnappschuß "
"permanent."
#. type: Plain text
#: ../en/grandmaster.txt:81
msgid "=== Don't Lose Your HEAD ==="
msgstr "=== Verliere nicht Deinen KOPF ==="
#. type: Plain text
#: ../en/grandmaster.txt:83
msgid ""
"The HEAD tag is like a cursor that normally points at the latest commit, "
"advancing with each new commit. Some Git commands let you move it. For "
"example:"
msgstr ""
"Der HEAD Bezeichner ist wie ein Cursor, der normalerweise auf den jüngsten "
"'Commit' zeigt und mit jedem neuen 'Commit' voranschreitet. Einige Git "
"Anweisungen lassen Dich ihn manipulieren. Zum Beispiel:"
#. type: Plain text
#: ../en/grandmaster.txt:85
#, no-wrap
msgid " $ git reset HEAD~3\n"
msgstr " $ git reset HEAD~3\n"
#. type: Plain text
#: ../en/grandmaster.txt:87
msgid ""
"will move the HEAD three commits back. Thus all Git commands now act as if "
"you hadn't made those last three commits, while your files remain in the "
"present. See the help page for some applications."
msgstr ""
"bewegt den HEAD Bezeichner drei 'Commits' zurück. Dadurch agieren nun alle "
"Git Anweisungen als hätte es die drei letzten 'Commits' nicht gegeben, "
"während deine Dateien unverändert erhalten bleiben. Siehe auf der Git "
"Hilfeseite für einige Anwendungsbeispiele."
#. type: Plain text
#: ../en/grandmaster.txt:89
msgid ""
"But how can you go back to the future? The past commits know nothing of the "
"future."
msgstr ""
"Aber wie kannst Du zurück in die Zukunft? Die vergangenen 'Commits' wissen "
"nichts von der Zukunft."
#. type: Plain text
#: ../en/grandmaster.txt:91
msgid "If you have the SHA1 of the original HEAD then:"
msgstr "Wenn Du den SHA1 Schlüssel vom originalen HEAD hast, dann:"
#. type: Plain text
#: ../en/grandmaster.txt:93
#, no-wrap
msgid " $ git reset 1b6d\n"
msgstr " $ git reset 1b6d\n"
#. type: Plain text
#: ../en/grandmaster.txt:95
msgid ""
"But suppose you never took it down? Don't worry: for commands like these, "
"Git saves the original HEAD as a tag called ORIG_HEAD, and you can return "
"safe and sound with:"
msgstr ""
"Aber stell Dir vor, Du hast ihn niemals notiert? Keine Sorge: Für solche "
"Anweisungen sichert Git den original HEAD als Bezeichner mit dem Namen "
"ORIG_HEAD und Du kannst gesund und munter zurückkehren mit:"
#. type: Plain text
#: ../en/grandmaster.txt:97
#, no-wrap
msgid " $ git reset ORIG_HEAD\n"
msgstr " $ git reset ORIG_HEAD\n"
#. type: Plain text
#: ../en/grandmaster.txt:99
msgid "=== HEAD-hunting ==="
msgstr "=== KOPF-Jagd ==="
#. type: Plain text
#: ../en/grandmaster.txt:101
msgid ""
"Perhaps ORIG_HEAD isn't enough. Perhaps you've just realized you made a "
"monumental mistake and you need to go back to an ancient commit in a long-"
"forgotten branch."
msgstr ""
"Möglicherweise reicht ORIG_HEAD nicht aus. Vielleicht hast Du gerade "
"bemerkt, dass Du einen kapitalen Fehler gemacht hast und nun musst Du zu "
"einem uralten 'Commit' in einem länst vergessenen 'Branch' zurück."
#. type: Plain text
#: ../en/grandmaster.txt:106
msgid ""
"By default, Git keeps a commit for at least two weeks, even if you ordered "
"Git to destroy the branch containing it. The trouble is finding the "
"appropriate hash. You could look at all the hash values in `.git/objects` "
"and use trial and error to find the one you want. But there's a much easier "
"way."
msgstr ""
"Standardmäßig behält Git einen 'Commit' für mindesten zwei Wochen, sogar "
"wenn Du Git anweist den 'Branch' zu zerstören, in dem er enthalten ist. Das "
"Problem ist, den entsprechenden SHA1-Wert zu finden. Du kannst Dir alle SHA1-"
"Werte in `.git/objects` vornehmen und ausprobieren ob Du den gesuchten "
"'Commit' findest. Aber es gibt einen viel einfacheren Weg."
#. type: Plain text
#: ../en/grandmaster.txt:108
msgid ""
"Git records every hash of a commit it computes in `.git/logs`. The "
"subdirectory `refs` contains the history of all activity on all branches, "
"while the file `HEAD` shows every hash value it has ever taken. The latter "
"can be used to find hashes of commits on branches that have been "
"accidentally lopped off."
msgstr ""
"Git speichert jeden errechneten SHA1-Wert eines 'Commits' in `.git/logs`. "
"Das Unterverzeichnis `refs` enthält den Verlauf aller Aktivitäten auf allen "
"'Branches', während `HEAD` alle SHA1-Werte enthält, die jemals diese "
"Bezeichnung hatten. Die letztere kann verwendet werden um SHA1-Werte von "
"'Commits' zu finden, die sich in einem 'Branch' befanden, der versehentlich "
"gestutzt wurde."
#. type: Plain text
#: ../en/grandmaster.txt:110
msgid ""
"The reflog command provides a friendly interface to these log files. Try"
msgstr ""
"Die reflog Anweisung bietet eine benutzerfreundliche Schnittstelle zu diesen "
"Logdateien. Versuche"
#. type: Plain text
#: ../en/grandmaster.txt:112
#, no-wrap
msgid " $ git reflog\n"
msgstr " $ git reflog\n"
#. type: Plain text
#: ../en/grandmaster.txt:114
msgid "Instead of cutting and pasting hashes from the reflog, try:"
msgstr ""
"Anstatt SHA1-Werte aus dem reflog zu kopieren und einzufügen, versuche:"
#. type: Plain text
#: ../en/grandmaster.txt:116
#, no-wrap
msgid " $ git checkout \"@{10 minutes ago}\"\n"
msgstr " $ git checkout \"@{10 minutes ago}\"\n"
#. type: Plain text
#: ../en/grandmaster.txt:118
msgid "Or checkout the 5th-last visited commit via:"
msgstr "Oder rufe den fünftletzten 'Commit' ab, mit:"
#. type: Plain text
#: ../en/grandmaster.txt:120
#, no-wrap
msgid " $ git checkout \"@{5}\"\n"
msgstr " $ git checkout \"@{5}\"\n"
#. type: Plain text
#: ../en/grandmaster.txt:122
msgid ""
"See the ``Specifying Revisions'' section of *git help rev-parse* for more."
msgstr ""
"Siehe in der ``Specifying Revisions'' Sektion von *git help rev-parse* für "
"mehr."
#. type: Plain text
#: ../en/grandmaster.txt:125
msgid ""
"You may wish to configure a longer grace period for doomed commits. For "
"example:"
msgstr ""
"Vielleicht möchtest Du eine längere Gnadenfrist für todgeweihte 'Commits' "
"konfigurieren. Zum Beispiel:"
#. type: Plain text
#: ../en/grandmaster.txt:127
#, no-wrap
msgid " $ git config gc.pruneexpire \"30 days\"\n"
msgstr " $ git config gc.pruneexpire \"30 days\"\n"
#. type: Plain text
#: ../en/grandmaster.txt:130
msgid ""
"means a deleted commit will only be permanently lost once 30 days have "
"passed and *git gc* is run."
msgstr ""
"bedeutet, ein gelöschter 'Commit' wird nur dann endgültig verloren sein, "
"nachdem 30 Tage vergangen sind und *git gc* ausgeführt wurde."
#. type: Plain text
#: ../en/grandmaster.txt:132
msgid "You may also wish to disable automatic invocations of *git gc*:"
msgstr ""
"Du magst vielleicht auch das automatische Ausführen von *git gc* abstellen:"
#. type: Plain text
#: ../en/grandmaster.txt:134
#, no-wrap
msgid " $ git config gc.auto 0\n"
msgstr " $ git config gc.auto 0\n"
#. type: Plain text
#: ../en/grandmaster.txt:136
msgid ""
"in which case commits will only be deleted when you run *git gc* manually."
msgstr ""
"wodurch 'Commits' nur noch gelöscht werden, wenn Du *git gc* manuell "
"aufrufst."
#. type: Plain text
#: ../en/grandmaster.txt:138
msgid "=== Building On Git ==="
msgstr "=== Auf Git bauen ==="
#. type: Plain text
#: ../en/grandmaster.txt:140
msgid ""
"In true UNIX fashion, Git's design allows it to be easily used as a low-"
"level component of other programs, such as GUI and web interfaces, "
"alternative command-line interfaces, patch managements tools, importing and "
"conversion tools and so on. In fact, some Git commands are themselves "
"scripts standing on the shoulders of giants. With a little tinkering, you "
"can customize Git to suit your preferences."
msgstr ""
"In echter UNIX Sitte erlaubt es Git's Design, dass es auf einfache Weise als "
"Low-Level-Komponente von anderen Programmen benutzt werden kann, wie zum "
"Beispiel grafischen Benutzeroberflächen und Internetanwendungen, alternative "
"Kommandozeilenanwendungen, Patch-Werkzeugen, Import- und "
"Konvertierungswerkzeugen und so weiter. Sogar einige Git Anweisungen selbst "
"sind nur winzige Skripte, wie Zwerge auf den Schultern von Riesen. Mit ein "
"bisschen Handarbeit kannst Du Git anpassen, damit es Deinen Anforderungen "
"entspricht."
#. type: Plain text
#: ../en/grandmaster.txt:143
msgid ""
"One easy trick is to use built-in Git aliases to shorten your most "
"frequently used commands:"
msgstr ""
"Ein einfacher Trick ist es die in Git integrierte Aliasfunktion zu verwenden "
"um die am häufigsten benutzten Anweisungen zu verkürzen:"
#. type: Plain text
#: ../en/grandmaster.txt:148
#, no-wrap
msgid ""
" $ git config --global alias.co checkout\n"
" $ git config --global --get-regexp alias # display current aliases\n"
" alias.co checkout\n"
" $ git co foo # same as 'git checkout foo'\n"
msgstr ""
" $ git config --global alias.co checkout\n"
" $ git config --global --get-regexp alias # display current aliases\n"
" alias.co checkout\n"
" $ git co foo # same as 'git checkout foo'\n"
#. type: Plain text
#: ../en/grandmaster.txt:151
msgid ""
"Another is to print the current branch in the prompt, or window title. "
"Invoking"
msgstr ""
"Etwas anderes ist der aktuelle 'Branch' im Prompt oder Fenstertitel. Die "
"Anweisung"
#. type: Plain text
#: ../en/grandmaster.txt:153
#, no-wrap
msgid " $ git symbolic-ref HEAD\n"
msgstr " $ git symbolic-ref HEAD\n"
#. type: Plain text
#: ../en/grandmaster.txt:156
msgid ""
"shows the current branch name. In practice, you most likely want to remove "
"the \"refs/heads/\" and ignore errors:"
msgstr ""
"zeigt den Namen des aktuellen 'Branch'. In der Praxis möchtest Du aber das "
"\"refs/heads/\" entfernen und Fehler ignorieren:"
#. type: Plain text
#: ../en/grandmaster.txt:158
#, no-wrap
msgid " $ git symbolic-ref HEAD 2> /dev/null | cut -b 12-\n"
msgstr " $ git symbolic-ref HEAD 2> /dev/null | cut -b 12-\n"
#. type: Plain text
#: ../en/grandmaster.txt:162
msgid ""
"The +contrib+ subdirectory is a treasure trove of tools built on Git. In "
"time, some of them may be promoted to official commands. On Debian and "
"Ubuntu, this directory lives at +/usr/share/doc/git-core/contrib+."
msgstr ""
"Das +contrib+ Unterverzeichnis ist eine Fundgrube von Werkzeugen, die auf "
"Git aufbauen. Mit der Zeit können einige davon zu offiziellen Anweisungen "
"befördert werden. Auf Debian und Ubuntu, findet man dieses Verzeichnis unter "
"+/usr/share/doc/git-core/contrib+."
#. type: Plain text
#: ../en/grandmaster.txt:164
msgid ""
"One popular resident is +workdir/git-new-workdir+. Via clever symlinking, "
"this script creates a new working directory whose history is shared with the "
"original repository:"
msgstr ""
"Ein beliebter Vertreter ist +workdir/git-new-workdir+. Durch cleveres "
"verlinken erzeugt dieses Skript ein neues Arbeitsverzeichis, das seine "
"Versionsgeschichte mit dem original 'Repository' teilt:"
#. type: Plain text
#: ../en/grandmaster.txt:166
#, no-wrap
msgid " $ git-new-workdir an/existing/repo new/directory\n"
msgstr " $ git-new-workdir ein/existierendes/repo neues/verzeichnis\n"
#. type: Plain text
#: ../en/grandmaster.txt:168
msgid ""
"The new directory and the files within can be thought of as a clone, except "
"since the history is shared, the two trees automatically stay in sync. "
"There's no need to merge, push, or pull."
msgstr ""
"Das neue Verzeichnis und die Dateien darin kann man sich als 'Clone' "
"vorstellen, mit dem Unterschied, dass durch die gemeinschaftliche "
"Versionsgeschichte die beiden Versionen automatisch synchron bleiben. Eine "
"Synchronisierung mittels 'merge', 'push' oder 'pull' ist nicht notwendig."
#. type: Plain text
#: ../en/grandmaster.txt:170
msgid "=== Daring Stunts ==="
msgstr "=== Gewagte Kunststücke ==="
#. type: Plain text
#: ../en/grandmaster.txt:174
msgid ""
"These days, Git makes it difficult for the user to accidentally destroy "
"data. But if you know what you are doing, you can override safeguards for "
"common commands."
msgstr ""
"Heutzutage macht es Git dem Anwender schwer versehentlich Daten zu "
"zerstören. Aber, wenn man weiß was man tut, kann man die Schutzmaßnahmen der "
"häufigsten Anweisungen umgehen."
#. type: Plain text
#: ../en/grandmaster.txt:176
#, no-wrap
msgid "*Checkout*: Uncommitted changes cause checkout to fail. To destroy your changes, and checkout a given commit anyway, use the force flag:\n"
msgstr "*Checkout*: Nicht versionierte Änderungen lassen 'checkout' scheitern. Um trotzdem die Änderungen zu zerstören und einen vorhandenen 'Commit' abzurufen, benutzen wir die 'force' Option:\n"
#. type: Plain text
#: ../en/grandmaster.txt:178
#, no-wrap
msgid " $ git checkout -f HEAD^\n"
msgstr " $ git checkout -f HEAD^\n"
#. type: Plain text
#: ../en/grandmaster.txt:180
msgid ""
"On the other hand, if you specify particular paths for checkout, then there "
"are no safety checks. The supplied paths are quietly overwritten. Take care "
"if you use checkout in this manner."
msgstr ""
"Auf der anderen Seite, wenn Du einen speziellen Pfad für 'checkout' angibst, "
"gibt es keinen Sicherheitsüberprüfungen mehr. Der angegebene Pfad wird "
"stillschweigend überschrieben. Sei vorsichtig, wenn Du 'checkout' auf diese "
"Weise benutzt."
#. type: Plain text
#: ../en/grandmaster.txt:182
#, no-wrap
msgid "*Reset*: Reset also fails in the presence of uncommitted changes. To force it through, run:\n"
msgstr "*Reset*: Reset versagt auch, wenn unversionierte Änderungen vorliegen. Um es zu erzwingen, verwende:\n"
#. type: Plain text
#: ../en/grandmaster.txt:184
#, no-wrap
msgid " $ git reset --hard 1b6d\n"
msgstr " $ git reset --hard 1b6d\n"
#. type: Plain text
#: ../en/grandmaster.txt:186
#, no-wrap
msgid "*Branch*: Deleting branches fails if this causes changes to be lost. To force a deletion, type:\n"
msgstr "*Branch*: 'Branches' zu löschen scheitert ebenfalls, wenn dadurch Änderungen verloren gehen. Um das Löschen zu erzwingen, gib ein:\n"
#. type: Plain text
#: ../en/grandmaster.txt:188
#, no-wrap
msgid " $ git branch -D dead_branch # instead of -d\n"
msgstr " $ git branch -D dead_branch # instead of -d\n"
#. type: Plain text
#: ../en/grandmaster.txt:190
msgid ""
"Similarly, attempting to overwrite a branch via a move fails if data loss "
"would ensue. To force a branch move, type:"
msgstr ""
"Ebenso scheitert der Versuch einen 'Branch' durch ein 'move' zu "
"überschreiben, wenn das einen Datenverlust zur Folge hat. Um das Verschieben "
"zu erzwingen, gib ein:"
#. type: Plain text
#: ../en/grandmaster.txt:192
#, no-wrap
msgid " $ git branch -M source target # instead of -m\n"
msgstr " $ git branch -M source target # instead of -m\n"
#. type: Plain text
#: ../en/grandmaster.txt:197
msgid ""
"Unlike checkout and reset, these two commands defer data destruction. The "
"changes are still stored in the .git subdirectory, and can be retrieved by "
"recovering the appropriate hash from `.git/logs` (see \"HEAD-hunting\" "
"above). By default, they will be kept for at least two weeks."
msgstr ""
"Anders als bei 'checkout' und 'reset' verschieben diese beiden Anweisungen "
"das Zerstören der Daten. Die Änderungen bleiben im .git Unterverzeichnis "
"gespeichert und können wieder hergestellt werden, wenn der entsprechende "
"SHA1-Wert aus `.git/logs` ermittelt wird (siehe \"KOPF-Jagd\" oben). "
"Standardmäßig bleiben die Daten mindestens zwei Wochen erhalten."
#. type: Plain text
#: ../en/grandmaster.txt:201
#, no-wrap
msgid ""
"*Clean*: Some git commands refuse to proceed because they're worried about\n"
"clobbering untracked files. If you're certain that all untracked files and\n"
"directories are expendable, then delete them mercilessly with:\n"
msgstr "*Clean*: Verschiedene git Anweisungen scheitern, weil sie Konflikte mit unversionierten Dateien vermuten. Wenn Du sicher bist, dass alle unversionierten Dateien und Verzeichnisse entbehrlich sind, dann lösche diese gnadenlos mit:\n"
#. type: Plain text
#: ../en/grandmaster.txt:203
#, no-wrap
msgid " $ git clean -f -d\n"
msgstr " $ git clean -f -d\n"
#. type: Plain text
#: ../en/grandmaster.txt:205
msgid "Next time, that pesky command will work!"
msgstr "Beim nächsten Mal werden diese lästigen Anweisung gehorchen!"
#. type: Plain text
#: ../en/grandmaster.txt:207
msgid "=== Preventing Bad Commits ==="
msgstr "=== Verhindere schlechte 'Commits' ==="
#. type: Plain text
#: ../en/grandmaster.txt:212
msgid ""
"Stupid mistakes pollute my repositories. Most frightening are missing files "
"due to a forgotten *git add*. Lesser transgressions are trailing whitespace "
"and unresolved merge conflicts: though harmless, I wish these never appeared "
"on the public record."
msgstr ""
"Dumme Fehler verschmutzen meine 'Repositories'. Am schrecklichsten sind "
"fehlende Dateien wegen eines vergessenen *git add*. Kleinere Verfehlungen "
"sind Leerzeichen am Zeilenende und ungelöste 'merge'-Konflikte: obwohl sie "
"harmlos sind, wünschte ich, sie würden nie in der Öffentlichkeit erscheinen."
#. type: Plain text
#: ../en/grandmaster.txt:214
msgid ""
"If only I had bought idiot insurance by using a _hook_ to alert me about "
"these problems:"
msgstr ""
"Wenn ich doch nur eine Trottelversicherung abgeschlossen hätte, durch "
"Verwendung eines _hook_, der mich bei solchen Problemen alarmiert."
#. type: Plain text
#: ../en/grandmaster.txt:217
#, no-wrap
msgid ""
" $ cd .git/hooks\n"
" $ cp pre-commit.sample pre-commit # Older Git versions: chmod +x pre-commit\n"
msgstr ""
" $ cd .git/hooks\n"
" $ cp pre-commit.sample pre-commit # Older Git versions: chmod +x pre-commit\n"
#. type: Plain text
#: ../en/grandmaster.txt:220
msgid ""
"Now Git aborts a commit if useless whitespace or unresolved merge conflicts "
"are detected."
msgstr ""
"Nun bricht Git einen 'Commit' ab, wenn es überflüssige Leerzeichen am "
"Zeilenende oder ungelöste 'merge'-Konflikte entdeckt."
#. type: Plain text
#: ../en/grandmaster.txt:223
msgid ""
"For this guide, I eventually added the following to the beginning of the "
"*pre-commit* hook to guard against absent-mindedness:"
msgstr ""
"Für diese Anleitung hätte ich vielleicht am Anfang des *pre-commit* 'hook' "
"folgendes hinzugefügt, zum Schutz vor Zerstreutheit:"
#. type: Plain text
#: ../en/grandmaster.txt:228
#, no-wrap
msgid ""
" if git ls-files -o | grep '\\.txt$'; then\n"
" echo FAIL! Untracked .txt files.\n"
" exit 1\n"
" fi\n"
msgstr ""
" if git ls-files -o | grep '\\.txt$'; then\n"
" echo FAIL! Untracked .txt files.\n"
" exit 1\n"
" fi\n"
#. type: Plain text
#: ../en/grandmaster.txt:232
msgid ""
"Several git operations support hooks; see *git help hooks*. We activated the "
"sample *post-update* hook earlier when discussing Git over HTTP. This runs "
"whenever the head moves. The sample post-update script updates files Git "
"needs for communication over Git-agnostic transports such as HTTP."
msgstr ""
"Viele Git Operationen unterstützen 'hooks'; siehe *git help hooks*. Wir "
"haben den Beispiel 'hook' *post-update* aktiviert, weiter oben im Abschnitt "
"Git über HTTP. Dieser läuft immer, wenn der 'HEAD' sich bewegt. Das Beispiel "
"'post-update' Skript aktualisiert Dateien, welche Git für die Kommunikation "
"über 'Git-agnostic transports' wie z.B. HTTP benötigt."
|