Często zadawane pytania dotyczące usługi Git

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Jak łatwo pobrać gałąź zdalną do mojego lokalnego repozytorium?

Najpierw upewnij się, że masz origin skonfigurowane repozytorium. Jeśli sklonujesz git clonerepozytorium , musisz mieć takie repozytorium. Gdy wyewidencjonujesz gałąź, która nie istnieje lokalnie, usługa Git określi, czy istnieje gałąź zdalna o tej samej nazwie. Jeśli istnieje, usługa Git tworzy gałąź lokalną z odwołaniem do zdalnej gałęzi tej nazwy. Służy git pull do pobierania zatwierdzeń i lokalnego nadrobienia zaległości w historii gałęzi w usłudze Git.

Jak sprawdzić, w której gałęzi pracuję?

git branch bez argumentów pokazuje lokalne gałęzie i wyróżnia te, które zostały wyewidencjonowane. W programie Visual Studio pasek stanu wyświetla również bieżącą gałąź podczas pracy z projektem przechowywanym w lokalnym repozytorium Git.

Kiedy należy dokonać zatwierdzeń usługi Git?

Zaakceptowaną praktyką jest wprowadzanie oddzielnych zatwierdzeń dla logicznie oddzielnych zmian. Pomyśl o zatwierdzeniach jako wpisach w dzienniku. Za każdym razem, gdy wprowadzisz zmianę, która jest warta uwagi, zapisz ją w zatwierdzeniu. Popularną opcją jest umożliwienie wszystkim zatwierdzania lokalnie tak bardzo, jak chcą, ale przed wypchnięciem lokalnych zatwierdzeń, najpierw zmiażdżą je przez ponowne łączenie. Ta opcja zapewnia użytkownikom elastyczność wykonywania częstych zatwierdzeń przy jednoczesnym usprawnieniu historii zatwierdzeń.

Jeśli każda gałąź zachowuje pełną historię zatwierdzeń, nie sprawia, że historia zatwierdzeń *main* jest trudna do naśladowania w czasie?

Duże projekty z wieloma zatwierdzeniami i wieloma współautorami mogą powodować historie zatwierdzeń dla main gałęzi, która reprezentuje historię programowania gałęzi tematów scalonych w main więcej niż historia programowania całego projektu. Usługa Git udostępnia funkcję kondensacji zatwierdzeń w gałęziach za pomocą zatwierdzeń ściągnięć i ponownego łączenia. W przypadku zatwierdzeń squash historia zatwierdzeń w gałęzi staje się mniej szczegółowa, co ułatwia scalanie historii zatwierdzeń w gałęzi głównej.

Jak sprawdzić, kto dokonał określonej zmiany w pliku?

git blame Użyj polecenia , aby dowiedzieć się, kto dokonał określonej zmiany w pliku. Z repozytorium lokalnego możesz uruchomić git blame polecenie z parametrem -L , określając, które wiersze zainteresowania. Blame generuje sformatowane dane wyjściowe z zatwierdzeniem, które ostatnio zaktualizowało wiersz i nazwę osoby, która dokonała zatwierdzenia.

> git blame foo.js -L 20,+40  # show the blame output for the next 40 lines starting at line 20

215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 20) line 20 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 21) line 21 of the code
215d1108 (Francis Totten 2015-11-21 09:54:23 -0800 22) line 22 of the code

Blame wyszukuje historię zatwierdzń. Możesz również przejrzeć historię pliku w portalu internetowym, aby określić, kto dokonał zmiany i kiedy. Otwórz Eksploratora kodu dla repozytorium i gałęzi, a następnie wybierz interesujący go plik. Usługa Azure Repos wyświetli pełną historię zatwierdzń dla tego pliku w bieżącej gałęzi.

Wprowadzono zmiany w niektórych plikach, a teraz nie mogę wyewidencjonować innej gałęzi ani zmienić bazy mojej pracy.

Wyewidencjonowanie w innej gałęzi w usłudze Git będzie miało wpływ na stan plików w systemie plików. Usługa Git używa historii zatwierdzeń, aby upewnić się, że pracujesz z plikami reprezentującymi stan gałęzi. Jeśli spróbujesz zmienić gałęzie podczas niezatwierdzonych zmian, te zmiany zostaną zastąpione podczas wyewidencjonowania. Ponieważ usługa Git nie chce, aby przypadkowo utraciła zmiany, uniemożliwia to wyewidencjonowania. Dostępne są dwie opcje:

