2016-12-15 2 views
1

Ich habe ähnliche Fragen gesehen, aber einige sind sehr alt und einige sind nicht ganz das, was ich suche oder habe keine Antworten. Ich habe Projekte in Eclipse unter /workspace/project1 und /workspace/project2. Sie sind Gradle-Projekte und sind voneinander abhängig. Ich habe auch /workspace/project3, die ein Gradle-Projekt ist, aber unabhängig.Workspace und Repo Pfade Anordnung für Eclipse und Git

Ich muss sie zu einem Git Repo auf Bitbucket "uploaden". Ich habe EGit installiert, um mir dabei zu helfen. Es fragt mich, wo sich mein Repo befindet und ich weiß nicht, was ich sagen soll. Sollte ich ein Repo pro Arbeitsbereich oder pro Gruppe abhängiger Projekte erstellen oder was?

Zum Beispiel, wenn ich mit der rechten Maustaste auf ein Projekt und drücke Team > Share > Git Ich komme zu diesem Dialog und ich weiß nicht, was ich dort ausfüllen sollte.

enter image description here

Antwort

1

Jedes (non-bare) Git-Repository verfügt über ein Arbeitsverzeichnis, in dem die Dateien des aktuell ausgecheckten Commits (HEAD) gespeichert sind.

Standardmäßig ist das Arbeitsverzeichnis das übergeordnete Element des Git-Metadatenverzeichnisses (.git), kann jedoch über eine config setting entfernt werden. Zum Beispiel: git config core.worktree /path/to/workdir

EGit kann nicht mit Repositories umgehen, die ein frei stehendes Arbeitsverzeichnis haben wie hier beantwortet: EGit working directory not under the local repository

Aber unabhängig von dieser Einschränkung können Sie das Arbeitsverzeichnis eines Git Repository auf mehrere Arbeitsbereiche aufgeteilt.

Daher sollten Sie die Projekte zum Arbeitsverzeichnis bewegen, diese Struktur zu ähneln:

~/git/my-repo/.git 
~/git/my-repo/project1 
~/git/my-repo/project2 
~/git/my-repo/project3 

Wenn project3 unabhängig von den anderen ist, kann es bleiben, wo sie ist, oder ganz woanders befinden.

Ein Wort der Vorsicht bei der Planung interdependenter Projekte, die über mehrere Git-Repositories verteilt sind. Dies macht die Git-Repositories auch effektiv voneinander abhängig, aber ohne Git ein Abhängigkeits-Management-Tool.

Um EGit die Projekte zu verschieben, geben Sie project1 in den Pfad im Repository Eingabefeld ein.

Häufig verwendete Builddateien wie der Master pom.xml oder entsprechende Gradle-Dateien befinden sich im Stammverzeichnis des Arbeitsverzeichnisses. Dies vereinfacht auch die Konfiguration beliebter Dienste wie Travis, Codeship und Freunde.

+0

Warum brauche ich ein my-repo Level? Gibt es etwas auf der gleichen Ebene wie in "Git"? – Mark

+0

'my-repo' ist das Verzeichnis, das Ihr Repository enthält und sollte entsprechend benannt werden. Sie können das 'git'-Verzeichnis weglassen, obwohl Sie normalerweise mehr als ein Repository haben und die meisten Leute alle Repositories in einem gemeinsamen übergeordneten Verzeichnis gruppieren. Aber das ist nur ein organisatorischer Aspekt. –

+0

Also hier angenommen, Projekte 1 bis 3 sind alle in der gleichen Repo obwohl 3 unabhängig ist und 1 und 2 sind abhängig? – Mark

1

Ein paar Dinge zu verstehen/zu beachten:

  • Ein Eclipse-Workspace ist ein logischer Container von Projekten, die nicht unbedingt eine physische Behälter. Der Ordner, in dem sich eine Arbeitsmappe befindet, kann auch ein physischer Container mit Projekten sein, dh die Projektdateien können sich in einem Ordner unter dem Arbeitsbereichsordner befinden (dies ist der Standardspeicherort, wenn Sie ein neues Projekt in Eclipse erstellen). Aber das ist keine Voraussetzung; Ein Projekt, das in einem Arbeitsbereich enthalten ist, kann seinen Inhalt (seine Dateien) an einem beliebigen Speicherort in Ihrem Dateisystem haben.
  • In den meisten Entwickler-Setups befinden sich die lokalen Git-Repos an einem "Standard" -Ordner im Home-Verzeichnis des Benutzers, nämlich %USER_HOME%/git/name-of-repo. Auch dies ist keine schwierige Anforderung. Benutzer haben die Möglichkeit, Repos an jedem beliebigen Ort zu klonen oder zu erstellen.

So Eclipse eGit zeigt Ihnen diese 2 Achsen der Flexibilität. Sie werden gefragt, wo Sie Ihr lokales Git Repo erstellen möchten, das sich normalerweise von Ihrem Arbeitsbereich-Ordner unterscheidet. Verwenden Sie die Schaltfläche Erstellen, um es zu erstellen. Ich denke, zu diesem Zeitpunkt wird es den Pfad im Repository Feld automatisch ausfüllen. Wenn dies nicht der Fall ist, können Sie diesen Pfad beliebig benennen (normalerweise ist es derselbe wie der Projektname, aber nicht unbedingt).

Am Ende von allem haben Sie Ihren Arbeitsbereich (logischer Container) sowie ein lokales Git Repo, welches der physische Ort des Projektinhalts sein wird.

+0

Also werden die Projekte * nach diesem Vorgang * (nicht kopiert) aus dem Arbeitsbereich in das Git Repo Verzeichnis verschoben? Ich möchte nur sicherstellen, dass ich Situationen meide, in denen ich 2 Kopien meines Codes habe, wie ich es in anderen Fragen gesehen habe. – Mark

+0

Ehrlich gesagt bin ich nicht sicher, ob es die Dateien verschieben wird oder nicht. Ich würde einfach versuchen und dann beide Standorte inspizieren, um zu sehen, was die Situation ist. –

+0

Wenn Sie interessiert sind: Es hat das Projekt aus meinem Arbeitsbereich und in das Git Repo verschoben. Danke für die Hilfe. – Mark

Verwandte Themen