Zarządzanie repozytoriami Git w programie Visual Studio
Okno Git Repository zawiera pełnoekranowe ś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 jest również doskonałym miejscem 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ę View>Git repository (lub naciśnij Ctrl+0, Ctrl+R) lub naciśnij Ctrl+Q i w obszarze Featureswyszukaj repozytorium Git.
Wyjaśnienie zatwierdzenia za pomocą czatu Copilot w usłudze GitHub
Za pomocą programu Visual Studio 2022 od wersji 17.10 (zapowiedź 2) i nowszych, oraz asystenta GitHub Copilot, można używać AI do generowania szczegółowego opisu komitu, który wyjaśnia zmiany wprowadzane w tym komicie. Naciśnij przycisk Wyjaśnij, aby GitHub Copilot utworzył opis commit'u. Aby zainstalować narzędzie GitHub Copilot, zobacz Instalowanie narzędzia GitHub Copilot i zarządzanie nim w programie Visual Studio.
Zmień ostatnie zatwierdzenie (poprawka)
Aktualizowanie ostatniego zatwierdzenia jest nazywane zmianą w usłudze Git i jest to typowy przypadek 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 ostatniego zatwierdzenia, kliknij je dwukrotnie, a następnie wybierz opcję Edytuj obok komunikatu zatwierdzenia.
Po zakończeniu edytowania wiadomości zatwierdzenia wybierz Zmień.
Jeśli musisz uwzględnić zmiany kodu w ostatnim zatwierdzeniu, możesz to zrobić w oknie Git Changes. Zaznacz pole wyboru Popraw, a następnie zatwierdź zmiany.
Aby dowiedzieć się więcej na temat modyfikacji, w tym sposobu zmiany komunikatów zatwierdzenia innych niż najnowsze, zobacz Narzędzia Git - Przepisywanie historii na stronie Git.
Scalanie commitów (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 commity i kończysz z długą listą commitów, które chcesz wyczyścić przed przesłaniem do zdalnego repozytorium.
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 pick
na squash
, zapisz i zaktualizuj treść komunikatu zatwierdzenia.
Aby scalić zatwierdzenia w programie Visual Studio, użyj Ctrl, aby wybrać wiele zatwierdzeń, które chcesz scalić. Następnie kliknij prawym przyciskiem myszy i wybierz pozycję Zatwierdzenia squasha. Program Visual Studio automatycznie łączy komunikaty zatwierdzenia, ale czasami lepiej jest podać zaktualizowany komunikat. Po przejrzeniu i zaktualizowaniu komunikatu zatwierdzenia wybierz przycisk Squash.
Aby dowiedzieć się więcej o squashingu, zobacz Narzędzia Git — Przepisywanie Historii na stronie internetowej Git.
Scalanie i przerebasowanie 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ą funkcjonalności. Może się to również zdarzyć, gdy skończysz pracę nad gałęzią funkcjonalności i trzeba zachować zmiany, przenosząc je do innej gałęzi. W usłudze Git można uwzględnić te aktualizacje przez scalenie lub ponowne łączenie gałęzi.
Notatka
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 "główny" i wybierz pozycję Scal "main" z "New_Feature".
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 "main" i wybierz pozycję Zrebasuj 'New_Feature' na 'main'.
Aby dowiedzieć się więcej na temat scalania, ponownego łączenia i ogólnie o rozgałęzianiu, zobacz Git Branching w witrynie internetowej Git.
Kopiowanie zatwierdzeń (cherry-pick)
Skopiuj commit z jednej gałęzi do innej, przenosząc poprzez opcję cherry-pick. W przeciwieństwie do scalania lub przebazowania, wybieranie commitów wprowadza tylko te zmiany z commitów, które wybierasz, 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.
- Wyciąganie zestawu zatwierdzeń z gałęzi funkcji, aby można było szybciej scalić je z gałęzią główną.
- Przenoszenie określonych zmian z gałęzi głównej bez ponownego bazowania twojej 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 Cherry-Pick.
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 wybierania pojedynczych zatwierdzeń, zobacz stronę internetową Git dotyczącą polecenia cherry-pick.
Cofnij zmiany
Użyj polecenia revert, aby cofnąć zmiany wprowadzone w commitach wypchniętych do udostępnionych gałęzi. Polecenie przywracania tworzy nowe zatwierdzenie, które cofa zmiany wprowadzone w poprzednim zatwierdzeniu. Polecenie 'revert' nie zmienia historii repozytorium, co czyni je bezpiecznym do użycia w pracy zespołowej.
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 anulują zmiany dokonane w commicie 53333305 i tworzą nowy commit 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 pozycję Przywróć. Po potwierdzeniu akcji i ukończeniu operacji, program Visual Studio wyświetli komunikat o pomyślnym zakończeniu, a nowe zatwierdzenie pojawi się w sekcji Wychodzące.
Wybierz nowe zatwierdzenie, aby potwierdzić, że anuluje zmiany wycofanego zatwierdzenia.
Element menu Przywróć może być wyszaryzowany (wyłączony) w pewnych okolicznościach, na przykład w przypadku zatwierdzeń scalania lub gdy operacja usługi Git jest uruchomiona.
Aby dowiedzieć się więcej na temat przywracania zmian, zobacz stronę internetową usługi Git dotyczącą polecenia przywracania.
Resetowanie gałęzi do poprzedniego stanu
Użyj polecenia reset, aby przywrócić gałąź w lokalnym repozytorium do zawartości poprzedniego zatwierdzenia. To działanie odrzuca wszystkie zmiany, które zaszły od momentu ostatniego zatwierdzenia, do którego zamierzasz zresetować swoją gałąź.
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 commitu w Twojej gałęzi.
git reset --hard 53333305
--hard
część polecenia nakazuje usłudze Git zresetowanie plików do stanu poprzedniego zatwierdzenia i odrzucenie 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 pozycję Resetuj>Usuń zmiany (twarde).
Aby dowiedzieć się więcej na temat resetowania gałęzi, zobacz stronę internetową Git dotyczącą polecenia reset.