Wdrażanie projektu za pośrednictwem zdalnego repozytorium pozwala elastycznie zarządzać każdym jego fragmentem. Poprawki błędów, aktualizacje funkcji, usuwanie plików, praca zespołowa, wkłady typu open source, wdrażanie kodu i nie tylko są teraz na wyciągnięcie ręki dzięki silnej wiedzy o Git.
Używasz Gita, ale chcesz dowiedzieć się więcej? Oto kilka bardziej zaawansowanych wskazówek Git, dzięki którym kontrola wersji projektu będzie dziecinnie prosta.
Oddział Gita
Gałąź Git uniemożliwia wypychanie bezpośrednio do gałęzi master. Jest to pomocne, jeśli zarządzasz projektem z zespołem programistów. Możesz utworzyć dowolną liczbę gałęzi Git, a następnie scalić je z gałęzią główną.
Utwórz gałąź Git
Aby utworzyć gałąź Git, użyj:
git branch branch_name
Przełącz się na gałąź Git
Posługiwać się Sprawdź aby przełączyć się na gałąź Git:
git checkout branch_name
Po przejściu do oddziału możesz etapować swoje zmiany za pomocą git add --all . Następnie zatwierdź je za pomocą git commit -m 'nazwa zatwierdzenia' Komenda.
Porównaj oddział z mistrzem
Użyj git diff Komenda:
git diff master..branch_name
Aby porównać określone pliki:
git diff master..testb -- main.html
Porównanie dwóch gałęzi jest podobne do porównania gałęzi z wzorcem:
git diff branch1..branch2
Aby zobaczyć różnice w określonym pliku między dwiema gałęziami:
git diff branch1..branch2 -- main.html
Wypychanie zmian do oddziału zdalnego
Możesz chcieć, aby inny programista przyjrzał się zmianom, które wprowadziłeś w pliku w Twojej lokalnej gałęzi przed opublikowaniem ich. Dobrą praktyką jest przeniesienie lokalnej gałęzi Git do zdalnej repliki, aby mogli się przyjrzeć.
Załóżmy, że utworzyłeś wcześniej oddział lokalny o nazwie zmiany . Możesz przełączyć się do tej gałęzi lokalnej, dostosować wszystkie pliki, które chcesz, a następnie umieścić i zatwierdzić w tej gałęzi.
Następnie możesz przekazać te zmiany do zdalnej wersji gałęzi:
git push origin changes
Scal zdalny oddział z masterem za pomocą pull request
Więc inny programista przeprowadził audyt zmian w zdalnym oddziale ( zmiany ). Ale chcesz połączyć go z gałęzią master i wprowadzić na żywo.
Pamiętaj, że twoja zdalna gałąź dziedziczy nazwę twojej lokalnej gałęzi Git ( zmiany ). Oto jak scalić zmiany:
Przejdź do gałęzi master:
git checkout master
Wyciągnij początek lub HEAD gałęzi ( zmiany ), aby połączyć go z gałęzią master:
git pull origin changes
Przekaż to scalenie na żywo do gałęzi głównej:
git push origin master
Zamiast tego użyj Git Merge
Aby scalić gałąź z wzorcem za pomocą wybrać się Komenda:
Przejdź do gałęzi master:
git checkout master
Połącz go z gałęzią ( zmiany ):
git merge changes
Następnie wypchnij scalenie na żywo do gałęzi master:
sortuj amazon według liczby recenzji
git push origin master
Upewnij się, że wymieniłeś zmiany z nazwą Twojego oddziału.
Gdy połączenie się powiedzie, możesz usunąć oddział lokalnie i zdalnie jeśli już go nie potrzebujesz:
Związane z: Jak zmienić nazwę oddziału w Git
Zmiana bazy Gita
Jeśli masz wiele gałęzi z przestarzałymi zatwierdzeniami, możesz zmienić bazę lub skoncentrować szef/ref. tych gałęzi, aby odziedziczyć szef/ref. zaktualizowanego.
Rebazowanie przydaje się zatem, gdy trzeba zaktualizować niektóre gałęzie o bazę aktualnej.
Zmiana bazy nie powinna być jednak częstą czynnością, zwłaszcza jeśli pracujesz z zespołem, ponieważ może to zakłócić cały przepływ pracy. Ale jeśli pracujesz sam i znasz swój przepływ pracy i gałęzie, zmiana bazy nie powinna siać spustoszenia, jeśli wiesz, gdzie i jak z niego korzystać.
Załóżmy na przykład, że masz dwie gałęzie; oddział1 i oddział2. Od pewnego czasu nie wprowadzałeś żadnych zmian w branch1. Ale konsekwentnie zatwierdzasz zmiany w branch2, w tym ostatnio.
Więc zdecydowałeś się przeprowadzić branch1 wraz z przepływem. Zmiana bazy branch1 na branch2 oznacza zatem, że każesz branch1 ignorować swoje poprzednie zatwierdzenia i dziedziczyć ostatnią zmianę dokonaną w branch2.
Oto jak możesz to zrobić:
Przełącz się na opuszczony oddział (gałąź 1):
git checkout branch1
Następnie zmień bazę branch1 na zaktualizowany branch2:
git rebase branch2
Git Squash
Git squash pozwala połączyć wiele zatwierdzeń w jedno. Pomaga, gdy biegasz git commit wiele razy na jednej aktualizacji. Praktycznym przykładem jest sytuacja, w której każda naprawa błędu lub refaktoryzacja kodu dla pojedynczej funkcji ma osobne zatwierdzenie.
Ale możesz nie chcieć wypychać zatwierdzenia HEAD z towarzyszącymi, ponieważ wszystkie mają ten sam cel. Zalecanym podejściem jest zgniecenie ich w jeden, aby uniknąć zamieszania podczas śledzenia zatwierdzeń.
Najlepszym sposobem na zgniecenie zatwierdzeń jest użycie interaktywnego trybu zmiany bazy. Spójrz na poniższy przykład, aby lepiej to zrozumieć.
W tym przykładzie załóżmy, że masz pięć poprawek błędów. I dla każdego z nich jest zobowiązanie. Oto jak możesz zmiażdżyć te pięć commitów w jedno:
Biegać git reflog aby wyświetlić kod skrótu swoich zatwierdzeń:
git reflog
Oto wynik w tym przypadku:
Teraz Twoim celem jest zmiażdżenie ostatnich pięciu zatwierdzeń, zaczynając od pierwsza poprawka aż do piąta poprawka .
Aby to zrobić, skopiuj kod skrótu zatwierdzenia tuż poniżej pierwsza poprawka ( 0a83962 ). Następnie wciśnij Q rzucić reflog .
Teraz biegnij git rebase --interactive na tym haszu.
git rebase --interactive 0a83962
Następnie Git otwiera interaktywny plik zmiany bazy, który wygląda tak:
Aby zmiażdżyć zatwierdzenia, z wyłączeniem pierwsza poprawka , wymienić wybierać z s dla każdego z pozostałych zatwierdzeń:
Zapisz i zamknij ten plik.
Następnie otwiera się inny plik, w którym możesz zmienić nazwę zgniecionego zatwierdzenia:
jak usunąć posty na facebooku
Wyczyść je i wpisz preferowaną nazwę zgniecionego zatwierdzenia:
Zapisz ten plik. Następnie zamknij go, a powinieneś otrzymać komunikat o powodzeniu w swoim terminalu.
Notatka: Interaktywny plik może zostać otwarty w terminalu. Ale jeśli korzystasz z systemu Windows, możesz zmusić terminal do globalnego otwierania plików w ulubionym edytorze tekstu, aby ułatwić sobie zgniatanie.
Aby to zrobić, otwórz wiersz poleceń i uruchom:
git config --global core.editor ''path to choice text editor' -n -w'
Git Fork kontra Git Clone
Rozwidlenie i klonowanie to dwa różne terminy w Git. Nie możesz rozwidlić swojego repozytorium, ponieważ już tam jest. Możesz jednak forkować repozytorium innych osób i później je sklonować.
Rozwidlenie repozytorium oznacza, że pobierasz kopię czyjegoś repozytorium i czynisz je swoim. Gdy otrzymasz kopię tego repozytorium, możesz je sklonować tak, jak każde z repozytoriów git dla lokalnych zmian.
Oto jak sklonuj zdalne repozytorium na GitHub i zainicjuj pobieranie do lokalnego katalogu:
git clone https://github.com/username/repository_name.git/
Przywróć plik do stanu domyślnego
Jeśli chcesz wyczyścić zmiany w pliku po ostatnim zatwierdzeniu, możesz użyć przywracanie git Komenda:
git restore filename
Zmień zobowiązanie
Możesz wrócić do poprzedniego zatwierdzenia, jeśli zapomnisz dokonać zmian w niektórych plikach podczas ich przemieszczania.
Wprowadź zmiany w zapomnianym pliku. Następnie użyj git zmień aby przejrzeć zatwierdzenie:
git add file_forgotten
git commit --amend
Pliki usuwane ze sceny
Możesz usunąć określone pliki, które przygotowałeś do zatwierdzenia, używając idź rm Komenda:
git rm --cached filename
Możesz także usunąć kilka plików jednocześnie:
git rm --cached file1 file2 file3 file4
Pamiętaj, aby do każdego pliku, który zwalniasz, dołączyć odpowiednie rozszerzenie pliku. Na przykład zwykły plik tekstowy powinien być nazwapliku.txt .
Związane z: Jak wyczyścić Git i usunąć nieśledzone pliki
Resetowanie Gita
Za pomocą git reset jest przydatne, jeśli chcesz jednocześnie usunąć wszystkie pliki, które przygotowałeś do zatwierdzenia:
git reset
Git reset HEAD wskazuje jednak HEAD gałęzi na konkretne zatwierdzenie w twoim drzewie roboczym. Na przykład, jeśli nie wypchnąłeś jeszcze swojego obecnego zatwierdzenia, możesz wrócić do ostatnio wypchniętego zatwierdzenia:
git reset --soft HEAD~1
Zastępować --miękki z --twardy jeśli już wypchnąłeś aktualne zatwierdzenie:
git reset --hard HEAD~1
Idź Cofnij
w przeciwieństwie do Resetowanie Komenda, idź cofnąć się zachowuje integralność historii zatwierdzeń. Jest to przydatne, jeśli chcesz zmienić zatwierdzenie z powodu błędów lub błędów.
Nie porzuca docelowego zatwierdzenia ani nie tworzy nowego. Zamiast tego przywraca ostatnie zmiany, które wprowadziłeś, bez usuwania lub zmiany nazwy takiego zatwierdzenia. To świetny sposób na utrzymanie czystszych zatwierdzeń, a ponadto jest bezpieczniejszy niż ciągłe resetowanie.
Aby powrócić do zatwierdzenia:
git revert HEAD~1
Gdzie GŁOWA~1 wskazuje na konkretne zatwierdzenie w twoim drzewie roboczym.
Usuń śledzony plik lub katalog
Możesz użyć git rm -f aby usunąć wszystkie śledzone pliki w drzewie roboczym. Pamiętaj jednak, że Git nie może usunąć nieśledzonych plików, ponieważ nie buforuje ich.
Aby usunąć plik pomostowy:
git rm -f filename
Aby usunąć folder przemieszczony:
git rm -r -f foldername
Rejestrowanie Git
Aby wyświetlić swoje dzienniki i historię zmian w Git:
git log
Aby zarejestrować działania w określonym oddziale:
git log branch_name
Związane z: Jak sprawdzić historię projektu za pomocą git log
Czasami możesz chcieć powrócić do porzuconego zatwierdzenia. Aby wyświetlić porzucone zatwierdzenia, w tym te istotne:
git reflog
Aby wyświetlić logi referencyjne dla określonej gałęzi:
git reflog branch_name
Zarządzaj wersjami projektów jak profesjonalista z Git
Dzięki Gitowi, który oferuje wiele korzyści, możesz zdalnie zarządzać wydaniami projektów bez włamywania się do plików i folderów lokalnie w głównej gałęzi. Dodatkowo umożliwia łatwe prowadzenie projektów w zespole.
Jak już zauważyłeś, Git ma wiele funkcji, które możesz poznać. Ale uważaj, aby celowo korzystać z tych funkcji. W przeciwnym razie możesz skończyć z psuciem rzeczy. To powiedziawszy, nadal możesz uruchomić zdalne repozytorium demo i bawić się tymi funkcjami.
Udział Udział Ćwierkać E-mail Zarządzaj wersjonowaniem plików jak programista z GitProgramiści stworzyli systemy kontroli wersji (VCS) do rozwiązywania problemów z kontrolą wersji plików. Przyjrzyjmy się podstawom kontroli wersji przy użyciu najlepszego dzisiejszego systemu, Gita.
Czytaj dalej Powiązane tematy- Programowanie
- Tworzenie stron internetowych
- GitHub
- Poradniki kodowania
Idowu pasjonuje się każdą inteligentną technologią i produktywnością. W wolnych chwilach bawi się kodowaniem, a gdy się nudzi, przechodzi na szachownicę, ale od czasu do czasu uwielbia też oderwać się od rutyny. Jego pasja do pokazywania ludziom drogi do nowoczesnych technologii motywuje go do pisania więcej.
Więcej od Idowu OmisolaZapisz się do naszego newslettera
Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!
Kliknij tutaj, aby zasubskrybować