Zarządzanie repozytoriami Git w programie Visual Studio

Okno Repozytorium Git zapewnia pełne środowisko git, które ułatwia zarządzanie repozytorium Git i aktualizowanie projektów zespołu. Na przykład może być konieczne zresetowanie, przywrócenie lub wyczyszczenie zatwierdzeń lub czyszczenie historii zatwierdzeń. Okno Repozytorium Git to również doskonałe miejsce do wizualizacji gałęzi i zarządzania nimi.

Kontrola wersji za pomocą programu Visual Studio jest łatwa w użyciu usługi Git. Możesz również pracować zdalnie z wybranym dostawcą usługi Git, takim jak GitHub lub Azure DevOps. Możesz też pracować lokalnie bez dostawcy.

Otwieranie okna repozytorium Git

Aby otworzyć okno Repozytorium Git, wybierz pozycję Wyświetl>repozytorium Git (lub naciśnij klawisze Ctrl 0, Ctrl++R) lub naciśnij klawisze Ctrl+Q i w obszarze Funkcje wyszukaj repozytorium Git.

Zmienianie ostatniego zatwierdzenia (zmiana)

Aktualizowanie ostatniego zatwierdzenia jest nazywane zmianą w usłudze Git i jest typowym przypadkiem użycia. Czasami wystarczy zaktualizować komunikat zatwierdzenia lub może być konieczne uwzględnienie zmiany w ostatniej chwili.

Zatwierdzenie można zmienić w wierszu polecenia, używając następującego polecenia:

git commit --amend

Okno Repozytorium Git ułatwia aktualizowanie najnowszego komunikatu zatwierdzenia. Otwórz szczegóły zatwierdzenia ostatniego zatwierdzenia, klikając je dwukrotnie, a następnie wybierz opcję Edytuj obok komunikatu zatwierdzenia.

Zrzut ekranu przedstawiający edytowanie komunikatu zatwierdzenia.

Po zakończeniu edytowania wiadomości zatwierdzenia wybierz pozycję Zmień.

Zrzut ekranu przedstawiający zapisywanie edytowanej wiadomości, wybierając pozycję Zmień.

Jeśli musisz dołączyć zmiany kodu do ostatniego zatwierdzenia, możesz to zrobić w oknie Zmiany usługi Git. Zaznacz pole wyboru Zmień, a następnie zatwierdź zmiany.

Zrzut ekranu przedstawiający zmianę kodu przy użyciu okna Zmiany usługi Git.

Aby dowiedzieć się więcej na temat zmiany, w tym zmiany komunikatów zatwierdzeń innych niż najnowsze, zobacz Git Tools — Rewriting History (Narzędzia Git — historia ponownego zapisywania) w witrynie internetowej git.

Scal zatwierdzenia (squash)

Aby scalić serię zatwierdzeń, usługa Git udostępnia opcję ściągnąć zatwierdzenia w dół do pojedynczego zatwierdzenia. Ta opcja może być przydatna, jeśli często wykonujesz zatwierdzenia i kończy się długą listą zatwierdzeń, które chcesz wyczyścić przed wypchnięciem do repozytorium zdalnego.

W wierszu polecenia można zmiażdżyć dwa zatwierdzenia, używając następującego polecenia:

git rebase -i HEAD~2

Następnie zaktualizuj komunikat pick zatwierdzenia do squash, zapisz i zaktualizuj go.

Zrzut ekranu przedstawiający aktualizowanie opcji wyboru do squasha.

Aby scalić zatwierdzenia w programie Visual Studio, użyj klawisza Ctrl , aby wybrać wiele zatwierdzeń, które chcesz scalić. Następnie kliknij prawym przyciskiem myszy i wybierz pozycję Zatwierdzeń squasha. Program Visual Studio automatycznie łączy komunikaty zatwierdzenia, ale czasami lepiej jest podać zaktualizowany komunikat. Po przejrzeniu i zaktualizowaniu komunikatu zatwierdzenia wybierz przycisk Squash .

Zrzut ekranu przedstawiający usuwanie zatwierdzeń w programie Visual Studio.

Aby dowiedzieć się więcej o squashingu, zobacz Git Tools — Rewriting History (Narzędzia Git — historia ponownego zapisywania) w witrynie internetowej git.

Scalanie i ponowne bazy gałęzi

Jeśli używasz gałęzi Usługi Git do pracy nad różnymi funkcjami, w pewnym momencie musisz uwzględnić aktualizacje wprowadzone w innych gałęziach. Może się to zdarzyć, gdy nadal pracujesz nad gałęzią funkcji. Może się to również zdarzyć, gdy skończysz pracę nad gałęzią funkcji i musisz zachować zmiany, dodając je do innej gałęzi. W usłudze Git można uwzględnić te aktualizacje przez scalenie lub ponowne łączenie gałęzi.

Uwaga

Poniższe instrukcje używają New_Feature jako przykładowej nazwy gałęzi funkcji. Zastąp ją nazwą własnej gałęzi.

Aby scalić gałąź główną z gałęzią funkcji w wierszu polecenia, użyj następujących poleceń:

git checkout New_Feature
git merge main

Aby wykonać to samo w programie Visual Studio, zapoznaj się z gałęzią funkcji, klikając ją dwukrotnie na liście gałęzi. Następnie kliknij prawym przyciskiem myszy pozycję main i wybierz polecenie Scal "main" z "New_Feature".

Zrzut ekranu przedstawiający scalanie gałęzi w programie Visual Studio.

Aby przestawić gałąź główną do gałęzi funkcji w wierszu polecenia, użyj następujących poleceń:

