Jak wiesz, jest to najlepsza praktyka, aby zawsze używać zarządzania kontrolą źródła (SCM) dla swoich projektów-nawet osobistych. Czy wiesz, że Android Studio ma niesamowitą integrację z Git do zarządzania kontrolą źródła? Jeśli nie wiedziałeś lub nie masz doświadczenia w korzystaniu z niego, to kontynuuj czytanie tego postu. Nawet jeśli już korzystałeś z integracji Android Studio z Git, możesz nadal podnieść kilka przydatnych sztuczek w tym poście.
Pokażę ci wiele funkcji wsparcia Git w Android Studio, a także jak łatwo jest wykonywać różne operacje Git (commit, push, pull, branch, itp.) z wnętrza Android Studio.
W tym poradniku, przeprowadzę Cię przez listę funkcji SCM, które są dostępne w Android Studio. Przyjrzymy się następującym obszarom:
- integracja nowego projektu Android Studio z Gitem
- praca z GitHubem lub Bitbucketem
- poznanie okna kontroli wersji
- commits
- branches
- pushing i pulling ze zdalnego repozytorium
.
- Wymagania wstępne
- 1. Tworzenie projektu Android Studio
- 2. Integracja Git
- 3. Integracja z GitHub lub Bitbucket
- 4. Okno Kontroli Wersji
- Karta Zmiany lokalne
- Zakładka Konsola
- Karta Dziennik
- 5. Dokonywanie commitów
- Przeglądanie dziennika commitów
- 6. Tworzenie gałęzi Git
- 7. Scalanie gałęzi Git
- Merge, Checkout, Delete, Compare, Rename Branch
- 8. Push to a Remote Repository
- 9. Pulling From a Remote Repository
- Zakończenie
Wymagania wstępne
Aby móc podążać za tym tutorialem, będziesz potrzebował:
- podstawowe zrozumienie rozproszonego systemu kontroli wersji Git
- Android Studio 3.0 lub nowszy
1. Tworzenie projektu Android Studio
Uruchom Android Studio i utwórz nowy projekt (możesz go nazwać GitApplicationDemo
) z pustą aktywnością o nazwie MainActivity
.
2. Integracja Git
Po skonfigurowaniu projektu Android Studio kliknij menu VCS, najedź na menu Import into Version Control i wybierz opcję Utwórz repozytorium Git….
Następnie wybierz górny folder nadrzędny swojego projektu Android Studio.
Kliknij przycisk OK, aby zainicjować projekt za pomocą Git. Pod maską, Android Studio wykonuje polecenie Git:
git init
Dla przypomnienia, oto co to polecenie zrobi:
To polecenie tworzy puste repozytorium Git – zasadniczo katalog
.git
z podkatalogami dla plikówobjects
,refs/heads
,refs/tags
i szablonów. Tworzony jest również początkowyHEAD
plik odwołujący się do HEAD gałęzi master.
Wystąpi okno dialogowe z informacjami:
To mówi nam o pliku o nazwie vcs.xml wewnątrz folderu .idea. Ten folder zawiera tylko ustawienia specyficzne dla projektu. Zauważ, że jest to format używany przez wszystkie ostatnie wersje IntelliJ IDEA.
Właściwie, pliki w .idea/
nie powinny trafić do Git – powinieneś więc dodać je do .gitignore
.
Domyślnie jesteśmy przełączani do gałęzi master. Zawsze możesz wyświetlić bieżącą gałąź projektu w prawym dolnym rogu Android Studio.
3. Integracja z GitHub lub Bitbucket
Możesz łatwo pracować nad dowolnym repozytorium kodu źródłowego Androida, które znajduje się na koncie GitHub lub Bitbucket w Android Studio. Pozwól, że pokażę ci, jak to zrobić.
Navigate to File > New > Project from Version Control > GitHub.
(Jeśli chcesz pracować nad repo z Bitbucket, wybierz zamiast tego Bitbucket. Jeśli chcesz po prostu sklonować repo Git z Internetu do lokalnego komputera, wybierz opcję menu Git.)
Następnie wprowadź dane uwierzytelniające konta GitHub i kliknij przycisk Zaloguj.
Jeśli logowanie się powiodło, pojawi się okno dialogowe Klonuj Repozytorium. To okno dialogowe wyświetla listę rozwijaną zawierającą listę repozytoriów na GitHubie, które obecnie posiadasz lub nad którymi pracowałeś.
Kliknij Clone, aby sklonować repo na lokalnym komputerze wewnątrz już wybranego katalogu nadrzędnego.
4. Okno Kontroli Wersji
Po pomyślnym zainicjowaniu naszego projektu Android Studio za pomocą Git, Android Studio pokaże okno Kontroli Wersji. Kliknij na zakładkę Kontrola wersji (na dole po lewej stronie Android Studio) i zbadajmy, co tam mamy. Zauważ, że możesz użyć Alt-9, aby szybko otworzyć to okno.
Wewnątrz tego okna mamy trzy różne zakładki: Zmiany lokalne, Konsola oraz Dziennik.
Karta Zmiany lokalne
Pokazuje ona listę plików, które zostały zmodyfikowane lokalnie (na własnym komputerze) i nie zostały jeszcze przesłane do repozytorium.
Przyjrzyjrzyjmy się paskom narzędzi elementów dostępnym po wejściu na kartę Zmiany lokalne.
- Kliknij tę ikonę, aby odświeżyć stan plików w bieżącym miejscu pracy. Skrót klawiszowy to Control-F5.
- Kliknięcie tej ikony spowoduje zatwierdzenie bieżących zmian. Skrótem jest Control-Alt-Z.
- Kliknij tę ikonę, aby cofnąć wybrane zmiany.
- Kliknij tę ikonę, aby utworzyć nową listę zmian. Zauważ, że lista zmian to zestaw zmian w plikach, który reprezentuje logiczną zmianę w kodzie źródłowym. Skrótem klawiszowym jest Alt-Insert.
- Kliknij ten przycisk, aby usunąć wybraną listę zmian.
- Aby uaktywnić listę zmian, wystarczy kliknąć tę ikonę.
- Aby przenieść wybrany plik do innego wykazu zmian, należy kliknąć tę ikonę.
- Kliknij tę ikonę, aby rozwinąć widok wszystkich plików.
- Kliknij tę ikonę, aby zwinąć wszystkie pliki.
- Kliknij tę ikonę, aby wyświetlić zmienione pliki, które są pogrupowane według folderów.
- Kliknij tę ikonę, aby skopiować ścieżkę do wybranego pliku do schowka systemowego.
- Kliknij tę ikonę, aby wyświetlić węzeł ignorowane pliki z listą istniejących plików ignorowanych przez Git.
- Kliknij tę ikonę, aby ustawić listę plików, które będą ignorowane przez Git.
- Kliknij tę ikonę, aby otworzyć okno Preview Diff w celu porównania bieżącego pliku z najnowszą wersją.
Zakładka Konsola
W tej zakładce widzimy wynik wykonania poleceń związanych z Gitem. Zauważ, że nie możesz pisać poleceń Git wewnątrz tej zakładki – zrób to w oknie terminala w Android Studio.
Karta Dziennik
Ta karta pokazuje wszystkie zmiany, które zostały dokonane we wszystkich gałęziach lokalnego i zdalnego repozytorium. Wewnątrz tej zakładki można przeglądać commit’y do dowolnej gałęzi.
Okno wyszukiwania jest używane do wyszukiwania commitów, które mają wprowadzony ciąg znaków lub wyrażenie regularne.
- Ta lista rozwijana jest używana do filtrowania commitów według gałęzi. Aby wyświetlić wszystkie lokalne i zdalne commity, po prostu wybierz Wszystkie (domyślnie).
- Aby filtrować commity według autora, użyj tej listy rozwijanej. Będziesz musiał wpisać imię i nazwisko autora, aby zobaczyć jego commit’y. Wybierz opcję Wszystkie, aby wyświetlić zobowiązania wszystkich użytkowników.
- Użyj tej listy do filtrowania commitów według zakresu czasu lub konkretnej daty. Aby określić konkretną datę, po prostu kliknij Wybierz i wybierz datę. Wybierz Wszystkie, aby wyświetlić zobowiązania dokonane we wszystkich datach.
- Użyj tej listy rozwijanej do filtrowania commitów według ścieżki zmodyfikowanych plików.
- Ten przycisk (IntelliSort) umożliwia wygodniejszy sposób oglądania scalania, poprzez wyświetlenie najpierw przychodzących commitów, bezpośrednio pod commitem scalającym.
- Jeśli ten przycisk jest włączony, długie gałęzie są wyświetlane w całości, nawet jeśli nie ma w nich żadnych commitów.
- Użyj tego przycisku, aby odświeżyć listę commitów w projekcie.
- Aby przejść do hasha, znacznika lub gałęzi, wystarczy użyć tego przycisku.
- Kliknij ten przycisk, aby zastosować zmiany z wybranego commitu do bieżącej gałęzi.
- Kliknij ten przycisk, aby podświetlić zobowiązania z wybranej gałęzi, które nie zostały jeszcze zastosowane do bieżącej gałęzi.
Więcej informacji na temat okna narzędzia Kontrola wersji można znaleźć w dokumentacji IntelliJ IDEA.
5. Dokonywanie commitów
Zauważysz, że kiedy skonfigurowaliśmy integrację Git z naszym projektem Android Studio, kolor nazwy naszego pliku stał się brązowy. Zgodnie z oficjalną dokumentacją IntelliJ IDEA, dla plików z brązowymi etykietami:
Plik istnieje lokalnie, ale nie ma go w repozytorium i nie jest przewidziany do dodania.
Zobaczmy teraz, jak zrobić commit w Android Studio. Ale najpierw musimy dodać nasze zmiany w katalogu roboczym do obszaru staging. W konsoli użylibyśmy polecenia git add
.
git add <file> || <directory>
Ale możemy to zrobić bezpośrednio z poziomu Android Studio. Wybierz rozwijaną listę Unversioned Files w zakładce Local Changes, kliknij prawym przyciskiem myszy i przejdź do Git > Add lub użyj Control-Alt-A. Pamiętaj, że wybranie folderu głównego spowoduje dodanie wszystkiego, co się w nim znajduje, do obszaru inscenizacji.
Teraz zauważysz, że kolory etykiet Twoich plików zmieniły się z brązowych na zielone. Oto, co dokumentacja IntelliJ IDEA mówi o nazwach plików, które są oznaczone kolorem zielonym:
Plik jest zaplanowany do dodania do repozytorium.
Aby dowiedzieć się więcej o różnych kolorach, jakie może mieć nazwa pliku w zależności od statusu pliku w Android Studio (IntelliJ IDEA), zapoznaj się z dokumentacją dotyczącą wyróżnień statusu pliku.
Aby ostatecznie zatwierdzić nasze zmiany, kliknij przycisk Zatwierdź zmiany na karcie Zmiany lokalne, a pojawi się okno dialogowe Zatwierdź zmiany.
- Możemy tutaj zaznaczyć lub odznaczyć pliki, które powinny być uwzględnione w tym zatwierdzeniu. Domyślnie wszystkie pliki etapowe są zaznaczone.
- Wpisujemy tutaj swoją wiadomość commit. Jeśli masz wcześniej napisaną wiadomość commit, będzie ona wyświetlana tutaj jako domyślna.
- Wybierz operację(e) do wykonania przed wysłaniem do Git.
- Porównanie obok siebie zmienionych plików.
- Z tym rozwijanym przyciskiem, możesz albo popełnić i popchnąć lub tylko popełnić.
Więc, aby dokonać zatwierdzenia, napiszmy wiadomość zatwierdzającą:
Initial commit
Wybierz polecenie Zatwierdź z listy rozwijanej, aby ostatecznie zatwierdzić zmiany. Zauważ, że możesz użyć skrótu Control-K, aby zatwierdzić zmiany w dowolnym momencie z Android Studio.
Jeśli teraz zajrzysz do zakładki Local Changes w oknie Version Control, nie zobaczysz tam już żadnego z twoich plików – ponieważ udało nam się je wysłać do naszego lokalnego repo.
Zauważ, że możesz również przejść do VCS > Git > Commit File…, aby dokonać commit’u i VCS > Git > Add, aby dodać plik do stagingu. Ponadto możesz kliknąć ikonę commit changes na głównym górnym pasku narzędzi w Android Studio, aby szybko wykonać commit (lub commit i push).
W naszej klasie MainActivity.kt, zrobiłem prostą modyfikację w klasie poprzez nadpisanie onResume()
. Zauważysz, że kolor nazwy pliku po modyfikacji jest teraz niebieski; oznacza to, że zmodyfikowaliśmy plik.
Przeglądanie dziennika commitów
Teraz, ponownie odwiedź okno Kontroli wersji i przejdź do zakładki Log. Teraz zobaczysz listę commitów, które zostały wykonane w tym projekcie. Aby uzyskać więcej szczegółów na temat dowolnego commitu, po prostu go kliknij.
- Ten główny panel pokazuje wszystkie commity w projekcie zgodnie z wybranym filtrem. Innymi słowy, pokazuje nam historię commitów.
- Ten panel wyświetla pliki i foldery, na które wpłynęło zobowiązanie wybrane w panelu historii commitów.
- Ten panel wyświetla więcej szczegółów na temat wybranego zobowiązania.
Klikając prawym przyciskiem myszy na commit, możesz również wyświetlić menu, które pozwala na skopiowanie numeru rewizji, utworzenie poprawki, sprawdzenie rewizji, odgałęzienie od tego commitu, utworzenie nowego tagu i zresetowanie bieżącej gałęzi do tego commitu.
Spójrzmy teraz, jak możemy zobaczyć, jaki kod został dodany, edytowany lub usunięty. Innymi słowy, chcemy sprawdzić – bardziej szczegółowo – wprowadzone zmiany.
Po prostu kliknij na ikonę show diff nad oknem, gdzie pokazane są pliki, na które wpłynął commit. Skrótem jest użycie Control-D lub dwukrotne kliknięcie na pliku lub folderze.
To co zobaczysz to okno dialogowe Pokaż różnice, pokazujące różnice między poprzednim commitem a wybranym commitem.
Zielony kolorowy region w pliku podkreśla linie, które zostały dodane do pliku – powinieneś zobaczyć kilka z nich, jeśli podążasz za nim. Szare regiony podkreślają linie, które zostały usunięte. A niebieskie podświetlają linie, które zostały zmienione. Spróbuj zbadać filtry i przyciski ikon dostępne w górnej części okna dialogowego Pokaż różnice, aby dowiedzieć się więcej na ten temat.
Zauważ, że możesz również zobaczyć zmiany w obrazach w oknie dialogowym Pokaż różnicę!
Klikając prawym przyciskiem myszy na pliku, masz również możliwość zobaczenia różnicy między ostatnim commitem a bieżącym commitem tego pliku – pokaż różnicę (skrót Control-D). Można również edytować źródło (F4), otworzyć wersję w repozytorium, przywrócić wybrane zmiany, pokazać historię rewizji i pokazać szczegóły commitu dla tego pliku.
6. Tworzenie gałęzi Git
Gałąź master będzie domyślnie aktualna. Jednakże zaleca się, aby zawsze oddzielać się od gałęzi master i wykonywać swoją pracę na oddzielnej, specyficznej dla danej funkcjonalności gałęzi. Kiedy skończysz kodować swoją funkcjonalność (i kiedy przetestujesz swoje zmiany), wtedy scalasz swoje zmiany z gałęzią główną.
Zobaczmy, jak utworzyć gałąź z gałęzi głównej.
Przejdź do prawego dolnego rogu Android Studio i kliknij menu rozwijane Git: master.
Kliknij przycisk Nowy oddział.
Wprowadź nazwę oddziału. W naszym przypadku użyj dev.
Na koniec kliknij przycisk OK, aby Android Studio automatycznie utworzyło gałąź dev, a także checkout do tej gałęzi.
Jesteśmy teraz w gałęzi dev. Jak widać poniżej:
Pod maską, Android Studio wykonuje polecenie:
git checkout -b dev
Zauważ, że możemy również utworzyć nową gałąź, przechodząc do VCS > Git > Gałęzie > Nowa gałąź.
7. Scalanie gałęzi Git
Wewnątrz gałęzi dev wystarczy utworzyć podstawową aktywność ProfileActivity.kt i jego pliki układu oraz zatwierdzić zmiany. Zobaczymy, jak scalić dev do master bezpośrednio w Android Studio.
Przejdź i sprawdź z bieżącej gałęzi (dev) do gałęzi master (co oznacza, że przechodzimy z dev do master).
Merge, Checkout, Delete, Compare, Rename Branch
Jeśli klikniesz na gałąź, zobaczysz kilka operacji, które możesz wykonać na tej gałęzi. Operacje te obejmują łączenie, porównywanie dwóch gałęzi, zmianę nazwy gałęzi, ponowne utworzenie, wypisanie i usunięcie gałęzi.
W tym poście przyjrzymy się, jak scalić gałąź. W gałęzi master, połącz gałąź dev poprzez przejście do gałęzi dev i kliknięcie Połącz w menu.
To jest to! Udało nam się połączyć naszą gałąź dev z gałęzią master.
Za kulisami, Android Studio wykonuje polecenie:
git merge dev
Zauważ, że możemy również wykonać zaawansowane scalanie bezpośrednio w Android Studio. Jesteśmy w stanie określić strategię scalania (Resolve, Recursive, Octopus, Ours, lub Subtree) lub nie używać trybu scalania fast-forward.
Aby ustawić to podczas scalania, przejdź do VCS > Git > Scal zmiany…
Możesz tutaj wybrać wiele gałęzi do scalenia, wybrać strategię scalania i napisać wiadomość commit. Bardzo zalecane jest, abyś naprawdę zrozumiał te strategie scalania i czy użyć trybu szybkiego przewijania przed scaleniem.
8. Push to a Remote Repository
Każdy projekt Git powinien mieć zdalne lub centralne repozytorium, gdzie inni deweloperzy mogą współpracować nad projektem z dowolnego miejsca na świecie. W Android Studio, możliwe jest również pchanie naszych commitów lub zmian do zdalnego repozytorium. Aby to zrobić, przejdź do VCS > Git > Push…
W tym miejscu możemy dodać adres URL zdalnego repozytorium klikając na link Define remote w oknie dialogowym Push Commits, które się pojawi. Na koniec, kliknij na przycisk Push, gdy skończysz! Skrótem jest użycie Control-Shift-K.
Android Studio wykonuje następujące polecenie za kulisami:
git push
Możesz również szybko zrobić commit z push klikając na ikonę commit changes w głównym pasku narzędzi lub używając Control-K.
9. Pulling From a Remote Repository
Aby zaktualizować swój projekt (wykonać pull) o najnowsze zmiany ze zdalnego repozytorium (powinieneś mieć już dodane zdalne źródło), przejdź do VCS > Git > Pull. Spowoduje to automatyczną aktualizację projektu Android Studio z najnowszym kodem ze zdalnego repozytorium.
Aby zainicjować ciągnięcie, możesz również kliknąć ikonę aktualizacji projektu na głównym pasku narzędzi lub użyć skrótu Control-T.
Jeśli to zrobisz, Android Studio wykona polecenie Git pull
za kulisami:
git pull
Zauważ, że jeśli napotkasz konflikt scalania podczas ciągnięcia lub pchania, Android Studio wyświetli naprawdę poręczne okno dialogowe konfliktu scalania, które pomoże Ci rozwiązać ten konflikt.
Zakończenie
W tym samouczku, dowiedziałeś się jak łatwo jest wykonać różne operacje Git, które zazwyczaj możesz wykonać w wierszu poleceń lub w terminalu. Używanie narzędzi Git w Android Studio sprawia, że współpraca nad projektami Android z innymi programistami jest łatwiejsza i bardziej efektywna.
Aby dowiedzieć się więcej o kodowaniu dla Androida, sprawdź niektóre z naszych innych kursów i tutoriali tutaj na Envato Tuts+!
-
AndroidPokazywanie dialogów Material Design w aplikacji na AndroidaChike Mgbemena
-
AndroidTworzenie interfejsu Material Design Tabbed Interface in an Android AppChike Mgbemena
-
AndroidBuild a Music App With an Android App TemplateChike Mgbemena
.