Git w programie Visual Studio - dodać istniejący projekt?

105

Próbuję umieścić istniejący projekt pod kontrolą źródła Git, ale nie jestem pewien kilku rzeczy.

Założyłem konto Git w usłudze „Team Foundation Service”.

Obecnie mam rozwiązanie ASP.NET MVC 4 - w folderze Moje projekty. Utworzyłem lokalnie „repozytorium” Gita (obecnie pusty folder). Czy powinien to być tylko mój bieżący folder aplikacji w Projektach? A może musi to być kopia?

Jak mogę przenieść moje istniejące pliki do repozytorium online?

niico
źródło
Wspomniałeś o „Git w Visual Studio” - czy używasz narzędzi git w Visual Studio 2012?
Edward Thomson
Uważam, że zostało to teraz osadzone w wersji 2015 w Team Explorer. Natknąłem się na to, gdzie nie mogłem
``

Odpowiedzi:

148

Poszukałem podobnego pytania - sposób, w jaki udało mi się zainicjować repozytorium Git dla istniejącego pliku projektu, jest następujący (zastrzeżenie: odbywa się to w Visual Studio 2013 Express, bez konfiguracji Team Foundation Server):

  1. Otwórz projekt w programie Visual Studio.
  2. Przejdź do menu PlikDodaj do kontroli źródła .

To zrobiło to dla mnie - zakładając, że Git jest skonfigurowany dla Ciebie, możesz przejść do menu WidokTeam Explorer , następnie dwukrotnie kliknąć repozytorium dla pliku projektu i wykonać początkowe zatwierdzenie (upewnij się, że dodałeś dowolne pliki, które chcesz ).

airbear
źródło
7
Pozwoli to również zaoszczędzić kłopotów z „dostarczeniem rozsądnego pliku .gitignore”, ponieważ program Visual Studio zajmie się tymi szczegółami za Ciebie. Pomiędzy ręcznym inicjowaniem git a tym, jest to moja preferowana metoda od teraz.
MrCC
Jeśli chcesz wybrać projekt, do którego ma trafić to nowe rozwiązanie, możesz kliknąć przycisk Synchronizuj - następnie kliknij przycisk publikuj, aby przejść do repozytorium git, a następnie kliknij rozwiązanie zaawansowane i wybierz projekt, do którego chcesz dodać to nowe rozwiązanie. zrobiłem to, możesz zsynchronizować i boom
Jamisco
Uwaga: to nie zadziałało, ponieważ dodałem już współdzieloną bibliotekę, która została uwzględniona w innym repozytorium. Musiałem usunąć współdzielony projekt, zanim opcja „Dodaj do kontroli źródła” stała się dostępna.
Neil B
2
Powinni dodać to do okna Team Explorer.
rzeczywistość
66
  1. Przede wszystkim musisz zainstalować oprogramowanie Git na lokalnym komputerze deweloperskim, np . Rozszerzenia Git .
  2. Następnie wykonaj git initw folderze rozwiązania. To jest właściwy sposób tworzenia folderu repozytorium.
  3. Skonfiguruj rozsądny .gitignoreplik, aby nie popełniać niepotrzebnych rzeczy.
  4. git add
  5. git commit
  6. Dodaj odpowiedniego pilota, zgodnie z opisem na koncie Team Foundation Server git remote add origin <proper URL>
  7. git push Twój kod

Alternatywnie dostępne są tutaj szczegółowe przewodniki dotyczące integracji z programem Visual Studio.

Klas Mellbourn
źródło
To działało świetnie, dzięki Klas! Jedna uwaga: aby działał, musisz mieć swój adres URL w cudzysłowie.
Jack Fairfield
Uwaga: Nowy adres URL rozszerzeń Git: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan
@JohnLBevan to rozszerzenie wygląda tak, jakby wskazywało na starszą wersję
Klas Mellbourn
linki są zepsute
@PaulScharnofske dzięki za informację. Naprawiłem je teraz
Klas Mellbourn
15