git checkout New_Feature
git rebase main

Aby wykonać to samo w programie Visual Studio, zapoznaj się z gałęzią funkcji, klikając ją dwukrotnie na liście gałęzi. Następnie kliknij prawym przyciskiem myszy pozycję main i wybierz polecenie Zmień bazę danych "New_Feature" na "main".

Zrzut ekranu przedstawiający ponowne łączenie gałęzi w programie Visual Studio.

Aby dowiedzieć się więcej na temat scalania, ponownego łączenia i rozgałęziania ogólnie, zobacz Git Branching w witrynie internetowej git.

Kopiowanie zatwierdzeń (cherry-pick)

Skopiuj zatwierdzenia z jednej gałęzi do innej przy użyciu opcji cherry-pick. W przeciwieństwie do scalania lub ponownej bazy wybór wiśni powoduje tylko zmiany z wybranych zatwierdzeń, zamiast wszystkich zmian w gałęzi. Cherry-picking to świetny sposób na rozwiązanie tych typowych problemów:

  • Przypadkowe zatwierdzenie w niewłaściwej gałęzi. Wybierz zmiany w odpowiedniej gałęzi, a następnie zresetuj oryginalną gałąź do poprzedniego zatwierdzenia.
  • Ściąganie zestawu zatwierdzeń w gałęzi funkcji, więc scalanie ich z powrotem z gałęzią główną wcześniej.
  • Przenoszenie określonych zatwierdzeń z gałęzi głównej bez ponownego łączenia gałęzi.

Aby skopiować zmiany z zatwierdzenia do bieżącej gałęzi przy użyciu wiersza polecenia, użyj następującego polecenia:

git cherry-pick 7599e530

Aby wykonać to samo w programie Visual Studio, wyświetl podgląd gałęzi, z której chcesz wybrać zatwierdzenie, wybierając je jednym kliknięciem. Następnie kliknij prawym przyciskiem myszy docelowe zatwierdzenie i wybierz pozycję Cherry-Pick.

Zrzut ekranu przedstawiający wybór wiśni w programie Visual Studio.

Po zakończeniu operacji program Visual Studio wyświetli komunikat o powodzeniu. Zatwierdzenie wybrane przez Ciebie jest wyświetlane w sekcji Wychodzące .

Aby dowiedzieć się więcej na temat zatwierdzeń wybierania wiśni, zobacz stronę internetową Git dla polecenia cherry-pick.

Cofnij zmiany

Użyj polecenia przywróć, aby cofnąć zmiany wprowadzone w zatwierdzeniach wypychanych do udostępnionych gałęzi. Polecenie przywracania tworzy nowe zatwierdzenie, które cofa zmiany wprowadzone w poprzednim zatwierdzeniu. Polecenie przywracania nie zapisuje ponownie historii repozytorium, co ułatwia korzystanie z nich podczas pracy z innymi osobami.

Aby przywrócić zmiany wprowadzone w zatwierdzeniu przy użyciu wiersza polecenia, użyj następujących poleceń. Zastąp przykładowy identyfikator identyfikatorem rzeczywistego zatwierdzenia w gałęzi.

git revert 53333305
git commit

W poprzednim przykładzie polecenia cofają zmiany wprowadzone w zatwierdzeniu 53333305 i tworzą nowe zatwierdzenie w gałęzi. Oryginalne zatwierdzenie jest nadal w historii usługi Git. Aby wykonać to samo w programie Visual Studio, kliknij prawym przyciskiem myszy zatwierdzenie, które chcesz przywrócić, a następnie wybierz polecenie Przywróć. Po potwierdzeniu akcji i zakończeniu operacji program Visual Studio wyświetli komunikat o powodzeniu, a nowe zatwierdzenie zostanie wyświetlone w sekcji Wychodzące .

Zrzut ekranu przedstawiający przywracanie w programie Visual Studio.

Wybierz nowe zatwierdzenie, aby potwierdzić, że cofnie zmiany przywróconego zatwierdzenia.

Zrzut ekranu przedstawiający potwierdzanie operacji przywracania.

Aby dowiedzieć się więcej na temat przywracania zmian, zobacz stronę internetową git dotyczącą polecenia przywracania.

Resetowanie gałęzi do poprzedniego stanu

Użyj polecenia reset, aby przywrócić zawartość poprzedniego zatwierdzenia do gałęzi w repozytorium lokalnym. Ta akcja odrzuca wszystkie zmiany, które wystąpiły od momentu zresetowania gałęzi do.

Ostrzeżenie

Nie resetuj udostępnionych gałęzi, ponieważ możesz usunąć pracę innych osób. Zamiast tego użyj polecenia przywróć.

Aby zresetować gałąź do poprzedniego stanu przy użyciu wiersza polecenia, użyj następującego polecenia. Zastąp przykładowy identyfikator identyfikatorem rzeczywistego zatwierdzenia w gałęzi.

git reset --hard 53333305

Część --hard polecenia informuje usługę Git o zresetowaniu plików do stanu poprzedniego zatwierdzenia i odrzuceniu wszelkich przygotowanych zmian. Aby wykonać to samo w programie Visual Studio, kliknij prawym przyciskiem myszy zatwierdzenie, do którego chcesz zresetować gałąź, a następnie wybierz polecenie Resetuj>usuń zmiany (-hard).

Zrzut ekranu przedstawiający resetowanie gałęzi w programie Visual Studio.

Aby dowiedzieć się więcej na temat resetowania gałęzi, zobacz stronę internetową usługi Git dotyczącą polecenia resetowania.