Git Magic deutsch - en to de translation catalogue (78 entries)

note: type: Plain text
en: == Cloning Around ==
de: == Rund ums 'Clonen' ==

note: type: Plain text
en: In older version control systems, checkout is the standard operation to get files. You retrieve a bunch of files in a particular saved state.
de: In älteren Versionsverwaltungssystemen ist 'checkout' die Standardoperation um Dateien zu bekommen. Du bekommst einen Haufen Dateien eines bestimmten Sicherungsstands.

note: type: Plain text
en: In Git and other distributed version control systems, cloning is the standard operation. To get files, you create a 'clone' of the entire repository. In other words, you practically mirror the central server. Anything the main repository can do, you can do.
de: In Git und anderen verteilten Versionsverwaltungssystemen ist 'clone' die Standardaktion. Um Dateien zu bekommen, erstellst du einen 'Clone' des gesamten 'Repository'. Oder anders gesagt, du spiegelst den zentralen Server. Alles, was man mit dem zentralen 'Repository' tun kann, kannst du auch mit deinem 'Clone' tun.

note: type: Plain text
en: === Sync Computers ===
de: === Computer synchronisieren ===

note: type: Plain text
en: I can tolerate making tarballs or using *rsync* for backups and basic syncing. But sometimes I edit on my laptop, other times on my desktop, and the two may not have talked to each other in between.
de: Es ist akzeptabel, für Datensicherungen und einfaches Synchronisieren, mit 'tarball' Archiven oder *rsync* zu arbeiten. Aber manchmal arbeite ich an meinem Laptop, dann an meinem Desktop-PC und die beiden haben sich inzwischen nicht austauschen können.

note: type: Plain text
en: Initialize a Git repository and commit your files on one machine. Then on the other:
de: Erstelle ein Git 'Repository' und 'commite' deine Dateien auf dem einen Rechner. Dann auf dem anderen:

note: type: Plain text
en:  $ git clone other.computer:/path/to/files
de:  $ git clone anderer.computer:/pfad/zu/dateien

note: type: Plain text
en: to create a second copy of the files and Git repository. From now on,
de: um eine zweite Kopie der Dateien und des Git 'Repository' zu erstellen. Von jetzt an wird

note: type: Plain text
en:  $ git commit -a
     $ git pull other.computer:/path/to/files HEAD
de:  $ git commit -a
     $ git pull anderer.computer:/pfad/zu/dateien HEAD

note: type: Plain text
en: will 'pull' in the state of the files on the other computer into the one you're working on. If you've recently made conflicting edits in the same file, Git will let you know and you should commit again after resolving them.
de: den Zustand der Dateien des anderen Computer auf den übertragen, an dem du gerade arbeitest. Solltest du kürzlich konkurrierende Änderungen an der selben Datei vorgenommen haben, lässt Git dich das wissen und musst erneut 'commiten' nachdem du die Konflikte aufgelöst hast.

note: type: Plain text
en: === Classic Source Control ===
de: === Klassische Quellcodeverwaltung ===

note: type: Plain text
en: Initialize a Git repository for your files:
de: Erstelle ein Git 'Repository' für deine Dateien:

note: type: Plain text
en:  $ git init
     $ git add .
     $ git commit -m "Initial commit"
de:  $ git init
     $ git add .
     $ git commit -m "Erster Commit"

note: type: Plain text
en: On the central server, initialize a 'bare repository' in some directory:
de: Auf dem zentralen Server erstelle ein 'bare Repository' in irgendeinem Ordner:

note: type: Plain text
en: Start the Git daemon if necessary:
de: Wenn nötig, starte den Git-Dämon:

note: type: Plain text
en:  $ git daemon --detach  # it may already be running
de:  $ git daemon --detach  # er könnte schon laufen

note: type: Plain text
en: For Git hosting services, follow the instructions to setup the initially empty Git repository. Typically one fills in a form on a webpage.
de: Für Git Hostingdienste folge den Anweisungen zum Erstellen des zunächst leeren Git 'Repository'. Normalerweise füllt man ein Formular auf einer Website aus.