Po włóczeniu się po Visual Studio w końcu znalazłem odpowiedź, która zajęła znacznie więcej czasu niż powinna.

Aby wziąć istniejący projekt bez kontroli źródła i umieścić go w istniejącym PUSTYM (to jest ważne) repozytorium GitHub, proces jest prosty, ale trudny, ponieważ Twoim pierwszym celem jest użycie Team Explorer, co jest błędne i dlatego masz problemy.

Najpierw dodaj go do kontroli źródła. Powyżej znajduje się kilka wyjaśnień i wszyscy doszli aż tak daleko.

Teraz otwiera to puste repozytorium LOKALNE, a sztuczka, o której nikt nigdy nie mówi, polega na całkowitym zignorowaniu Team Explorer i przejściu do Eksploratora rozwiązań, kliknięciu rozwiązania prawym przyciskiem myszy i kliknięciu Zatwierdź.

Następnie zatwierdza wszystkie różnice między istniejącym rozwiązaniem a lokalnym repozytorium, zasadniczo aktualizując je wszystkimi nowymi plikami. Nadaj mu domyślną nazwę zatwierdzenia „pliki początkowe” lub cokolwiek, co unosi twój statek i zatwierdza.

Następnie po prostu kliknij Synchronizuj na następnym ekranie i upuść adres URL PUSTEGO repozytorium GitHub. Upewnij się, że jest pusty, w przeciwnym razie będziesz mieć konflikty gałęzi głównej i nie pozwoli ci na to. Więc albo użyj nowego repozytorium, albo usuń stare, które wcześniej schrzaniłeś. Pamiętaj, że to Visual Studio 2013, więc Twój przebieg może się różnić.

Pomocny
źródło
14

Wystarczy kliknąć prawym przyciskiem myszy rozwiązanie i wybrać Dodaj do kontroli źródła . Następnie wybierz Git.

Teraz Twoje projekty zostały dodane do lokalnej kontroli źródła. Kliknij prawym przyciskiem myszy jeden ze swoich plików i wybierz Zatwierdź .

Następnie wprowadź komunikat dotyczący zatwierdzenia i wybierz opcję Zatwierdź . Następnie wybierz Synchronizuj, aby zsynchronizować projekt z GitHub. Wymaga posiadania repozytorium Git. Przejdź do GitHub, utwórz nowe repozytorium, skopiuj łącze do repozytorium i dodaj je do zdalnego serwera kontroli źródeł. Wybierz Opublikuj .

To wszystko.

Hashem Aboonajmi
źródło
Ta odpowiedź jest prawidłowa i działa w VS 2015. Jednak miałem główne pytanie związane z tym, że jestem nowym użytkownikiem git. Wydaje się, że VS 2015 nie tworzy pliku gitignore ani nie oferuje żadnego sposobu na ignorowanie bibliotek dll / plików utworzonych przez VS, które NIE powinny być wpisywane. Podobnie jak na przykład folder obj i próbuje przekazać wszystko do lokalnych repozytoriów. Czy ktoś jeszcze ma ten problem? Nie chcę, żeby to wszystko działo się lokalnie.
Matt,
Poprawię swój komentarz powyżej, gdy będę się więcej dowiedzieć. Kiedy sprawdzam katalog, w rzeczywistości zbudowałem plik gitignore, który jest świetny, ponieważ jest bardzo duży i nie chciałbym próbować budować go ręcznie. Jednak kiedy próbowałem wykonać moje początkowe zatwierdzenie w lokalnym repozytorium, VS nie użył tego pliku gitignore, ponieważ wszystkie pliki były dostępne do zatwierdzenia w git i był to duży bałagan. Więc zamknąłem rozwiązanie, usunąłem folder .git i 2 pliki git w moim rozwiązaniu (które odłącza się od git), ponownie otworzyłem i przeszedłem do pliku-> dodaj do kontroli źródła i ponownie wybrałem git. Tym razem się udało.
Matt,
Jest teraz grudzień 2019 r. I jest jeszcze łatwiej. Po wykonaniu powyższych kroków i kliknięciu Sync, zostałem poproszony o konto GitHub i czy chcę, aby to repozytorium prywatne. Po wybraniu nowe repozytorium zostało utworzone dla mnie (bez konieczności przechodzenia do GitHub) i pomyślnie utworzone.
batpox
5

