Ok, nachdem ich diesen Beitrag von PJ Hyett gesehen habe , habe ich beschlossen, bis zum Ende zu springen und mit Git zu gehen .
Was ich also brauche, ist eine praktische Anleitung für Anfänger zu Git. "Anfänger" ist definiert als jemand, der weiß, wie man mit seinem Compiler umgeht, bis zu einem gewissen Grad versteht, was ein Makefile ist, und die Quellcodeverwaltung berührt hat, ohne es sehr gut zu verstehen.
"Praktisch" definiert als diese Person, die nicht sehr detailliert darauf eingehen möchte, was Git im Hintergrund tut, und sich nicht einmal darum kümmert (oder weiß), dass es verteilt ist. Ihre Antworten könnten auf die Möglichkeiten hinweisen, aber versuchen Sie, den Anfänger anzusprechen, der ein 'Haupt'-Repository auf einem' Server 'behalten möchte, der gesichert und sicher ist, und sein lokales Repository lediglich als' Client'-Ressource zu behandeln.
Damit:
Installation / Einrichtung
- So installieren Sie Git
- Wie richtet man Git ein? Versuchen Sie, Linux, Windows, Mac und die Denkweise von Client / Server zu behandeln.
- Wie erstellen Sie ein neues Projekt / Repository?
- Wie konfigurieren Sie es so, dass Dateien (.obj, .user usw.) ignoriert werden, die nicht wirklich Teil der Codebasis sind?
Mit dem Code arbeiten
- Wie bekommt man den neuesten Code?
- Wie checkt man Code aus?
- Wie übernehmen Sie Änderungen?
- Wie sehen Sie, was nicht festgeschrieben ist oder welchen Status Ihre aktuelle Codebasis hat?
- Wie zerstören Sie unerwünschte Commits?
- Wie vergleichen Sie zwei Revisionen einer Datei oder Ihre aktuelle Datei und eine vorherige Revision?
- Wie sehen Sie den Verlauf von Revisionen einer Datei?
- Wie gehen Sie mit Binärdateien um (z. B. Visio-Dokumente oder Compiler-Umgebungen)?
- Wie füge ich Dateien zusammen, die gleichzeitig geändert wurden?
- Wie können Sie ein Commit rückgängig machen (zurücksetzen oder zurücksetzen)?
Tagging, Verzweigung, Releases, Baselines
- Wie können Sie einen bestimmten Satz von Revisionen für einen bestimmten Satz von Dateien markieren, freigeben oder freigeben, damit Sie diese später jederzeit abrufen können?
- Wie zieht man eine bestimmte "Veröffentlichung"?
- Wie verzweigen Sie?
- Wie verschmelzen Sie Zweige?
- Wie lösen Sie Konflikte und schließen die Zusammenführung ab?
- Wie verschmelzen Sie Teile eines Zweigs mit einem anderen Zweig?
- Was ist Rebasing?
- Wie verfolge ich entfernte Zweige?
- Wie kann ich einen Zweig in einem Remote-Repository erstellen?
- Wie lösche ich einen Zweig in einem Remote-Repository?
- Beispiele für Git-Workflows
Andere
- Beschreiben und verknüpfen Sie eine gute GUI, ein IDE-Plugin usw., die Git zu einer Ressource ohne Befehlszeile macht. Führen Sie jedoch die Einschränkungen sowie die Vorteile auf.
- msysgit - Plattformübergreifend, in Git enthalten
- gitk - Plattformübergreifender Verlaufs-Viewer, in Git enthalten
- gitnub - Mac OS X.
- gitx - Mac OS X-Verlaufsanzeige
- smartgit - Plattformübergreifend, kommerziell, Beta
- tig - console GUI für Linux
- qgit - GUI für Windows, Linux
- Git Extensions - Paket für Windows, enthält eine benutzerfreundliche Benutzeroberfläche
- Gibt es noch andere häufige Aufgaben, die ein Anfänger kennen sollte?
- Wie arbeite ich effektiv mit einem Subversion-Repository, das als Quellcodeverwaltungsquelle festgelegt ist?
Andere Git Anfänger Referenzen
- Git-Anleitung
- Git Buch
- Git Magie
- Gitcasts
- GitHub-Anleitungen
- Git Tutorial
- Progit - Buch von Scott Chacon
- Git - SVN Crashkurs
- Git von unten nach oben
- Git bereit
- gitref.org
- Git visuelles Cheatsheet
Eintauchen in Git
Ich werde die Einträge von Zeit zu Zeit durchgehen und sie 'aufräumen', damit sie ein einheitliches Erscheinungsbild haben und es einfach ist, die Liste zu scannen - folgen Sie einfach einem "Header - kurze Erklärung - Liste der Anweisungen - Fallstricke und extra info "Vorlage. Ich werde auch auf die Einträge aus der obigen Aufzählungsliste verweisen, damit sie später leicht gefunden werden können.
quelle
rm -rf .git
die Datenbank von git löschen.git status
um sicherzustellen, dass Sie sich in einem Repository befinden: Dies hat ein Problem: Wenn Sie die Umgebungsvariable $ GIT_DIR in Ihrer aktuellen Shell festgelegt haben, ignoriert git Ihren aktuellen Speicherort und verwendet das Repository unter $ GIT_DIR. Ich sollte wissen, dass ich gestern eine Stunde verloren habe.GUIs für Git
Git GUI
In git enthalten - Über
git gui
die Befehlszeile ausführen und vom Windows- Installationsprogramm msysgit zum Startmenü hinzufügen.Git GUI kann einen Großteil dessen tun, was Sie mit Git tun müssten. Einschließlich Phasenänderungen, Konfigurieren von Git und Repositorys, Push-Änderungen, Erstellen / Auschecken / Löschen von Zweigen, Zusammenführen und vielen anderen Dingen.
Eine meiner Lieblingsfunktionen sind die Verknüpfungen "Stage Line" und "Stage Hunk" im Kontextmenü, mit denen Sie bestimmte Teile einer Datei festschreiben können. Sie können das gleiche über erreichen
git add -i
, aber ich finde es einfacher zu bedienen.Es ist nicht die schönste Anwendung, aber es funktioniert auf fast allen Plattformen (basierend auf Tcl / Tk)
Screenshots | ein Screencast
GitK
Auch mit git enthalten. Es ist ein Git-Verlaufs-Viewer und ermöglicht die Visualisierung des Verlaufs eines Repositorys (einschließlich der Zweige, wenn diese erstellt und zusammengeführt werden). Sie können Commits anzeigen und suchen.
Passt gut zu Git-GUI.
Gitnub
Mac OS X-Anwendung. Hauptsächlich ein Äquivalent von
git log
, hat aber eine gewisse Integration mit Github (wie die "Netzwerkansicht").Sieht hübsch aus und passt zu Mac OS X. Sie können Repositorys durchsuchen. Die größte Kritik an Gitnub ist, dass es die Geschichte linear zeigt (jeweils ein Zweig) - es visualisiert nicht das Verzweigen und Zusammenführen, was bei git wichtig sein kann, obwohl dies eine geplante Verbesserung ist.
Links herunterladen, Protokoll und Screenshots ändern | Git-Repository
GitX
Beabsichtigt, ein "Gitk-Klon für OS X" zu sein.
Es kann den nichtlinearen Verzweigungsverlauf visualisieren, Commits ausführen, Commits anzeigen und suchen und einige andere nützliche Funktionen wie das "Quicklook" jeder Datei in jeder Revision (Drücken Sie die Leertaste in der Dateilistenansicht) und das Exportieren einer beliebigen Datei (per Drag & Drop).
Es ist weitaus besser in OS X integriert als
git-gui
/gitk
und selbst bei außergewöhnlich großen Repositorys schnell und stabil.Das ursprüngliche Git-Repository pieter wurde kürzlich nicht aktualisiert (über ein Jahr zum Zeitpunkt des Schreibens). Ein aktiver gepflegter Zweig ist bei Brotherbard / Gitx verfügbar - er fügt hinzu: "Seitenleiste, Abrufen, Ziehen, Schieben, Remote hinzufügen, Zusammenführen, Cherry-Pick, Rebase, Klonen, Klonen zu".
Herunterladen | Screenshots | Git Repository | Brotherbard Gabel | Laullon Gabel
SmartGit
Von der Homepage:
Sie können es von ihrer Website herunterladen .
Herunterladen
TortoiseGit
TortoiseSVN Git-Version für Windows-Benutzer.
Herunterladen
QGit
Herunterladen
gitg
Eigenschaften
Download: Veröffentlichungen oder Quelle
Gitbox
Herunterladen
Gity
Die Gity-Website enthält nicht viele Informationen, aber aus den Screenshots geht hervor, dass es sich um eine funktionsreiche Open-Source-OS X-Git-GUI handelt.
Download oder Quelle
Meld
Downloads
Katana
Eine Git-GUI für OSX von Steve Dekorte.
Kostenlos für 1 Repository, 25 US-Dollar für mehr.
Herunterladen
Sprout (früher GitMac)
Konzentriert sich darauf, Git benutzerfreundlich zu machen. Bietet eine native Cocoa-Benutzeroberfläche (Mac-ähnlich), schnelles Durchsuchen des Repositorys, Klonen, Push / Pull, Verzweigen / Zusammenführen, visuelle Unterschiede, Remote-Verzweigungen, einfachen Zugriff auf das Terminal und vieles mehr.
Durch die intuitive und einfache Ausführung der am häufigsten verwendeten Git-Aktionen macht Sprout (ehemals GitMac) Git benutzerfreundlich. Sprout ist mit den meisten Git-Workflows kompatibel und eignet sich hervorragend für Designer und Entwickler, für die Zusammenarbeit im Team sowie für fortgeschrittene und unerfahrene Benutzer.
Herunterladen | Webseite
Turm
Eine funktionsreiche Git-GUI für Mac OSX. Kostenlose 30-Tage-Testversion, 59 USD für eine Einzelbenutzerlizenz.
Herunterladen | Webseite
EGit
Herunterladen | Webseite
Git-Erweiterungen
Open Source für Windows - Installiert alles, was Sie für die Arbeit mit Git benötigen, in einem einzigen, benutzerfreundlichen Paket.
Herunterladen
Vielen Dank an dbr für die Ausarbeitung des Git-GUI-Materials.
SourceTree
SourceTree ist ein kostenloser Mac-Client für Git, Mercurial und SVN. Es wurde von Atlassian, den Leuten hinter BitBucket, entwickelt und scheint mit jedem VC-System gleich gut zu funktionieren. So können Sie ein einziges Tool für alle Ihre Projekte beherrschen, unabhängig davon, ob diese versioniert sind. Mit vielen Funktionen und KOSTENLOS.
Herunterladen | Webseite
quelle
Nun, trotz der Tatsache, dass Sie darum gebeten haben, dass wir nicht "einfach" auf andere Ressourcen verlinken, ist es ziemlich dumm, wenn es bereits eine Community-gewachsene (und wachsende) Ressource gibt, die wirklich ziemlich gut ist: das Git Community Book . Im Ernst, diese über 20 Fragen in einer Frage werden alles andere als prägnant und konsistent sein. Das Git Community Book ist sowohl als HTML als auch als PDF verfügbar und beantwortet viele Ihrer Fragen mit klaren, gut formatierten und von Experten geprüften Antworten und in einem Format, mit dem Sie direkt zu Ihrem Problem springen können.
Leider, wenn mein Beitrag Sie wirklich stört, werde ich ihn löschen. Sag es einfach.
quelle
So konfigurieren Sie es, um Dateien zu ignorieren:
Die Möglichkeit, dass git Dateien ignoriert, die Sie nicht verfolgen möchten, ist sehr nützlich.
Um eine Datei oder einen Satz von Dateien zu ignorieren, geben Sie ein Muster an. Die Mustersyntax für Git ist ziemlich einfach, aber leistungsstark. Es gilt für alle drei verschiedenen Dateien, die ich unten erwähnen werde.
Tolles Beispiel aus der Manpage von gitignore (5) :
Im Allgemeinen gibt es drei verschiedene Möglichkeiten, nicht verfolgte Dateien zu ignorieren.
1) Ignorieren Sie für alle Benutzer des Repositorys:
Fügen Sie dem Stammverzeichnis Ihrer Arbeitskopie eine Datei mit dem Namen .gitignore hinzu .
Bearbeiten Sie .gitignore so , dass es Ihren Einstellungen entspricht , für die Dateien ignoriert werden sollen / sollten.
und verpflichten Sie sich, wenn Sie fertig sind.
2) Ignorieren Sie nur Ihre Kopie des Repositorys:
Fügen Sie die Datei $ GIT_DIR / info / exclude in Ihrer Arbeitskopie mit Ihren bevorzugten Mustern hinzu / bearbeiten Sie sie.
Beispiel: Meine Arbeitskopie ist ~ / src / project1, also würde ich ~ / src / project1 / .git / info / exclude bearbeiten
Du bist fertig!
3) Ignorieren Sie in allen Situationen auf Ihrem System:
Globale Ignoriermuster für Ihr System können in einer Datei mit dem Namen "Beliebig" gespeichert werden.
Meins heißt ~ / .gitglobalignore
Ich kann git dann über diese Datei informieren, indem ich meine ~ / .gitconfig- Datei mit der folgenden Zeile bearbeite :
Du bist fertig!
Ich finde die gitignore- Manpage die beste Quelle für weitere Informationen.
quelle
Wie können Sie einen bestimmten Satz von Revisionen "markieren"?
Wie können Sie einen bestimmten Satz von Revisionen für einen bestimmten Satz von Dateien markieren, freigeben oder freigeben, damit Sie diese später jederzeit abrufen können?
Verwenden des
git tag
Befehls.Um die aktuelle Revision einfach zu "markieren", würden Sie einfach ausführen.
Um die aktuellen Tags aufzulisten, führen Sie einfach
git tag
ohne Argumente aus oder-l
(Kleinbuchstabe L):Um ein Tag zu löschen, verwenden Sie das
-d
Flag:Um ein bestimmtes (vorheriges) Commit zu markieren, tun Sie einfach ..
Zum Beispiel:
Hinweis: Standardmäßig erstellt git ein "leichtes" Tag (im Grunde ein Verweis auf eine bestimmte Revision). Der "richtige" Weg ist die Verwendung der
-a
Flagge. Dadurch wird Ihr Editor gestartet, der nach einer Tag-Nachricht fragt (identisch mit der Anfrage nach einer Commit-Nachricht. Sie können auch das-m
Flag verwenden, um die Tag-Nachricht in der Befehlszeile bereitzustellen). Durch die Verwendung eines mit Anmerkungen versehenen Tags wird ein Objekt mit eigener ID, Datum, Tagger (Autor) und optional einer GPG-Signatur (unter Verwendung des-s
Tags) erstellt. Weitere Informationen hierzu finden Sie in diesem BeitragUm die Tags mit Anmerkungen aufzulisten, verwenden Sie das
-n1
Flag, um 1 Zeile jeder Tag-Nachricht anzuzeigen (-n245
um die ersten 245 Zeilen jeder Anmerkung anzuzeigen usw.):Weitere Informationen finden Sie auf der Handbuchseite zu git-tag (1)
quelle
git tag tagname revision_SHA1
Workflow-Beispiel mit GIT.
Git ist extrem flexibel und passt sich jedem Workflow an. Wenn Sie jedoch einen bestimmten Workflow nicht erzwingen, kann dies den negativen Effekt haben, dass Sie nur schwer verstehen, was Sie mit Git über den linearen "Backup" -Workflow hinaus tun können und wie nützlich Verzweigungen beispielsweise sein können .
Dieser Blog-Beitrag erklärt einen sehr einfachen, aber effektiven Workflow, der mit git sehr einfach einzurichten ist.
Zitat aus dem Blog-Beitrag: Wir betrachten origin / master als den Hauptzweig, in dem der Quellcode von HEAD immer einen produktionsbereiten Zustand widerspiegelt:
Der Workflow ist populär genug geworden, um ein Projekt zu erstellen , das diesen Workflow implementiert: Git-Flow
Schöne Darstellung eines einfachen Workflows, in dem Sie alle Änderungen in der Entwicklung vornehmen und nur dann auf Master drücken, wenn sich der Code in einem Produktionszustand befindet:
Angenommen, Sie möchten an einer neuen Funktion arbeiten oder ein Modul umgestalten. Sie könnten einen neuen Zweig erstellen, was wir als "Feature" -Zweig bezeichnen könnten. Dies kann einige Zeit dauern und möglicherweise Code beschädigen. Sobald Ihr Feature "stabil genug" ist und "näher" an die Produktion heranrücken soll, führen Sie Ihren Feature-Zweig in die Entwicklung ein. Wenn alle Fehler nach dem Zusammenführen behoben sind und Ihr Code alle Tests bestanden hat, übertragen Sie Ihre Änderungen in den Master.
Während dieses gesamten Vorgangs finden Sie einen schrecklichen Sicherheitsfehler, der sofort behoben werden muss. Sie könnten einen Zweig namens Hotfixes haben, der Änderungen vornimmt, die schneller wieder in die Produktion übernommen werden als der normale "Entwicklungs" -Zweig.
Hier haben Sie eine Illustration, wie dieser Workflow für Funktion / Hotfix / Entwicklung / Produktion aussehen könnte (gut erklärt im Blog-Beitrag, und ich wiederhole, der Blog-Beitrag erklärt den gesamten Prozess viel detaillierter und viel besser als ich .
quelle
Hier ist eine Kopie von PJ Hyetts Beitrag, da er nicht mehr verfügbar ist:
quelle
./foo
aber für den get-Klon ist kein Pfad angegeben. Wohin checken Sie aus?So installieren Sie Git
Unter Windows:
Installieren Sie msysgit
Es gibt mehrere Downloads:
Dadurch wird auch eine Cygwin-Bash-Shell installiert, sodass Sie die
git
in einer schöneren Shell (als cmd.exe) verwenden können. Dazu gehört auch git-gui (über dengit gui
Befehl oder dasStart > All Programs > Git
Menü zugänglich ).Mac OS X
Verwenden Sie das git-osx-Installationsprogramm oder installieren Sie es auch von der Quelle
Über einen Paketmanager
Installieren Sie
git
mit Ihrem nativen Paketmanager. Zum Beispiel unter Debian (oder Ubuntu):Oder unter Mac OS X über MacPorts :
… Oder fink:
… Oder Homebrew :
Auf Red Hat-basierten Distributionen wie Fedora:
In Cygwin finden Sie das Git-Paket im Abschnitt "Entwickeln"
Aus der Quelle (Mac OS X / Linux / BSD / etc.)
Wenn Sie unter Mac OS X die Entwicklertools installiert haben, können Sie Git sehr einfach aus dem Quellcode kompilieren. Laden Sie die neueste Version von Git als
.tar.bz
oder.tar.gz
von http://git-scm.com/ herunter und extrahieren Sie sie (doppelklicken Sie im Finder).Unter Linux / BSD / etc. es sollte ähnlich sein. In Debian (und Ubuntu) müssen Sie das
build-essential
Paket beispielsweise über installierenapt
.Dann in einem Terminal,
cd
wo Sie die Dateien extrahiert haben (Laufencd ~/Downloads/git*/
sollte funktionieren), und dann ausführen ..Dadurch wird Git an der Standardposition installiert (
/usr/local
- alsogit
in/usr/local/bin/git
)Sie werden aufgefordert, Ihr Passwort (für
sudo
) einzugeben , damit es in das/usr/local/
Verzeichnis schreiben kann, auf das nur der "root" -Benutzer zugreifen kann, sodass sudo erforderlich ist!Wenn Sie es an einem anderen Ort installieren möchten (damit die Dateien von Git nicht mit anderen Tools gemischt werden), verwenden Sie
--prefix
den Befehl configure:Dadurch wird die
git
Binärdatei in installiert./usr/local/bin/gitpath/bin/git
Sie müssen dies also nicht jedes Mal eingeben,$PATH
indem Sie die folgende Zeile in Ihre hinzufügen~/.profile
:Wenn Sie keinen Sudo-Zugriff haben, können Sie ihn verwenden
--prefix=/Users/myusername/bin
und in Ihrem Home-Verzeichnis installieren. Denken Sie daran , hinzufügen~/bin/
zu$PATH
Das Skript x-git-update-to-latest-version automatisiert vieles davon:
quelle
yum install git
. Für den GUI-Laufyum install git-gui
.sudo port install git-core+bash_completion+doc
fink self-update
sollte helfenGit Reset
Angenommen, Sie ziehen, fügen es in Ihren Code ein und entscheiden, dass es Ihnen nicht gefällt. Verwenden Sie git-log oder tig und suchen Sie den Hash, zu dem Sie zurückkehren möchten (wahrscheinlich Ihr letztes Commit vor dem Pull / Merge). Kopieren Sie den Hash und führen Sie Folgendes aus:
Anstelle des Hashs können Sie HEAD ^ als Verknüpfung für das vorherige Commit verwenden.
quelle
git reset
sollte versehentlich die Bühne verlassengit add
Wie richten Sie ein freigegebenes Team-Repository ein?
Hier wird beschrieben , wie Sie ein normales Repository einrichten. Wie können Sie jedoch ein Team-Repository einrichten, das jeder von und nach ziehen und verschieben kann?
Verwenden eines gemeinsam genutzten NFS-Dateisystems
Angenommen, Ihr Team verfügt beispielsweise bereits über eine gemeinsame Gruppenmitgliedschaft, die verwendet werden kann.
Um dieses Repository zu verwenden, starten Sie am einfachsten von einem lokalen Repository, das Sie bereits verwendet haben:
Andere können dies jetzt klonen und anfangen zu arbeiten:
Verwenden von SSH
Richten Sie ein Benutzerkonto auf dem Zielserver ein. Ob Sie ein Konto ohne Kennwort, ein Konto mit Kennwort oder eine Verwendung verwenden,
authorized_keys
hängt wirklich von Ihrer erforderlichen Sicherheitsstufe ab. Weitere Informationen finden Sie unter Konfigurieren von Git über SSH .Wenn alle Entwickler dasselbe Konto für den Zugriff auf dieses freigegebene Repository verwenden, müssen Sie die
--shared
oben beschriebene Option nicht verwenden .Nachdem Sie das Repository auf die gleiche Weise wie oben gestartet haben, führen Sie den ersten Push wie folgt aus:
Sehen Sie die Ähnlichkeit mit dem oben genannten? Das einzige, was zusätzlich passieren kann, ist, dass SSH nach einem Passwort fragt, wenn das Konto ein Passwort hat. Wenn Sie diese Eingabeaufforderung für ein Konto ohne Kennwort erhalten, wurde der SSH-Server wahrscheinlich deaktiviert
PermitEmptyPasswords
.Das Klonen sieht jetzt so aus:
quelle
git status
ist dein Freund, benutze es oft. Gut für die Beantwortung von Fragen wie:Im Gegensatz zu , sagen wir
svn status
,git status
läuft der fast sofort auch bei großen Projekten. Ich fand es oft beruhigend, als ich lernte, Git häufig zu benutzen, um sicherzustellen, dass mein mentales Modell von dem, was vor sich ging, korrekt war. Jetzt benutze ich es meistens nur, um mich daran zu erinnern, was ich seit meinem letzten Commit geändert habe.Offensichtlich ist es viel nützlicher, wenn Ihr .gitignore ordnungsgemäß konfiguriert ist.
quelle
Änderungen festschreiben
Sobald Sie eine Datei bearbeitet haben, müssen Sie Ihre Änderungen an git übergeben. Wenn Sie diesen Befehl ausführen, werden Sie nach einer Festschreibungsnachricht gefragt. Dies ist nur ein einfacher Text, der allen mitteilt, was Sie geändert haben.
Übernimmt die Datei main.c im Verzeichnis ./source/
schreibt alle geänderten Dateien fest (aber keine neuen Dateien, diese müssen mit git-add zum Index hinzugefügt werden). Wenn Sie nur bestimmte Dateien festschreiben möchten, müssen Sie diese zuerst mit git-add und dann ohne das Flag -a festschreiben.
Durch das Festschreiben wird nur Ihr lokales Repository geändert, nicht jedoch die Remote-Repositorys. Wenn Sie die Commits an das Remote-Repository senden möchten, müssen Sie einen Push ausführen.
Für jemanden, der von CVS oder SVN kommt, ist dies eine Änderung, da das Festschreiben an das zentrale Repository jetzt zwei Schritte erfordert.
quelle
Wie verzweigen Sie?
Der Standardzweig in einem Git-Repository wird aufgerufen
master
.Um einen neuen Zweig zu erstellen, verwenden Sie
Anzeigen einer Liste aller Zweige im aktuellen Repository-Typ
Wenn Sie zu einem anderen Zweig wechseln möchten, können Sie verwenden
So erstellen Sie einen neuen Zweig und wechseln in einem Schritt zu diesem
Verwenden Sie zum Löschen eines Zweigs
Führen Sie die folgenden Schritte aus, um einen Zweig mit den Änderungen des aktuellen Zweigs zu erstellen
quelle
Den neuesten Code erhalten
Das deckt so ziemlich jeden Fall ab, in dem die neueste Kopie des Codes aus dem Remote-Repository abgerufen wird.
quelle
Das kostenlose Pro Git- Buch ist definitiv mein Favorit, besonders für Anfänger.
quelle
Git Magic ist alles, was Sie jemals brauchen werden. Garantiert oder Ihr Geld zurück!
quelle
Wie verschmelzen Sie Zweige?
Wenn Sie einen Zweig zusammenführen möchten (z. B.
master
bisrelease
), stellen Sie sicher, dass Ihr aktueller Zweig der Zielzweig ist, in den Sie zusammenführen möchten (verwenden Sie Ihren aktuellen Zweiggit branch
odergit status
sehen Sie ihn an).Dann benutze
(Wo
master
ist der Name des Zweigs, den Sie mit dem aktuellen Zweig zusammenführen möchten?)Wenn es Konflikte gibt, können Sie verwenden
Um anstehende Konflikte zu sehen, müssen Sie sie lösen.
quelle
Ich habe auch festgestellt, dass Git Internals sehr nützlich sind. Es wurde von Scott Chacon (Autor von Pro Git und Betreuer des Git Community Book) geschrieben. Was ich an Git Internals mag, ist, dass es sich zuerst auf die Konzepte und dann auf die Befehle konzentriert. Da es sich um ~ 100 kleine Seiten handelt, ist es schnell verdaulich.
quelle
Wie sehen Sie den Verlauf von Revisionen einer Datei?
quelle
So verfolgen Sie entfernte Zweige
Angenommen, es gibt ein Remote-Repository, aus dem Sie Ihr lokales Repository geklont haben, und unter der Annahme, dass sich in diesem Remote-Repository ein Zweig mit dem Namen "some_branch" befindet, können Sie dies lokal verfolgen:
quelle
git remote show REMOTENAME
Ein wirklich gutes Papier, um zu verstehen, wie Git funktioniert, ist The Git Parable . Sehr zu empfehlen!
quelle
Wie vergleichen Sie zwei Revisionen einer Datei oder Ihre aktuelle Datei und eine vorherige Revision?
Vergleichsbefehl ist
git diff
.So vergleichen Sie 2 Revisionen einer Datei:
Das unterscheidet commit1 von commit2; Wenn Sie die Reihenfolge ändern, werden die Dateien umgekehrt angezeigt, was möglicherweise nicht Ihren Erwartungen entspricht ...
So vergleichen Sie die aktuell bereitgestellte Datei mit dem Repository:
So vergleichen Sie die aktuelle nicht bereitgestellte Datei mit dem Repository:
quelle
Warum noch ein Howto? Es gibt wirklich gute im Netz, wie die Git-Anleitung, die perfekt ist, um zu beginnen. Es hat gute Links einschließlich des Git-Buches zu dem man beitragen kann (gehostet auf Git-Hub) und das perfekt für diese kollektive Aufgabe ist.
Beim Stackoverflow würde ich es wirklich vorziehen, deine Lieblingstricks zu sehen!
Meins, das ich erst kürzlich entdeckt habe, ist
git stash
hier erklärt , damit Sie Ihren aktuellen Job speichern und zu einer anderen Niederlassung wechseln könnenBEARBEITEN: Wie im vorherigen Beitrag werde ich diese Antwort löschen, wenn Sie das Stackoverlow-Format mit Beiträgen als Wiki wirklich bevorzugen
quelle
Konsolen-Benutzeroberfläche - Tig
Installation:
Verwendungszweck
Geben Sie in einem Git-Repo 'tig' ein, um ein interaktives Protokoll anzuzeigen, und drücken Sie in einem Protokoll die Eingabetaste, um weitere Informationen dazu anzuzeigen. h für Hilfe, in der die Grundfunktionen aufgeführt sind.
Wissenswertes
"Tig" ist "Git" rückwärts.
quelle
Wie kann ich einen Zweig in einem Remote-Repository erstellen?
Angenommen, Sie haben Ihr Remote-Repository von einem einzelnen Remote-Repository geklont.
quelle
git push origin name_of_branch
und der Zweig wird bereits in Ihrer Fernbedienung erstelltname_of_branch
ist der lokale Name, der zweite ist der (gewünschte) Name des Remote-Zweigs.local_name_of_branch:remote_name_of_branch
Dies kann der Fall sein, wenn Sie möchten, dass sich die Namen unterscheiden. Wenn Sie möchten, dass sie gleich sind, müssen Sie sie immer noch so angeben, dass dieser b / c-Git nicht davon ausgeht, dass der Name derselbe sein soll, es sei denn, Sie sagen es (es gibt auch andere Methoden, um dies zu tun). jedoch)Ich habe mit dem offiziellen Git-Tutorial begonnen . Ich denke, es ist praktisch genug für Anfänger (ich war und bin nach Ihrer Definition ein Anfänger! Ich verstehe kaum Makefiles, ich habe nur ein bisschen mit Apache Subversion gespielt usw.).
quelle
Wie lösche ich einen Zweig in einem Remote-Repository?
Führen Sie einen Push in Ihrer Fernbedienung
:
vor dem Namen des Zweigs durchDies ist
origin
der Name Ihrer Fernbedienung undmybranchname
der Name des Zweigs, der gelöscht werden sollhttp://help.github.com/remotes/
quelle
Änderungen drücken und ziehen
Auf vereinfachte Weise einfach tun
git push
undgit pull
. Änderungen werden zusammengeführt und wenn es einen Konflikt gibt, werden Sie von git informiert und können ihn manuell lösen.Wenn Sie zum ersten Mal in ein Remote-Repository pushen, müssen Sie einen
git push origin master
(Master ist der Master-Zweig) ausführen. Von da an machst du einfach dasgit push
.Tags mit schieben
git push --tags
.quelle
Code auschecken
Gehen Sie zuerst in ein leeres Verzeichnis, verwenden Sie "git init", um es zu einem Repository zu machen, und klonen Sie dann das Remote-Repo in Ihr eigenes.
Wo immer Sie anfänglich klonen, wird standardmäßig "git pull" abgerufen.
quelle
Gity: http://macendeavour.com/gity
quelle