note: type: Plain text
en: 'Push' your project to the central server with:
de: Übertrage ('push') dein Projekt auf den zentralen Server mit:

note: type: Plain text
en:  $ git push central.server/path/to/proj.git HEAD
de:  $ git push zentraler.server/pfad/zu/proj.git HEAD

note: type: Plain text
en: To check out the source, a developer types:
de: Um die Quellcodes abzurufen gibt ein Entwickler folgendes ein:

note: type: Plain text
en:  $ git clone central.server/path/to/proj.git
de:  $ git clone zentraler.server/pfad/zu/proj.git

note: type: Plain text
en: After making changes, the developer saves changes locally:
de: Nach dem Bearbeiten sichert der Entwickler die Änderungen lokal:

note: type: Plain text
en: To update to the latest version:
de: Um auf die aktuelle Server-Version zu aktualisieren:

note: type: Plain text
en: Any merge conflicts should be resolved then committed:
de: Irgendwelche 'Merge'-Konflikte sollten dann aufgelöst und erneut 'commitet' werden:

note: type: Plain text
en: To check in local changes into the central repository:
de: Um die lokalen Änderungen in das zentrale 'Repository' zu übertragen:

note: type: Plain text
en: If the main server has new changes due to activity by other developers, the push fails, and the developer should pull the latest version, resolve any merge conflicts, then try again.
de: Wenn inzwischen neue Änderungen von anderen Entwicklern beim Hauptserver eingegangen sind, schlägt dein 'push' fehl. Aktualisiere das lokale 'Repository' erneut mit 'pull', löse eventuell aufgetretene 'Merge'-Konflikte und versuche es nochmal.

note: type: Plain text
en: Developers must have SSH access for the above pull and push commands.  However, anyone can see the source by typing:
de: Entwickler brauchen SSH Zugriff für die vorherigen 'pull' und 'push' Anweisungen. Trotzdem kann jedermann die Quelltexte einsehen, durch Eingabe von:

note: type: Plain text
en:  $ git clone git://central.server/path/to/proj.git
de:  $ git clone git://zentraler.server/pfad/zu/proj.git

note: type: Plain text
en: The native git protocol is like HTTP: there is no authentication, so anyone can retrieve the project. Accordingly, by default, pushing is forbidden via the git protocol.
de: Das ursprüngliche Git-Protokoll ähnelt HTTP: Es gibt keine Authentifizierung, also kann jeder das Projekt abrufen. Folglich ist standardmäßig das 'Pushen' per Git-Protokoll verboten.

note: type: Plain text
en: === Secret Source ===
de: === Geheime Quellen ===

note: type: Plain text
en: For a closed-source project, omit the touch command, and ensure you never create a file named `git-daemon-export-ok`. The repository can no longer be retrieved via the git protocol; only those with SSH access can see it. If all your repos are closed, running the git daemon is unnecessary because all communication occurs via SSH.
de: Für ein Closed-Source-Projekt lasse die 'touch' Anweisung weg und stelle sicher, dass niemals eine Datei namens `git-daemon-export-ok` erstellt wird. Das 'Repository' kann nun nicht mehr über das Git-Protokol abgerufen werden; nur diejenigen mit SSH Zugriff können es einsehen. Wenn alle 'Repositories' geschlossen sind, ist es unnötig den Git Dämon laufen zu lassen, da jegliche Kommunikation über SSH läuft.

note: type: Plain text
en: === Bare repositories ===
de: === 'Nackte Repositories' ===

note: type: Plain text
en: A bare repository is so named because it has no working directory; it only contains files that are normally hidden away in the `.git` subdirectory. In other words, it maintains the history of a project, and never holds a snapshot of any given version.
de: Ein nacktes ('bare') 'Repository' wird so genannt, weil es kein Arbeitsverzeichnis hat. Es enthält nur Dateien, die normalerweise im '.git' Unterverzeichnis versteckt sind. Mit anderen Worten, es verwaltet die Geschichte eines Projekts, enthält aber niemals einen Auszug irgendeiner beliebigen Version.