Korzystanie z SourceTree :

Kliknij prawym przyciskiem myszy nazwę rozwiązania w Eksploratorze rozwiązań. Wybierz „Dodaj do sterowania źródłami” .

Następnie przejdź do SourceTree i wybierz Clone / New . Wybierz opcję Dodaj folder roboczy i wskaż nowe miejsce Gita, które właśnie utworzyłeś w swoim rozwiązaniu.

Idź i weź adres klonowania dla pustego Gita (Bitbucket lub GitHub) i wróć do SourceTree, kliknij prawym przyciskiem myszy Remotes i dodaj Nowy pilot . (Uwaga w nowoczesnych wersjach, przejdź do RepozytoriaDodaj zdalne .... Wklej swój adres URL w to pole i naciśnij OK.

W ten sposób możesz wykonać początkowe zatwierdzenie i push.

Clark
źródło
5

Najłatwiej jest oczywiście zgodnie z opisem w artykule MSDN Udostępnij swój kod za pomocą programu Visual Studio 2017 i VSTS Git .

  1. Utwórz nowe lokalne repozytorium Git dla swojego projektu, wybierając opcję Dodaj do kontroli źródła na pasku stanu w prawym dolnym rogu programu Visual Studio. Spowoduje to utworzenie nowego repozytorium w folderze, w którym znajduje się rozwiązanie, i zatwierdzenie kodu do tego repozytorium.

    Tutaj wprowadź opis obrazu

  2. W widoku wypychania w Team Explorer wybierz przycisk Publikuj repozytorium Git w obszarze Wypchnij do programu Visual Studio Team Services.

    Tutaj wprowadź opis obrazu

  3. Połącz zdalną kontrolę źródła i wprowadź nazwę repozytorium, a następnie wybierz opcję Publikuj repozytorium .

    Tutaj wprowadź opis obrazu

batmaci
źródło
3

W programie Visual Studio 2015 jedynym sposobem, w jaki wreszcie udało mi się go uruchomić, było uruchomienie git initz katalogu głównego za pomocą wiersza poleceń. Następnie przeszedłem do Team Explorer i dodałem lokalne repozytorium git. Następnie wybrałem to lokalne repozytorium git, przeszedłem do Ustawienia-> Ustawienia repozytorium i dodałem moje zdalne repozytorium. W ten sposób mogłem w końcu zintegrować Visual Studio, aby używać mojego istniejącego projektu z git.

Przeczytałem wszystkie odpowiedzi, ale żadna z nich nie zadziałała. Poszedłem do Plik-> Dodaj do kontroli źródła, który miał zasadniczo zrobić to samo, co git init, ale nie wydawało się, że zainicjowałem mój projekt, ponieważ kiedy miałem przejść do Team Explorer, wszystkie opcje były wyszarzone. Nic też nie pojawiało się w oknie dialogowym Zmiany. Inna odpowiedź głosiła, że ​​po prostu muszę utworzyć lokalne repozytorium w Team Explorer, a wtedy moje zmiany się pojawią, ale to też nie zadziałało. Wszystkie opcje Git w Team Explorer działały dopiero po zainicjowaniu projektu za pomocą wiersza poleceń.

Jestem nowy w Visual Studio, więc nie wiem, czy przegapiłem coś oczywistego, ale wygląda na to, że mój projekt nie został zainicjowany z Visual Studio.

chavab_1
źródło
Czy po wybraniu opcji „Plik -> Dodaj do kontroli źródła” w oknie Dane wyjściowe w okienku „Kontrola źródła - Git” pojawi się coś? Nie spodziewałbym się niczego na stronie Zmiany, ale gdybyś przeglądał historię repozytorium Git, spodziewałbym się, że pokaże zatwierdzenie „Dodaj pliki projektu”, gdzie pliki zostały zatwierdzone do repozytorium.
jamill
Czy to to samo, co Eksplorator kontroli źródła? Jeśli tak, to nic nie pokazuje. Po prostu wyświetla link do dodania wtyczki kontroli źródła. Po kliknięciu i wybraniu Git nic się nie dzieje. Jeśli chodzi o inne panele w Team Explorer, też nic się nie dzieje. Dopiero po zainicjowaniu projektu z wiersza poleceń, a następnie utworzeniu lokalnego repozytorium z panelu Połączenia, zaczynam widzieć narzędzia VS Git współdziałające z moim projektem.
chavab_1
2

Najpierw utwórz „Folder rozwiązań” z żądaną ścieżką względną. Należy zauważyć, że program Visual Studio 2012 nie tworzy folderu systemowego o tej samej ścieżce względnej.

Teraz w „Folderze rozwiązań” dodaj nowy projekt, ale musisz zachować ostrożność podczas definiowania go, aby ścieżka względna w systemie była zgodna ze ścieżką względną nowego „Folderu rozwiązań”. Jeśli żądany folder systemowy nie istnieje, program Visual Studio 2012 utworzy go teraz dla nowego projektu. (Jak wspomniano powyżej, nie robi tego po dodaniu nowego „folderu rozwiązania”).

Jeśli chcesz dodać istniejący plik z pasującą ścieżką względną, musisz najpierw utworzyć plik w zgodnej ścieżce względnej systemu, spoza programu Visual Studio. Następnie możesz dodać istniejący plik w programie Visual Studio.

Anthony Biagioli
źródło
1

Jeśli żądane repozytorium już istnieje (być może na GitHub), możesz sklonować je do systemu lokalnego, a następnie skopiować do niego katalog rozwiązania. Następnie dodaj pliki, zatwierdź pliki i wypchnij plik lokalny. To umieściło rozwiązanie w repozytorium.

Jiminion
źródło
1

Git w Visual Studio - dodaj istniejący projekt ; jak opublikować lokalne repozytorium w projekcie na GitHub, GitLab lub podobnym.

Więc stworzyłeś rozwiązanie i chcesz, aby zostało przesłane i kontroler wersji za pośrednictwem konta Git gdzieś. Visual Studio 2015 ma do tego narzędzia w Team Explorer.

Jak wspomina Meuep, załaduj swoje rozwiązanie, a następnie przejdź File >> Add to Source Control . To jest odpowiednik git init. Wtedy będziesz miał to:

Strona główna Team Explorer

Teraz wybierz Settings >> Repository Settings i przewiń do Piloty .

Tutaj wprowadź opis obrazu

Skonfiguruj origin(upewnij się, że umieściłeś tam tę zarezerwowaną nazwę) i ustaw identyfikatory URI.

Następnie można użyć Add, Synci Publish.

mschr
źródło
0

Jeśli chcesz otworzyć istniejący projekt z GitHub, musisz wykonać następujące czynności (są to kroki tylko dla Visual Studio 2013 !!!! I nowsze, ponieważ w starszych wersjach nie ma wbudowanej instalacji Git):

  1. Eksplorator zespołu → Połącz z zespołem Projekty → Lokalne repozytoria Git → Klonuj .

  2. Skopiuj / wklej swój adres GitHub z przeglądarki.

  3. Wybierz lokalną ścieżkę dla tego projektu.

Andrzej
źródło
0

Dla mnie repozytorium Git (nie GitHub) zostało już utworzone, ale puste. To było moje rozwiązanie, aby dodać istniejący projekt do repozytorium Git:

  1. Sklonowałem i sprawdziłem repozytorium z rozszerzeniami Git.
  2. Następnie skopiowałem moje istniejące pliki projektu do tego repozytorium.
  3. Dodano .gitignoreplik.
  4. Przygotowano i zatwierdzono wszystkie pliki.
  5. Przesłane do zdalnego repozytorium.

Byłoby interesujące zobaczyć to wszystko bezpośrednio w Visual Studio 2015 bez narzędzi takich jak Rozszerzenia Git, ale rzeczy, które wypróbowałem w Visual Studio nie działały ( Dodaj do kontroli źródła nie jest dostępne dla mojego projektu, dodanie pilota nie działa pomoc itp.).

testowanie
źródło
0

Aby dodać projekt w ramach rozwiązania, po prostu otwórz okno Team Explorer i przejdź do Zmiany. Następnie w sekcji Pliki nieśledzone kliknij Opcje widoku i wybierz Przełącz do widoku drzewa (chyba że jest już w widoku drzewa), kliknij prawym przyciskiem myszy folder główny projektu i wybierz Dodaj .

Tutaj wprowadź opis obrazu

Fajny niebieski
źródło
0

Zawsze o tym zapominam, więc to jest bardziej dla mnie, ale może może pomóc komuś innemu używającemu VS.

Visual Studio ma koncepcję rozwiązań. Jednak w git ma koncepcję repozytorium git śledzonego przez lokalne i zdalne gałęzie. Wszystkie pliki i foldery, które są dodawane do git, są lokalne.

Wracając do rozwiązań Visual Studio, podczas tworzenia projektu szablonu standardowego wszystkie projekty są tworzone lokalnie w tym rozwiązaniu.

Tak więc problem pojawia się, gdy dodajesz projekt, który nie jest lokalny dla rozwiązania lub gita. Dzieje się tak, że plik rozwiązania .sln jest aktualizowany z lokalizacją projektu, ale rzeczywistej zawartości projektu, plików projektu i folderów nie można dodać do git, ponieważ znajdują się one w oddzielnym katalogu lub na oddzielnym dysku sieciowym lub na jednym serwerze ftp etc .... Może to być preferowane, jeśli chcesz mieć tylko odniesienie do pliku projektu, który zostanie skompilowany tylko w pliku .sln, lub chcesz je przenieść do oddzielnych repozytoriów git lub github. Ale nie chcesz, aby rzeczywiste pliki były śledzone lokalnie przez git.

Aby temu zaradzić (tj. Chcesz dodać je do repozytorium git), po prostu przenieś zdalne pliki będące przedmiotem zainteresowania w ramach zakresu działania rozwiązania i jego plików projektów, aby były lokalne.

RetroCoder
źródło
0

Oto jak to zrobić w programie Visual Studio 2015.

  1. Otwórz projekt i przejdź do Narzędzia >> Opcje >> zakładka "Kontrola źródła" i wybierz "Git" jako kontrolę źródła. wprowadź opis obrazu tutaj

  2. Przejdź do menu Plik i wybierz „Dodaj do kontroli źródła”.

Zasadniczo wykonuje to „git init” przez Visual Studio, tworząc wszystkie dzwonki i gwizdki (instalator odpowiednio ignoruje pliki, takie jak pliki specyficzne dla użytkownika, pliki tymczasowe, katalogi itp.).

Zasadniczo repozytorium git zostało poprawnie utworzone lokalnie (jest to główny krok w przypadku projektu VS, ponieważ ten folder zawiera wiele plików, które chcemy zignorować).

Teraz możesz podłączyć to repozytorium git do dowolnego innego gita, takiego jak GitHub, BitBucket itp. W git bash (poza programem Visual Studio).

Rozpoczynam sesję Git Bash teraz w tym katalogu roboczym i ponieważ używam BitBucket, postępuję zgodnie z podanymi tam instrukcjami (po prostu skopiuj stamtąd poniższe linie).

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

git push -u wzorzec pochodzenia

Otóż ​​to.

Następnie możesz zarządzać repozytorium za pomocą wiersza poleceń git, ponieważ jego konfiguracja jest teraz prawidłowa.

zar
źródło