Zrobiłem trochę pracy, ale muszę przełączyć się na coś innego. Jak zapisać moją pracę później bez zatwierdzania zmian?

Czasami chcesz zachować zmiany, ale nie zatwierdzić ich, ponieważ nie są one w momencie, w którym dobrze się robisz. Użyj narzędzia Git stash. Magazyn pobiera bieżące zmiany etapowe i nieprzygotowane w gałęzi i zapisuje pracę, a następnie zwraca gałąź z powrotem do stanu ostatniego zatwierdzenia. Możesz zmienić na inną gałąź, wykonać swoją pracę, a następnie po powrocie do tej gałęzi uruchomić stash apply polecenie w celu przywrócenia zmian.

> git stash
Saved working directory and index state WIP on feature1: be26067 updated endpoint docs
HEAD is now at be26067

Po uruchomieniu polecenia git stash applyostatnio wprowadzone zmiany zostaną zastosowane do bieżącej gałęzi. Jeśli wystąpi konflikt podczas stosowania zmienionych zmian, stash przywróci zmiany plików, które nie powodują konfliktu, i utworzy znaczniki konfliktów w plikach, które powodują konflikt, aby rozwiązać ten problem. W tym przypadku należy ręcznie scalić zmiany.

Po zakończeniu wprowadzania zmian usuń ją za pomocą git stash drop tego polecenia. Spowoduje to usunięcie ostatniego zestawu zmian stashed.

Można mieć wiele skrótów, ale wymaga to bardziej ręcznego manipulowania, ponieważ musisz jawnie zastosować i upuszczać skróty. Dowiedz się więcej z dokumentacji usługi Git Stash.

Jak zmienić domyślny edytor narzędzi wiersza polecenia Usługi Git?

Domyślnie narzędzie Git wiersza polecenia będzie używać edytora wiersza polecenia podczas monitowania o komunikaty zatwierdzenia, wykonywania baz i innych zadań, które wymagają wykonania dodatkowych informacji. Domyślny edytor jest skonfigurowany przy użyciu polecenia git config:

> git config core.editor _path_to_editor_ _options_to_editor_

Usługa Git Dla systemu Windows ułatwia ustawianie Notatnika jako edytora:

> git config core.editor notepad

To polecenie umożliwia skonfigurowanie Notatnik systemu Windows w celu edytowania informacji usługi Git zgodnie z potrzebami i poprawnego przekazywania tekstu z usługi Git do Notatnik. Można również określić

> git config format.commitMessageColumns 72 

Aby zachować kolumny tekstowe w komunikatach zatwierdzenia do preferowanych 72 i zawijania wierszy po osiągnięciu tego limitu znaków w wierszu.

Jak mogę zmienić nazwę użytkownika i wiadomość e-mail wyświetlaną w zatwierdzeniach?

Usługa Git umieszcza informacje o nazwie użytkownika i adresie e-mail wewnątrz każdego zatwierdzenia, a usługa Azure Repos używa tych informacji podczas wyświetlania zatwierdzeń i pracy z żądaniami ściągnięcia. Jeśli pracujesz w wierszu polecenia, możesz zaktualizować nazwę i informacje e-mail wyświetlane przy git config użyciu polecenia :

> git config --global user.email "frank@fabrikam.com"
> git config --global user.name "Francis Totten"

Opcja --global spowoduje ustawienie wiadomości e-mail i nazwy zawartej w zatwierdzeniach dla wszystkich repozytoriów Git w tym systemie. Jeśli chcesz zmienić ustawienia pojedynczego repozytorium, musisz zmienić katalog, w którym znajduje się repozytorium Git, i uruchomić powyższe polecenia bez flagi --global .

Możesz również zmienić nazwę i ustawienia poczty e-mail z programu Visual Studio. W menu Git wybierz pozycję Ustawienia W oknie dialogowym Opcje wybierz pozycję Git Global Ustawienia lub Git Repository Ustawienia> Ogólne.

Program Visual Studio 2019 w wersji 16.8 lub nowszej zapewnia środowisko kontroli wersji usługi Git przy zachowaniu interfejsu użytkownika programu Git programu Team Explorer . Aby użyć programu Team Explorer, usuń zaznaczenie pozycji Opcje narzędzi>>w wersji zapoznawczej Funkcje>nowego środowiska użytkownika usługi Git na pasku menu. Funkcje usługi Git można wykonywać z dowolnego interfejsu zamiennie.

W programie Team Explorer wybierz pozycję Ustawienia i w obszarze Git wybierz link Global Ustawienia lub Repository Ustawienia.