note: type: Plain text
en: A bare repository plays a role similar to that of the main server in a centralized version control system: the home of your project. Developers clone your project from it, and push the latest official changes to it. Typically it resides on a server that does little else but disseminate data. Development occurs in the clones, so the home repository can do without a working directory.
de: Ein 'bare Repository' übernimmt die Rolle des Hauptserver in einem zentralisierten Versionsverwaltungssystem: Das Zuhause deines Projekts. Entwickler 'clonen' dein Projekt davon und 'pushen' die letzten offiziellen Änderungen dort hin. Meistens befindet es sich auf einem Server, der nicht viel tut außer Daten zu verbreiten. Die Entwicklung findet in den 'Clonen' statt, so kann das Heim-'Repository' ohne Arbeitsverzeichnis auskommen.

note: type: Plain text
en: Many Git commands fail on bare repositories unless the `GIT_DIR` environment variable is set to the repository path, or the `--bare` option is supplied.
de: Viele Git Befehle funktionieren nicht in 'bare Repositories'. Es sei denn die `GIT_DIR` Umgebungsvariable wird auf das Arbeitsverzeichnis gesetzt, oder die `--bare` Option wird übergeben.

note: type: Plain text
en: === Push versus pull ===
de: === 'Push' oder 'Pull' ===

note: type: Plain text
en: Why did we introduce the push command, rather than rely on the familiar pull command? Firstly, pulling fails on bare repositories: instead you must 'fetch', a command we later discuss. But even if we kept a normal repository on the central server, pulling into it would still be cumbersome. We would have to login to the server first, and give the pull command the network address of the machine we're pulling from. Firewalls may interfere, and what if we have no shell access to the server in the first place?
de: Warum haben wir den 'push'-Befehl eingeführt, anstatt bei dem vertrauten 'pull'-Befehl zu bleiben? Zuerst, 'pull' funktioniert nicht mit 'bare Repositories': stattdessen benutze 'fetch', ein Befehl, den wir später behandeln. Aber auch wenn wir ein normales 'Repository' auf dem zentralen Server halten würden, wäre das 'pullen' eine mühselige Angelegenheit. Wir müssten uns zuerst in den Server einloggen und dem 'pull'-Befehl die Netzwerkadresse des Computer übergeben, von dem aus wir die Änderungen 'pullen', also abholen wollen. Firewalls könnten uns stören und was, wenn wir gar keine Berechtigung für eine Serverkonsole haben.

note: type: Plain text
en: However, apart from this case, we discourage pushing into a repository, because confusion can ensue when the destination has a working directory.
de: Wie auch immer, abgesehen von diesem Fall, raten wir vom 'Pushen' in ein 'Repository' ab. Falls das Ziel nämlich ein Arbeitsverzeichnis hat, können Verwirrungen entstehen.

note: type: Plain text
en: In short, while learning Git, only push when the target is a bare repository; otherwise pull.
de: Kurzum, während du lernst mit Git umzugehen, 'pushe' nur, wenn das Ziel ein 'bare Repository' ist; andernfalls benutze 'pull'.

note: type: Plain text
en: === Forking a Project ===
de: === 'Fork' eines Projekts ===

note: type: Plain text
en: Sick of the way a project is being run? Think you could do a better job? Then on your server:
de: Hast du es satt, wie sich ein Projekt entwickelt? Du denkst, du kannst das besser? Dann mache folgendes auf deinem Server:

note: type: Plain text
en:  $ git clone git://main.server/path/to/files
de:  $ git clone git://haupt.server/pfad/zu/dateien

note: type: Plain text
en: Next, tell everyone about your fork of the project at your server.
de: Dann erzähle jedem von deiner 'Fork' des Projekts auf deinem Server.

note: type: Plain text
en: At any later time, you can merge in the changes from the original project with:
de: Zu jedem späteren Zeitpunkt kannst du die Änderungen des Originalprojekts 'mergen' mit:

note: type: Plain text
en: === Ultimate Backups ===
de: === Ultimative Datensicherung ===

note: type: Plain text
en: Want numerous tamper-proof geographically diverse redundant archives? If your project has many developers, don't do anything! Every clone of your code is effectively a backup. Not just of the current state, but of your project's entire history. Thanks to cryptographic hashing, if anyone's clone becomes corrupted, it will be spotted as soon as they try to communicate with others.
de: Du willst zahlreiche, vor Manipulation geschützte, redundante Datensicherungen an unterschiedlichen Orten? Wenn dein Projekt viele Entwickler hat, musst du nichts tun! Jeder 'Clone' deines Codes ist eine vollwertige Datensicherung. Nicht nur des aktuellen Stand, sondern der gesamten Geschichte. Wird irgendein 'Clone' beschädigt, wird dies dank des kryptographischen 'Hashing' sofort erkannt, sobald derjenige versucht mit anderen zu kommunizieren.

note: type: Plain text
en: If your project is not so popular, find as many servers as you can to host clones.
de: Wenn dein Projekt nicht so bekannt ist, finde so viele Server wie du kannst um dort einen 'Clone' zu platzieren.

note: type: Plain text
en: The truly paranoid should always write down the latest 20-byte SHA1 hash of the HEAD somewhere safe. It has to be safe, not private. For example, publishing it in a newspaper would work well, because it's hard for an attacker to alter every copy of a newspaper.
de: Die wirklich Paranoiden sollten immer den letzten 20-Byte SHA1 Hash des 'HEAD' aufschreiben und an einem sicheren Ort aufbewahren. Er muss sicher sein, aber nicht privat. Zum Beispiel wäre es sicher, ihn in einer Zeitung zu veröffentlichen, denn es ist schwer für einen Angreifer jede Zeitungskopie zu manipulieren.

note: type: Plain text
en: === Light-Speed Multitask ===
de: === Multitasking mit Lichtgeschwindigkeit ===

note: type: Plain text
en: Say you want to work on several features in parallel. Then commit your project and run:
de: Nehmen wir an du willst parallel an mehreren Funktionen arbeiten. Dann 'commite' dein Projekt und gib ein:

note: type: Plain text
en:  $ git clone . /some/new/directory
de:  $ git clone . /irgendein/neuer/ordner

note: type: Plain text
en: Thanks to http://en.wikipedia.org/wiki/Hard_link[hardlinking], local clones require less time and space than a plain backup.
de: http://de.wikipedia.org/wiki/Harter_Link[Harten Links] ist es zu verdanken, dass ein lokaler Klon weniger Zeit und Speicherplatz benötigt als eine herkömmliche Datensicherung.

note: type: Plain text
en: You can now work on two independent features simultaneously. For example, you can edit one clone while the other is compiling. At any time, you can commit and pull changes from the other clone:
de: Du kannst nun an zwei unabhängigen Funktionen gleichzeitig arbeiten. Zum Beispiel kannst Du einen Klon bearbeiten, während der andere kompiliert wird. Zu jeder Zeit kannst Du 'comitten' und die Änderungen des anderen Klon 'pullen'.

note: type: Plain text
en:  $ git pull /the/other/clone HEAD
de:  $ git pull /der/andere/clone HEAD

note: type: Plain text
en: === Guerilla Version Control ===
de: === Versionsverwaltung im Untergrund ===

note: type: Plain text
en: Are you working on a project that uses some other version control system, and you sorely miss Git? Then initialize a Git repository in your working directory:
de: Arbeitest du an einem Projekt, das ein anderes Versionsverwaltungssystem nutzt und vermisst du Git? Dann erstelle ein Git 'Repository' in deinem Arbeitsverzeichnis:

note: type: Plain text
en: then clone it:
de: dann 'Clone' es:

note: type: Plain text
en: Now go to the new directory and work here instead, using Git to your heart's content. Once in a while, you'll want to sync with everyone else, in which case go to the original directory, sync using the other version control system, and type:
de: Nun gehe in das neue Verzeichnis und arbeite dort mit Git nach Herzenslust. Irgendwann wirst du dann mit den anderen synchronisieren wollen, dann gehe in das Originalverzeichnis, aktualisiere mit dem anderen Versionsverwaltungssystem und gib ein:

note: type: Plain text
en:  $ git add .
     $ git commit -m "Sync with everyone else"
de:  $ git add .
     $ git commit -m "Synchronisation mit den anderen"

note: type: Plain text
en: Then go to the new directory and run:
de: Dann gehe wieder ins neue Verzeichnis und gib ein:

note: type: Plain text
en:  $ git commit -a -m "Description of my changes"
     $ git pull
de:  $ git commit -a -m "Beschreibung der Änderungen"
     $ git pull

note: type: Plain text
en: The procedure for giving your changes to everyone else depends on the other version control system. The new directory contains the files with your changes. Run whatever commands of the other version control system are needed to upload them to the central repository.
de: Die Vorgehensweise, wie du deine Änderungen den anderen übergibst, hängt vom anderen Versionsverwaltungssystem ab. Das neue Verzeichnis enthält die Dateien mit deinen Änderungen. Führe die Anweisungen des anderen Versionsverwaltungssystems aus, die nötig sind um die Dateien ins zentrale 'Repository' zu übertragen.

note: type: Plain text
en: Subversion, perhaps the best centralized version control system, is used by countless projects. The *git svn* command automates the above for Subversion repositories, and can also be used to http://google-opensource.blogspot.com/2008/05/export-git-project-to-google-code.html[export a Git project to a Subversion repository].
de: Subversion, vielleicht das beste zentralisierte Versionsverwaltungssystem, wird von unzähligen Projekten benutzt. Der *git svn*-Befehl automatisiert den zuvor genannten Ablauf für Subversion 'Repositories' und kann auch benutzt werden um http://google-opensource.blogspot.com/2008/05/export-git-project-to-google-code.html[ein Git Projekt in ein Subversion 'Repository' zu exportieren].

note: type: Plain text
en: Mercurial is a similar version control system that can almost seamlessly work in tandem with Git. With the `hg-git` plugin, a Mercurial user can losslessly push to and pull from a Git repository.
de: Mercurial ist ein ähnliches Versionsverwaltungssystem, das fast nahtlos mit Git zusammenarbeiten kann. Mit der `hg-git`-Erweiterung kann ein Benutzer von Mercurial verlustfrei in ein Git 'Repository' 'pushen' und daraus 'pullen'.

note: type: Plain text
en: Obtain the `hg-git` plugin with Git:
de: Beschaffe dir die `hg-git`-Erweiterung mit Git:

note: type: Plain text
en: or Mercurial:
de: oder Mercurial:

note: type: Plain text
en: Sadly, I am unaware of an analogous plugin for Git. For this reason, I advocate Git over Mercurial for the main repository, even if you prefer Mercurial. With a Mercurial project, usually a volunteer maintains a parallel Git repository to accommodate Git users, whereas thanks to the `hg-git` plugin, a Git project automatically accommodates Mercurial users.
de: Leider kenne ich keine solche Erweiterung für Git. Aus diesem Grund plädiere ich für Git statt Mercurial für ein zentrales 'Repository', auch wenn man Mercurial bevorzugt. Bei einem Mercurial Projekt gibt es gewöhnlich immer einen Freiwilligen, der parallel dazu ein Git 'Repository' für die Git Anwender unterhält, wogegen, Dank der `hg-git`-Erweiterung, ein Git Projekt automatisch die Benutzer von Mercurial mit einbezieht.

note: type: Plain text
en: Although the plugin can convert a Mercurial repository to a Git repository by pushing to an empty repository, this job is easier with the `hg-fast-export.sh` script, available from:
de: Die Erweiterung kann auch ein Mercurial 'Repository' in ein Git 'Repository' umwandeln, indem man in ein leeres 'Repository' 'pushed'. Einfacher geht das mit dem `hg-fast-export.sh` Skript, welches es hier gibt:

