Jako długoletni użytkownik Visual SourceSafe (i nienawidzę) rozmawiałem o przejściu na SVN z kolegą; zasugerował użycie Git . Ponieważ najwyraźniej można go używać jako peer-to-peer bez centralnego serwera (jesteśmy zespołem złożonym z 3 programistów).
Nie znalazłem jednak nic na temat narzędzi integrujących Git z Visual Studio - czy istnieje coś takiego?
Jakie technologie są dostępne do korzystania z Git z Visual Studio? I co muszę wiedzieć o tym, czym się różnią, zanim zacznę?
visual-studio
git
Herb Caudill
źródło
źródło
Odpowiedzi:
W styczniu 2013 r. Microsoft ogłosił , że dodaje pełną obsługę Git do wszystkich swoich produktów ALM. Zostały one opublikowane wtyczki dla programu Visual Studio 2012, który dodaje integrację sterowania źródłem Git.
Alternatywnie istnieje projekt o nazwie Git Extensions, który zawiera dodatki do Visual Studio 2005, 2008, 2010 i 2012, a także integrację z Eksploratorem Windows. Jest regularnie aktualizowany i po użyciu go w kilku projektach uważam, że jest bardzo przydatny.
Inną opcją jest Git Source Control Provider .
źródło
Używam Git z Visual Studio dla mojego portu buforów protokołów do C #. Nie używam GUI - po prostu trzymam otwarty wiersz poleceń, a także Visual Studio.
W większości przypadków jest w porządku - jedynym problemem jest zmiana nazwy pliku. Zarówno Git, jak i Visual Studio wolą, aby to one zmieniły jego nazwę. Myślę, że zmiana nazwy w Visual Studio jest dobrym rozwiązaniem - po prostu uważaj, co robisz po stronie Gita. Chociaż w przeszłości było to trochę uciążliwe, słyszałem, że tak naprawdę powinno być dość płynnie po stronie Gita, ponieważ można zauważyć, że zawartość będzie w większości taka sama. (Zwykle nie do końca takie same - zwykle zmieniasz nazwę pliku, gdy zmieniasz nazwę klasy, IME).
Ale w zasadzie - tak, działa dobrze. Jestem początkującym Gitem, ale mogę zmusić go do zrobienia wszystkiego, czego potrzebuję. Upewnij się, że masz plik git ignore dla bin i obj oraz * .user.
źródło
Git Source Control Provider to nowa wtyczka, która integruje Git z Visual Studio.
źródło
Przyglądałem się temu nieco w pracy (zarówno z Subversion, jak i Git). Program Visual Studio faktycznie ma interfejs API integracji kontroli źródła, który umożliwia integrację rozwiązań kontroli źródła innych firm z programem Visual Studio. Jednak większość ludzi nie zawraca sobie tym głowy z kilku powodów.
Po pierwsze, API prawie zakłada, że używasz przepływu pracy zablokowanej kasy. Jest w nim wiele haczyków, które są albo drogie w implementacji, albo po prostu nie mają sensu, gdy używasz bardziej nowoczesnego przepływu pracy edycji i scalania.
Drugim (co jest powiązane) jest to, że kiedy używasz przepływu pracy scalania edycji, który zachęca zarówno Subversion, jak i Git, tak naprawdę nie potrzebujesz integracji Visual Studio. Główną zabójczą rzeczą w integracji SourceSafe z Visual Studio jest to, że możesz (i redaktor) na pierwszy rzut oka stwierdzić, które pliki posiadasz, które musisz sprawdzić, zanim będziesz mógł edytować, a których nie możesz wyrejestrować, nawet jeśli chcesz. Pomoże ci to zrobić voodoo z kontrolą wersji, które musisz zrobić, aby edytować plik. Nic z tego nie jest nawet częścią typowego przepływu pracy Git.
Kiedy używasz Git (lub zwykle SVN), wszystkie twoje interakcje z kontrolą wersji odbywają się przed sesją programistyczną lub po niej (kiedy wszystko działa i zostało przetestowane). W tym momencie używanie innego narzędzia naprawdę nie jest zbyt uciążliwe. Nie musisz ciągle przełączać się tam iz powrotem.
źródło
Uważam, że Git, działający na całych drzewach, czerpie mniejsze korzyści z integracji IDE niż narzędzia kontroli źródła, które są albo oparte na plikach, albo stosują się do wzorca kasa-edycja-zatwierdzenie. Oczywiście zdarzają się sytuacje, w których może być miło kliknąć przycisk, aby dokonać przeglądu historii, ale nie tęsknię tak bardzo.
Rzeczywistym obowiązkiem jest zapełnienie pliku .gitignore rzeczy, które nie powinny znajdować się we współdzielonym repozytorium. Mój ogólnie zawiera (między innymi):
ale jest to mocno stronnicze w C ++, przy niewielkim lub zerowym wykorzystaniu funkcji stylu klasowego.
Mój wzorzec użytkowania jest podobny do następującego.
Kod, kod, kod w Visual Studio.
Kiedy jest szczęśliwy (rozsądny punkt pośredni do zatwierdzenia kodu, przełącz się na Git, zmieniaj etapy i sprawdzaj różnice. Jeśli coś jest oczywiście źle, wróć z powrotem do Visual Studio i napraw, w przeciwnym razie zatwierdź.
Wszelkie operacje scalania, rozgałęziania, rebase i inne wymyślne operacje SCM są łatwe w Git z wiersza poleceń. Visual Studio jest zwykle dość zadowolony z rzeczy, które się pod nim zmieniają, chociaż czasem może wymagać ponownego załadowania niektórych projektów, jeśli znacząco zmieniono pliki projektów.
Uważam, że użyteczność Git przewyższa wszelkie drobne niedogodności związane z brakiem pełnej integracji IDE, ale jest to do pewnego stopnia kwestia gustu.
źródło
git rm <file>
iecho <file> >>.gitignore; git add .gitignore
na wskazówkach swoich aktywnych oddziałów. Po dokonaniu zmiany raz możesz zawsze wybrać poprawkę do innych gałęzi.Microsoft ogłosił niedawno Git for Visual studio 2012 (aktualizacja 2). Jeszcze się z tym nie bawiłem, ale ten film wygląda obiecująco.
Oto krótki samouczek na temat korzystania z Git z Visual Studio 2012.
źródło
Nie przegap też TortoiseGit ... https://tortoisegit.org/
źródło
Istnieją narzędzia Visual Studio Tools dla Git firmy Microsoft. Obsługuje tylko Visual Studio 2012 (aktualizacja 2).
źródło
Visual Studio 2013 natywnie obsługuje Git.
Zobacz oficjalne ogłoszenie .
źródło
Obsługa Git wykonywana przez Microsoft w Visual Studio jest wystarczająca do podstawowej pracy (zatwierdzanie / pobieranie / scalanie i wypychanie). Radzę tylko tego unikać ...
Bardzo wolę GitExtensions (lub w mniejszym stopniu SourceTree ). Ponieważ zobaczenie DAG jest dla mnie bardzo ważne, aby zrozumieć, jak działa Git. I jesteś o wiele bardziej świadomy tego, co zrobili inni autorzy Twojego projektu!
W programie Visual Studio nie można szybko zobaczyć różnicy między plikami ani zatwierdzeń, ani (dodać do indeksu) i zatwierdzić tylko części modyfikacji. Przeglądaj swoją historię też nie jest dobra ... Wszystko to kończy się bolesnym doświadczeniem!
I na przykład GitExtensions jest pakowany z interesującymi wtyczkami: pobieranie w tle, GitFlow, ... a teraz ciągła integracja !
Dla użytkowników programu Visual Studio 2015 Git nabiera kształtu, jeśli zainstalujesz rozszerzenie GitHub. Ale narzędzie zewnętrzne jest jeszcze lepsze ;-)
źródło
TortoiseGit dojrzał i polecam go szczególnie, jeśli używałeś TortoiseSVN.
źródło
Najnowsza wersja Git Extensions obsługuje teraz Visual Studio 2010 (wraz z Visual Studio 2008 i Visual Studio 2005 ).
Odkryłem, że jest dość łatwy w użyciu w Visual Studio 2008, a interfejs wydaje się taki sam w Visual Studio 2010.
źródło
Najprostszym rozwiązaniem, które faktycznie działa całkiem dobrze, jest dodanie poleceń TortoiseGit jako narzędzi zewnętrznych.
Rozwiązanie dodawania paska narzędzi Git (TortoiseGit) do Visual Studio
źródło
Jak wspomniał Jon Rimmer, możesz użyć GitExtensions. GitExtensions działa w Visual Studio 2005 i Visual Studio 2008, działa również w Visual Studio 2010, jeśli ręcznie skopiujesz i skonfigurujesz plik .Addin.
źródło
Obecnie istnieją 2 opcje Kontroli źródła Git w Visual Studio (2010 i 12):
Próbowałem obu i odkryłem, że pierwszy jest bardziej dojrzały i ma więcej funkcji. Na przykład gra ładnie z gitem żółwia i rozszerzeniami gita, a nawet ujawnił ich funkcje.
Uwaga : Niezależnie od tego, jakiego rozszerzenia używasz, upewnij się, że jest ono włączone
Tools -> Options -> Source control -> Plugin Selection
, aby działało.źródło
Począwszy od 02.02.2013 wtyczka Microsoft Git dla Visual Studio 2012 powinna również działać z wersją Express .
źródło