Git in Visual Studio - vorhandenes Projekt hinzufügen?

104

Ich versuche, ein vorhandenes Projekt unter Git-Quellcodeverwaltung zu stellen, bin mir jedoch in einigen Punkten nicht sicher.

Ich habe online ein Git-Konto für den Team Foundation Service eingerichtet.

Ich habe derzeit eine ASP.NET MVC 4-Lösung - in meinem Projektordner. Ich habe lokal ein Git-Repository erstellt (derzeit ein leerer Ordner). Sollte dies nur mein aktueller Anwendungsordner in Projekten sein? Oder muss es eine Kopie sein?

Wie bekomme ich meine vorhandenen Dateien in das Online-Repository?

Niico
quelle
Sie erwähnen "Git in Visual Studio" - verwenden Sie die Git-Tools in Visual Studio 2012?
Edward Thomson
Ich glaube, dies wurde jetzt in die Version 2015 unter Team Explorer eingebettet. Ich bin darauf gestoßen, wo ich nicht 'veröffentlichen' konnte (vs's erster Push nach init), also werde ich eine Antwort mit Anweisungen zum Hinzufügen des URI hinzufügen
mschr

Antworten:

147

Ich habe nach einer ähnlichen Frage gesucht. So habe ich es geschafft, ein Git-Repository für eine vorhandene Projektdatei zu initialisieren (Haftungsausschluss: Dies erfolgt in Visual Studio 2013 Express ohne Team Foundation Server-Setup):

  1. Öffnen Sie das Projekt in Visual Studio.
  2. Gehen Sie zum Menü DateiZur Quellcodeverwaltung hinzufügen .

Das hat es für mich getan - vorausgesetzt, Git ist für Sie eingerichtet, können Sie zum Menü AnsichtTeam Explorer gehen , dann auf das Repository für Ihre Projektdatei doppelklicken und Ihre erste Festschreibung vornehmen (stellen Sie sicher, dass Sie alle gewünschten Dateien hinzufügen ).

Luftbär
quelle
7
Dies erspart Ihnen auch den Aufwand, "eine vernünftige Gitignore-Datei bereitzustellen", da Visual Studio sich um dieses Detail für Sie kümmert. Zwischen einem manuellen Git-Init und diesem ist dies von nun an meine bevorzugte Methode.
MrCC
Wenn Sie das Projekt auswählen möchten, in das diese neue Lösung aufgenommen wird, können Sie auf die Schaltfläche Synchronisieren klicken. Klicken Sie dann auf Veröffentlichen, um Repo zu erstellen. Klicken Sie dann auf Erweiterte Lösung und wählen Sie das Projekt aus, zu dem Sie diese neue Lösung hinzufügen möchten
Wenn
Hinweis: Dies hat bei mir nicht funktioniert, da ich bereits eine gemeinsam genutzte Bibliothek hinzugefügt habe, die in einem anderen Repository enthalten war. Ich musste das freigegebene Projekt entfernen, bevor die Option "Zur Quellcodeverwaltung hinzufügen" verfügbar wurde.
Neil B
2
Sie sollten dies zum Team Explorer-Fenster hinzufügen.
Realität
66
  1. Zunächst müssen Sie die Git-Software auf Ihrem lokalen Entwicklungscomputer installieren, z . B. Git Extensions .
  2. Dann git initim Lösungsordner. Dies ist der richtige Weg, um einen Repository-Ordner zu erstellen.
  3. Richten Sie eine vernünftige .gitignoreDatei ein, damit Sie keine unnötigen Dinge festschreiben.
  4. git add
  5. git commit
  6. Fügen Sie die richtige Fernbedienung hinzu, wie in Ihrem Team Foundation Server-Konto beschrieben git remote add origin <proper URL>
  7. git push dein Code

Alternativ gibt es ausführliche Führer hier die Visual Studio - Integration verwenden.

Klas Mellbourn
quelle
Das hat super geklappt, danke Klas! Ein Hinweis: Sie müssen Ihre URL in Anführungszeichen setzen, damit sie funktioniert.
Jack Fairfield
NB: Neue URL für Git-Erweiterungen: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan
@ JohnLBevan diese Erweiterung sieht aus wie es auf eine alte Version verweist
Klas Mellbourn
Die Links sind defekt
@ PaulScharnofske danke, dass du es mir erzählt hast. Ich habe sie jetzt behoben
Klas Mellbourn
15

Nachdem ich mich in Visual Studio umgesehen hatte, fand ich endlich die Antwort heraus, die viel länger dauerte, als es hätte sein sollen.

Um ein vorhandenes Projekt ohne Quellcodeverwaltung in ein vorhandenes leeres (dies ist wichtig) GitHub-Repository zu übernehmen, ist der Vorgang einfach, aber schwierig, da Sie zunächst den Team Explorer verwenden müssen, was falsch ist und aus diesem Grund Du hast Probleme.

Fügen Sie es zunächst der Quellcodeverwaltung hinzu. Es gibt einige Erklärungen dafür, und jeder kommt so weit.

Dies öffnet nun ein leeres LOKALES Repository und der Trick, von dem Ihnen niemand erzählt, besteht darin, den Team Explorer vollständig zu ignorieren und zum Projektmappen-Explorer zu wechseln, mit der rechten Maustaste auf die Lösung zu klicken und auf Festschreiben zu klicken.

Dadurch werden alle Unterschiede zwischen Ihrer vorhandenen Lösung und dem lokalen Repository festgeschrieben und im Wesentlichen mit all diesen neuen Dateien aktualisiert. Geben Sie ihm einen Standard-Commit-Namen 'Initial Files' oder was auch immer Ihr Boot schwimmt und Commit.

Klicken Sie dann im nächsten Bildschirm einfach auf Synchronisieren und geben Sie die leere GitHub-Repository-URL ein. Stellen Sie sicher, dass es leer ist, da sonst Konflikte mit dem Hauptzweig auftreten und Sie dies nicht zulassen. Verwenden Sie also entweder ein neues Repository oder löschen Sie das alte, das Sie zuvor vermasselt hatten. Beachten Sie, dass dies Visual Studio 2013 ist, sodass Ihr Kilometerstand variieren kann.

Hilfreich
quelle
14

Klicken Sie einfach mit der rechten Maustaste auf Ihre Lösung und wählen Sie Zur Quellcodeverwaltung hinzufügen . Dann wählen Sie Git.

Jetzt wurden Ihre Projekte einer lokalen Quellcodeverwaltung hinzugefügt. Klicken Sie mit der rechten Maustaste auf eine Ihrer Dateien und wählen Sie Festschreiben .

Geben Sie dann eine Commit-Nachricht ein und wählen Sie Commit . Wählen Sie dann Synchronisieren , um Ihr Projekt mit GitHub zu synchronisieren. Es erfordert ein Git-Repository. Gehen Sie zu GitHub, erstellen Sie ein neues Repository, kopieren Sie den Repository-Link und fügen Sie ihn Ihrem Remote-Quellcodeverwaltungsserver hinzu. Wählen Sie Veröffentlichen .

Das ist alles.

Hashem Aboonajmi
quelle
Diese Antwort ist korrekt und funktioniert in VS 2015. Ich hatte jedoch eine große Frage, da dies ein neuer Git-Benutzer ist. VS 2015 schien keine Gitignore-Datei zu erstellen oder eine Möglichkeit zu bieten, von VS erstellte DLLs / Dateien zu ignorieren, die NICHT eingecheckt werden sollten. Wie zum Beispiel der obj-Ordner, und es wird versucht, alles in die lokalen Repos zu übertragen. Hat noch jemand dieses Problem? Ich möchte nicht, dass all diese Dinge vor Ort begangen werden.
Matt
Ich werde meinen obigen Kommentar ändern, sobald ich mehr erfahre. Wenn ich das Verzeichnis überprüfe, hat es tatsächlich die Gitignore-Datei erstellt, was großartig ist, weil es sehr groß ist und ich es hassen würde, zu versuchen, dies manuell zu erstellen. Als ich jedoch versuchte, mein erstes Commit im lokalen Repo durchzuführen, verwendete VS diese Gitignore-Datei nicht, da alle Dateien für das Commit in Git verfügbar waren und es ein großes Durcheinander war. Also schloss ich die Lösung, löschte den .git-Ordner und 2 Git-Dateien in meiner Lösung (die sich von Git löst), öffnete sie erneut und ging zu Datei-> Zur Quellcodeverwaltung hinzufügen und wählte Git erneut aus. Diesmal hat es super geklappt.
Matt
Es ist jetzt Dezember 2019 und es ist noch einfacher. Nachdem ich die obigen Schritte ausgeführt und auf Synchronisieren geklickt hatte, wurde ich mit dem GitHub-Konto gefragt, ob ich dies zu einem privaten Repository machen möchte. Nach der Auswahl wurde das neue Repository für mich erstellt (ohne dass ich zu GitHub gehen muss) und erfolgreich erstellt.
Batpox
5

Verwenden von SourceTree :

Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Lösungsnamen. Wählen Sie "Zur Quellcodeverwaltung hinzufügen" .

Gehen Sie dann zu SourceTree und wählen Sie Klonen / Neu . Wählen Sie Arbeitsordner hinzufügen und zeigen Sie auf die neue Git-Stelle, die Sie gerade in Ihrer Lösung erstellt haben.

Holen Sie sich die Klonadresse für ein leeres Git (Bitbucket oder GitHub) und kehren Sie zu SourceTree zurück. Klicken Sie mit der rechten Maustaste auf Remotes und fügen Sie New Remote hinzu . (Hinweis: In modernen Versionen gehen Sie zu RepositorysRemote hinzufügen .... Fügen Sie Ihre URL in dieses Feld ein und klicken Sie auf OK.

Auf diese Weise können Sie Ihr erstes Commit und Push durchführen.

Clark
quelle
5

Der einfachste Weg ist offensichtlich wie im MSDN-Artikel beschrieben. Teilen Sie Ihren Code mit Visual Studio 2017 und VSTS Git .

  1. Erstellen Sie ein neues lokales Git-Repository für Ihr Projekt, indem Sie in der Statusleiste in der unteren rechten Ecke von Visual Studio zur Quellcodeverwaltung hinzufügen auswählen . Dadurch wird ein neues Repository in dem Ordner erstellt, in dem sich die Lösung befindet, und Ihr Code wird in dieses Repository übertragen.

    Geben Sie hier die Bildbeschreibung ein

  2. Wählen Sie in der Push-Ansicht im Team Explorer unter Push to Visual Studio Team Services die Schaltfläche Git Repository veröffentlichen aus.

    Geben Sie hier die Bildbeschreibung ein

  3. Verbinden Sie Remote Source Control, geben Sie Ihren Repository-Namen ein und wählen Sie Repository veröffentlichen .

    Geben Sie hier die Bildbeschreibung ein

Batmaci
quelle
3

In Visual Studio 2015 war die einzige Möglichkeit, es endlich zum Laufen zu bringen, die Ausführung git initüber die Befehlszeile aus dem Stammverzeichnis meines Verzeichnisses. Dann ging ich in den Team Explorer und fügte ein lokales Git-Repository hinzu. Dann habe ich dieses lokale Git-Repository ausgewählt, bin zu Einstellungen-> Repository-Einstellungen gegangen und habe mein Remote-Repo hinzugefügt. Auf diese Weise konnte ich Visual Studio endlich integrieren, um mein vorhandenes Projekt mit git zu nutzen.

Ich habe alle Antworten gelesen, aber keine hat für mich funktioniert. Ich ging File- auf> Add To Source Control, die im Grunde das gleiche tun war wohl wie git init, aber es schien nicht mein Projekt zu initialisieren , denn wenn ich dann zu Team Explorer alle Optionen aus waren grau gehen würde. Auch im Dialogfeld "Änderungen" wird nichts angezeigt. Eine andere Antwort besagte, dass ich nur ein lokales Repo im Team Explorer erstellen musste und dann meine Änderungen angezeigt wurden, aber das funktionierte auch nicht. Alle Git-Optionen im Team Explorer funktionierten erst, nachdem ich mein Projekt über die Befehlszeile initialisiert hatte.

Ich bin neu in Visual Studio, daher weiß ich nicht, ob ich gerade etwas Offensichtliches verpasst habe, aber anscheinend wurde mein Projekt nicht über Visual Studio initialisiert.

chavab_1
quelle
Gibt es nach Auswahl von "Datei -> Zur Quellcodeverwaltung hinzufügen" im Ausgabefenster etwas für den Bereich "Quellcodeverwaltung - Git"? Ich würde auf der Seite "Änderungen" nichts erwarten, aber wenn Sie den Verlauf des Git-Repositorys anzeigen, würde ich erwarten, dass ein Commit "Projektdateien hinzufügen" angezeigt wird, bei dem die Dateien in das Repository übernommen wurden.
Jamill
Entspricht dies dem Versionsverwaltungs-Explorer? Wenn ja, zeigt es nichts. Es wird nur ein Link zum Hinzufügen eines Quellcodeverwaltungs-Plugins angezeigt. Wenn ich darauf klicke und Git auswähle, passiert nichts. Was die anderen Bereiche im Team Explorer betrifft, passiert auch nichts. Erst nachdem ich das Projekt über die Befehlszeile initialisiert und dann im Bereich "Verbindungen" ein lokales Repo erstellt habe, sehe ich, wie VS Git-Tools mit meinem Projekt interagieren.
Chavab_1
2

Erstellen Sie zunächst einen 'Lösungsordner' mit dem gewünschten relativen Pfad. Beachten Sie, dass Visual Studio 2012 keinen Systemordner mit demselben relativen Pfad erstellt.

Fügen Sie nun in diesem 'Lösungsordner' ein neues Projekt hinzu. Sie müssen jedoch beim Definieren darauf achten, dass der relative Pfad im System mit dem relativen Pfad Ihres neuen 'Lösungsordners' übereinstimmt. Wenn der gewünschte Systemordner nicht vorhanden ist, erstellt Visual Studio 2012 ihn jetzt für das neue Projekt. (Wie oben erwähnt, funktioniert dies nicht, wenn Sie einen neuen 'Lösungsordner' hinzufügen.)

Wenn Sie eine vorhandene Datei mit dem übereinstimmenden relativen Pfad hinzufügen möchten, müssen Sie die Datei zuerst im relativen Pfad des übereinstimmenden Systems von außerhalb von Visual Studio erstellen. Anschließend können Sie eine vorhandene Datei in Visual Studio hinzufügen.

Anthony Biagioli
quelle
1

Wenn das gewünschte Repository bereits vorhanden ist (möglicherweise auf GitHub), können Sie es auf Ihr lokales System klonen und dann das Lösungsverzeichnis in dieses kopieren. Fügen Sie dann die Dateien hinzu, schreiben Sie die Dateien fest und drücken Sie die lokale Taste. Dadurch wurde die Lösung in ein Repository gestellt.

Jiminion
quelle
1

Git in Visual Studio - vorhandenes Projekt hinzufügen ; So veröffentlichen Sie Ihr lokales Repository in einem Projekt auf GitHub, GitLab oder dergleichen.

Sie haben also eine Lösung erstellt und möchten, dass diese irgendwo über Ihr Git-Konto hochgeladen und versioniert wird. Visual Studio 2015 verfügt hierfür über Tools im Team Explorer.

Laden Sie, wie Meuep erwähnt, Ihre Lösung und navigieren Sie dann File >> Add to Source Control . Dies entspricht git init. Dann haben Sie Folgendes:

Team Explorer Home

Wählen Sie nun Settings >> Repository Settings und scrollen Sie zu Fernbedienungen .

Geben Sie hier die Bildbeschreibung ein

Richten originSie URIs ein (stellen Sie sicher, dass Sie diesen reservierten Namen dort einfügen) und legen Sie sie fest.

Dann können Sie verwenden Add, Syncund Publish.

mschr
quelle
1

Der Prozess ist für VS2017 / VS2019 (vielleicht sogar früher, aber ich habe es nicht getestet) in Verbindung mit GitHub stark vereinfacht:

  1. Erstellen Sie ein leeres Repository in GitHub => https://github.com/ /.git

  2. Installieren Sie die GitHub-Erweiterung für Visual Studio

  3. Befolgen Sie diese Anweisungen : (Optional zur Quellcodeverwaltung hinzufügen, um die Git zu initialisieren) -> Team Explorer -> Synchronisieren -> Auf GitHub veröffentlichen -> https://github.com/ /.git

Alexei
quelle
0

Wenn Sie ein vorhandenes Projekt über GitHub öffnen möchten, müssen Sie folgende Schritte ausführen (dies sind Schritte nur für Visual Studio 2013 !!!! Und neuer, da in älteren Versionen keine integrierte Git-Installation vorhanden ist):

  1. Team Explorer → Verbindung mit teamProjects → Lokale GitRepositories → Clone .

  2. Kopieren Sie Ihre GitHub-Adresse aus dem Browser.

  3. Wählen Sie einen lokalen Pfad für dieses Projekt.

Andrew
quelle
0

Für mich wurde bereits ein Git-Repository (nicht GitHub) erstellt, aber leer. Dies war meine Lösung zum Hinzufügen des vorhandenen Projekts zum Git-Repository:

  1. Ich habe ein Repository mit Git Extensions geklont und ausgecheckt.
  2. Dann habe ich meine vorhandenen Projektdateien in dieses Repository kopiert.
  3. .gitignoreDatei hinzugefügt .
  4. Alle Dateien inszeniert und festgeschrieben.
  5. Auf das Remote-Repository verschoben.

Es wäre interessant zu sehen, dass dies alles direkt in Visual Studio 2015 ohne Tools wie Git Extensions erledigt wird, aber die Dinge, die ich in Visual Studio ausprobiert habe, haben nicht funktioniert ( Zur Quellcodeverwaltung hinzufügen ist für mein Projekt nicht verfügbar, das Hinzufügen einer Fernbedienung nicht Hilfe usw.).

testen
quelle
0

Um ein Projekt zu einer Lösung hinzuzufügen, öffnen Sie einfach das Team Explorer-Fenster und gehen Sie zu Änderungen. Klicken Sie dann unter Nicht verfolgte Dateien auf Ansichtsoptionen und wählen Sie Zur Baumansicht wechseln (sofern diese nicht bereits in der Baumansicht vorhanden ist), klicken Sie mit der rechten Maustaste auf den Projektstammordner und wählen Sie Hinzufügen .

Geben Sie hier die Bildbeschreibung ein

Kühles Blau
quelle
0

Ich vergesse das immer, deshalb ist dies mehr für mich selbst, könnte aber vielleicht jemand anderem helfen, VS zu verwenden.

Visual Studio hat das Konzept von Lösungen. In Git gibt es jedoch das Konzept eines Git-Repositorys, das von lokalen und Remote-Zweigen verfolgt wird. Alle Dateien und Ordner, die zu git hinzugefügt werden, sind lokal.

Wenn Sie jetzt zu Visual Studio Solutions zurückkehren und ein Standardvorlagenprojekt erstellen, werden alle Projekte lokal für diese Lösung erstellt.

Das Problem tritt also auf, wenn Sie ein Projekt hinzufügen, das nicht lokal zur Lösung oder zum Git ist. Was passiert ist, dass die Lösungsdatei .sln mit dem Projektspeicherort aktualisiert wird, aber der tatsächliche Inhalt des Projekts, der Projektdateien und Ordner nicht zu git hinzugefügt werden kann, da sie sich in einem separaten Verzeichnis oder einem separaten Netzwerklaufwerk oder einem FTP-Server befinden etc .... Dies ist möglicherweise vorzuziehen, wenn Sie nur einen Verweis auf eine Projektdatei wünschen, die nur in der SLN-Datei kompiliert wird, oder wenn Sie sie in separate Git- oder Github-Repositorys übertragen möchten. Sie möchten jedoch nicht, dass die tatsächlichen Dateien lokal von git verfolgt werden.

Um dies zu beheben (dh Sie möchten sie Ihrem Git-Repository hinzufügen), verschieben Sie einfach die gewünschten Remote-Dateien in den Bereich der Lösung und ihrer Projektdateien, sodass sie lokal sind.

RetroCoder
quelle
0

So geht's in Visual Studio 2015.

  1. Öffnen Sie das Projekt und gehen Sie zu Extras >> Optionen >> Registerkarte "Quellcodeverwaltung" und wählen Sie "Git" als Quellcodeverwaltung. Geben Sie hier die Bildbeschreibung ein

  2. Gehen Sie zum Menü Datei und wählen Sie "Zur Quellcodeverwaltung hinzufügen".

Dies führt im Wesentlichen dazu, dass "git init" von Visual Studio ausgeführt wird, um alle Schnickschnack zu erstellen (Setup-Ignorierdateien entsprechend wie Benutzerspezifische Dateien, temporäre Dateien, Verzeichnisse usw. ignorieren).

Im Wesentlichen wurde Ihr Git-Repository lokal korrekt erstellt (dies ist der Hauptschritt bei VS Project, da dieser Ordner viele Dateien enthält, die wir ignorieren möchten).

Jetzt können Sie dieses Git-Repository mit jedem anderen Git wie GitHub, BitBucket usw. in Git Bash (außerhalb von Visual Studio) verbinden.

Ich starte die Git Bash-Sitzung jetzt in diesem Arbeitsverzeichnis und da ich BitBucket verwende, folge ich den dort gegebenen Anweisungen (kopiere einfach die folgenden Zeilen von dort).

git remote add origin https: //[email protected]/yourusername/hookdemo.git

Git Push -u Origin Master

Das ist es.

Danach können Sie das Repository in der Git-Befehlszeile selbst verwalten, da es jetzt ordnungsgemäß eingerichtet wurde.

zar
quelle