note: type: Plain text
en: To convert, in an empty directory:
de: Zum Konvertieren gib in einem leeren Verzeichnis ein:

note: type: Plain text
en: after adding the script to your `$PATH`.
de: nachdem du das Skript zu deinem `$PATH` hinzugefügt hast.

note: type: Plain text
en: We briefly mention Bazaar because it is the most popular free distributed version control system after Git and Mercurial.
de: Wir erwähnen auch kurz Bazaar, weil es nach Git und Mercurial das bekannteste freie verteilte Versionsverwaltungssystem ist.

note: type: Plain text
en: Bazaar has the advantage of hindsight, as it is relatively young; its designers could learn from mistakes of the past, and sidestep minor historical warts. Additionally, its developers are mindful of portability and interoperation with other version control systems.
de: Bazaar hat den Vorteil des Rückblicks, da es relativ jung ist; seine Entwickler konnten aus Fehlern der Vergangenheit lernen und kleine historische Unwegbarkeiten umgehen. Außerdem waren sich die Entwickler der Popularität und Interoperabilität mit anderen Versionsverwaltungssystemen bewusst.

note: type: Plain text
en: A `bzr-git` plugin lets Bazaar users work with Git repositories to some extent. The `tailor` program converts Bazaar repositories to Git repositories, and can do so incrementally, while `bzr-fast-export` is well-suited for one-shot conversions.
de: Eine `bzr-git`-Erweiterung lässt Anwender von Bazaar einigermaßen mit Git 'Repositories' arbeiten. Das `tailor` Programm konvertiert Bazaar 'Repositories' zu Git 'Repositories' und kann das forlaufend tun, während `bzr-fast-export` für einmalige Konvertierungen besser geeignet ist.

note: type: Plain text
en: === Why I use Git ===
de: === Warum ich Git benutze ===

note: type: Plain text
en: I originally chose Git because I heard it could manage the unimaginably unmanageable Linux kernel source. I've never felt a need to switch. Git has served admirably, and I've yet to be bitten by its flaws. As I primarily use Linux, issues on other platforms are of no concern.
de: Ich habe ursprünglich Git gewählt, weil ich gehört habe, dass es die unvorstellbar unüberschaubaren Linux Kernel Quellcodes verwalten kann. Ich hatte noch keinen Grund zu wechseln. Git hat mir bewundernswert gedient und hat mich bis jetzt noch nie im Stich gelassen. Da ich in erster Linie unter Linux arbeite, sind Probleme anderer Plattformen bedeutungslos.

note: type: Plain text
en: Also, I prefer C programs and bash scripts to executables such as Python scripts: there are fewer dependencies, and I'm addicted to fast running times.
de: Ich bevorzuge auch C-Programme und 'bash'-Skripte gegenüber Anwendungen wie zum Beispiel Python Skripts: Es gibt weniger Abhängigkeiten und ich bin süchtig nach schellen Ausführungszeiten.

note: type: Plain text
en: I did think about how Git could be improved, going so far as to write my own Git-like tool, but only as an academic exercise. Had I completed my project, I would have stayed with Git anyway, as the gains are too slight to justify using an oddball system.
de: Ich dachte darüber nach, wie Git verbessert werden könnte, ging sogar so weit, dass ich meine eigene Git-Ähnliche Anwendung schrieb, allerdings nur als akademische Übungen. Hätte ich mein Projekt fertig gestellt, wäre ich trotzdem bei Git geblieben, denn die Verbesserungen wären zu gering gewesen um den Einsatz eines Eigenbrödler-Systems zu rechtfertigen.

note: type: Plain text
en: Naturally, your needs and wants likely differ, and you may be better off with another system. Nonetheless, you can't go far wrong with Git.
de: Natürlich können deine Bedürfnisse und Wünsche ganz anders sein und vielleicht bist du mit einem anderen System besser dran. Wie auch immer, mit Git kannst du nicht viel falsch machen.
