Frage

Was ich verwendet:

  • Archiv auf den Servern (NY, IN, NC)
  • Auf meiner Entwicklung Maschine:
    • Ein Verzeichnis mit dem Namen ~ / work
    • Subdirectories namens ~ / work / NY / DevProject, ~ / work / NC / Projekt usw.
    • Nicht selten named Unterverzeichnisse ~ / work / NY / release / 1.3 / Projekt, ~ / work / NY / test / 1.3b / Projekt usw.
    • Manchmal Verzeichnisse mit dem Namen ~ / proxy / NY, ~ / proxy / NC usw., die eine Wegwerf lokalen Cache der Archive enthalten, um den Netzwerkverkehr zu reduzieren, für liest. Diese Verzeichnisse können jederzeit gelöscht werden.
  • Ein Kratzer Build, löscht ~ / work / ... und füllt ihn wieder aus dem Archiv

Aber mit DVCS die keinen Sinn

macht
  • Die Archive auf meiner Entwicklung Maschine, sondern ein nahezu Klon ist auf einem entfernten Rechner als Backup.
  • würde bedeuten, einen Kratzer Build tun zu löschen und neu zu ziehen das ganze Archiv, das scheint teuer.
  • Es sieht aus wie ich Verzeichnisse ~ / git / git.git / git genannt haben, die eine Menge von gits ist.

Haben die Menschen alles tun, ihre Entwicklung in ~ / git? Wenn Sie mit Entwickler, Test, Release arbeiten müssen, und Einmal-für-big-Client-Versionen, sind diese unter ~ / git, oder sie können an andere Stelle in den eigenen Bäumen sein? Wo Komponenten von Drittanbietern gehen Sie? Ist das zu groß für SO (brauche ich ein Buch lesen), oder es kann mit einem ASCII-Baumdiagramm beantwortet werden?

War es hilfreich?

Lösung

Aufgrund der Art und Weise Git arbeitet, Sie wirklich nicht wollen, Arbeitsverzeichnisse für Endlager platzieren (oder Zweig) in einem Verzeichnis unter das Arbeitsverzeichnis für ein anderes Repository. will es halten würde, den Inhalt Ihres Kind Verzeichnis, in die Eltern-Repository setzen.

Wenn Sie mit allen Zweigen gehen Geschwister Verzeichnisse zu sein, das würde gut funktionieren.

Was ich (unabhängig davon, mit Git, cvs, oder (ick) Source) neigen zu tun ist, ein Entwicklungsverzeichnis hat, und jedes Projekt, Zweig, etc ein Unterverzeichnis in dort sein.

Andere Tipps

Ich stimme mit T.E.D. Antwort, dass ich es vorziehen, jedes Projekt in einem Entwicklungsverzeichnis zu halten. Allerdings, wenn ich im Terminal bin an einem bash Angebote sucht ich einfach gerne sehen, drei Dinge:

  1. Welche Art von Repo ist dieses --- Git, Mercurial oder Subversion
  2. Wo ist die Pseudo-Zentral Repo gespeichert --- Github.com, Bitbucket.org, Google Code, etc.
  3. Wer hat die pseudo-Zentral Repo besitzt

Ich habe festgestellt, dass ich dies leicht tun können, die folgende Namenskonvention für meine Projekte unter Verwendung von:

~/development/project.whatwhere.who

Da es üblich ist, bei der Verwendung von Mercurial einem lokalen Projekt zu klonen, füge ich eine Schicht auf die Verzeichnisstruktur wie:

~/development/project.whatwhere.who/project/   # Initial clone from remote repo
~/development/project.whatwhere.who/project.local.blah_descriptor/  # Local hg clone

Die whatwhere Konvention, die ich benutze, ist wie folgt:

  • Github --- Git Repo gespeichert auf github.com
  • Gitorious --- Git Repo gespeichert auf gitorious.org
  • git --- Git Repo irgendwo an anderer Stelle gespeichert
  • gitsvn --- Subversion Repo mit gitsvn geklont woanders gespeichert
  • hgbit --- Mercurial Repo gespeichert auf bitbucket.org
  • hg.gcode --- Mercurial Repo gespeichert auf Google Code
  • hg --- Mercurial Repo gespeichert anderswo
  • svn.gcode --- Subversion Repo gespeichert auf Google Code
  • svn.sforge --- Subversion Repo gespeichert auf Sourceforge.net
  • svn.work ---- Subversion Repo unseres Unternehmens SVN-Server gespeichert sind
  • svn --- Subversion Repo irgendwo gespeichert

Die who Konvention ist einfach der Benutzername der gewünschten Person.

Im Folgenden sind einige Projektbeispiele, die alle in meinem ~/development/ Verzeichnis mit Wohnsitz:

fabric.github.bitprophet      # Bitprophet's fabric project cloned from Github
fabric.github.myusername      # My fork of the fabric project from Github
virtualenv.hgbit.ianb         # Ianb's virtualenv project cloned from Bitbucket
growl.hg.gcode                # Growl project cloned from Google code
ledgersmb.svn.sforge          # LedgerSMB project checked out from Sourceforge
coldfire.gitsvn               # Coldfire Subversion project at work cloned using git-svn
coldfire.svn                  # Coldfire Subversion project at work checked out with svn

Um Ihre Projekte zu organisieren, wenn Sie zu viele bekommen, können Sie eine Schicht unmittelbar unterhalb der ~/development Verzeichnis für die Organisation hinzufügen möchten. Zum Beispiel könnten Sie die folgenden Verzeichnisse haben:

~/development/workprojects/
~/development/opensrcprojects/
~/development/personalprojects/

Hinweis : Ich benutze normalerweise Git für DVCS, so dass diese Antwort ist höchstwahrscheinlich in dieser Richtung geneigt ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top