github tutorial developers how use github
Ten samouczek GitHub wyjaśnia, czym jest GitHub i jak utworzyć repozytorium, żądanie gałęzi i ściągnięcia. Obejmuje zasady ochrony oddziałów i rozwiązywanie konfliktów:
Co to jest GitHub?
GitHub to usługa w chmurze, która pomaga programistom przechowywać i zarządzać ich kodem źródłowym, a także śledzić i kontrolować wszystkie zmiany w kodzie źródłowym.
Mówiąc najprościej, GitHub jest przeznaczony dla programistów, w których mogą zarządzać projektem, hostować kod źródłowy i przeglądać je. Omówimy to wszystko w tej serii.
Lista samouczków w tej serii GitHub:
Samouczek nr 1: Samouczek GitHub dla programistów | Jak korzystać z GitHub (Ten samouczek)
Samouczek nr 2: Projekty GitHub, zespoły, rozwidlenie i Wiki do dokumentowania projektów
Samouczek nr 3: Zaawansowane polecenia Git i samouczek integracji GitHub
Samouczek nr 4: GitHub REST API Tutorial - Obsługa REST API w GitHub
Samouczek nr 5: Samouczek GitHub Desktop - Współpracuj z GitHub na swoim komputerze
Samouczek nr 6: Samouczek TortoiseGit - Jak używać TortoiseGit do kontroli wersji
Czego się nauczysz:
Co to jest Git?
Git to system kontroli wersji Open Source, w którym cały kod źródłowy jest dostępny na komputerze dewelopera. Git to także klient i rozproszony system kontroli wersji (DVCS), w którym można wykonywać rozgałęzianie i scalanie.
Pierwsze kroki z GitHubem
Aby rozpocząć korzystanie z GitHub, wykonamy następujące kroki.
- Utwórz repozytorium, aby organizować projekty.
- Utwórz gałąź
- Wprowadź zmiany w pliku i zatwierdź.
- Utwórz żądanie ściągnięcia, aby scalić zawartość.
- Chroń gałąź
W drugiej części serii przyjrzymy się także innym funkcjom GitHub, takim jak tworzenie organizacji, zespoły, problemy, kamienie milowe, rozwidlenia, wydania i wiki.
Utwórz repozytorium GitHub
Repozytorium GitHub zawiera artefakty projektu, takie jak kod źródłowy, dokumenty, obrazy itp. Utworzymy i wykorzystamy repozytorium demonstracyjne, aby wykonać wszystkie powyższe kroki.
Zaloguj się do Github.com i Utwórz nowe repozytorium . Kliknij na Nowy przycisk.
Dodaj poniższe szczegóły repozytorium, jak pokazano, i kliknij Utwórz repozytorium . Ustaw dostęp na Prywatny lub Publiczny. Lepiej ustawić go jako publiczny, ponieważ od tego dostępu zależy tylko kilka funkcji.
Uwaga: użytkownik, który tworzy repozytorium, jest właścicielem repozytorium GitHub.
Repozytorium jest tworzone za pomocą pliku README.
Dodawanie współpracowników do repozytorium GitHub
Chcielibyśmy, aby zespół pracował nad tym repozytorium. W tym celu będziemy musieli zaprosić współpracowników do pracy nad repozytorium. Aby dodać współpracowników, przejdź do strony głównej repozytorium i kliknij Ustawienia Ikona.
Kliknij Współpracownicy w lewym okienku i dodaj współpracowników, którzy mają konto Github. Zostanie wysłane zaproszenie, a współpracownicy będą musieli je zaakceptować.
Współpracownicy są dodawani, jak pokazano poniżej. W dalszej części tego samouczka zobaczymy, jak współpracownicy zostaną dodani jako recenzenci żądania ściągnięcia utworzonego w celu scalenia kodu.
Wykonywanie podstawowego C omiń
Otwórz plik README i wykonaj podstawowe zatwierdzenie. Kliknij na Ikona edycji aby rozpocząć modyfikację pliku.
Zmodyfikuj plik, dodaj komentarz i kliknij Popełnić .
Plik zostaje zatwierdzony (zmiany zapisane) w repozytorium Github.
Zostanie wyświetlonych kilka operacji tworzenia folderów i plików w repozytorium.
Aby utworzyć folder i plik w nim: Kliknij na Utwórz nowy plik na poziomie repozytorium. Wpisz nazwę katalogu, a po niej / i nazwę pliku, jak pokazano poniżej.
Kliknij Popełnić na dnie. Folder i plik są tworzone, jak pokazano. W ten sposób pliki i foldery są tworzone na mistrz gałąź, która jest główną gałęzią integracji i głównie tam, gdzie można budować wersje oprogramowania.
Deweloperzy normalnie pracują nad przydzielonym im zadaniem w oddzielnej gałęzi i łączą zmiany w gałęzi głównej. Na przykład, gałęzie mogą być tworzone w celu rozwijania funkcji lub rozwiązywania błędów lub pracy nad ulepszeniami itp. W ten sposób, tworząc gałąź, praca jest izolowana bez zakłócania innych gałęzi.
W następnym kroku możemy przyjrzeć się, jak można tworzyć gałęzie i zdefiniować żądania ściągnięcia, aby przejrzeć i scalić kod z gałęzią główną.
Przenoszenie pliku
Aby przenieść plik do innego folderu, wykonaj następujące czynności. Na przykład, aby przenieść plik rules.txt do folderu doc. Kliknij plik.
Kliknij ikonę, aby edytować plik.
Dodaj ścieżkę doc / przed plikiem rules.txt . Kliknij Zatwierdź zmiany.
Ścieżka jest teraz zaktualizowana.
Tworzenie gałęzi GitHub
Przejdź do strony głównej repozytorium i wpisz, aby utworzyć plik funkcja gałąź, jak pokazano. Kliknij Utwórz gałąź.
Jesteśmy teraz w funkcja gałąź. Pliki są takie same. Teraz wprowadzimy pewne zmiany w plikach w funkcja branch i utwórz żądanie ściągnięcia, aby przejrzeć zmiany i scalić kod z plikiem mistrz gałąź.
Wprowadź zmiany w plikach w gałęzi funkcji.
Otwórz plik Java w folderze Src, dodaj kod i zatwierdź zmianę.
Utwórz żądanie ściągnięcia GitHub
W poprzedniej sekcji stworzyliśmy oddział funkcja i dokonał pewnych zmian w pliku. Zmiany nie są w mistrz gałąź. W tym celu musimy utworzyć pull request, za pomocą którego użytkownik proponuje pewne zmiany do przejrzenia i scalenia z mistrz gałąź.
Utworzenie żądania ściągnięcia pokaże różnice między gałęzią źródłową i docelową i będzie wymagane do rozwiązania konfliktów, jeśli takie istnieją.
Kliknij Porównaj i wyciągnij żądanie na stronie głównej repozytorium.
Jak widać, można scalić zmiany w obu gałęziach. Kliknij Utwórz żądanie ściągnięcia.
Kliknij Scal żądanie ściągnięcia i Potwierdzać aby zakończyć scalanie.
Zmiany zostały pomyślnie scalone z mistrz gałąź. Nasze pierwsze żądanie ściągnięcia zostało pomyślnie zakończone.
Przypisz recenzentów z żądaniami ściągnięcia i przeglądem kodu
Github ma dobrą funkcję korzystania z pliku CODEOWNERS, w którym możemy wybrać osoby odpowiedzialne za kod źródłowy w repozytorium. Właściciele repozytorium mogą tworzyć ten plik, a wszyscy użytkownicy zdefiniowani w pliku są domyślnie proszeni o przegląd podczas tworzenia żądania ściągnięcia.
Aby korzystać z tej funkcji, musisz użyć wersji GitHub Pro lub udostępnić repozytorium jako publiczne.
W katalogu głównym repozytorium utwórz ten plik w następującym formacie i zatwierdź plik.
* @nazwa użytkownika lub @orgname lub @nazwa drużyny
* przede wszystkim oznacza wszystkie pliki w repozytorium. Możesz również określić konkretne rozszerzenia, takie jak * .java lub * .js itp. Użytkownicy zdefiniowani w pliku otrzymają automatycznie prośbę o sprawdzenie. Dzięki zdefiniowaniu pliku CODEOWNERS nie ma potrzeby jawnego ręcznego dodawania recenzentów i ma nieco większą elastyczność w wyborze plików do recenzji.
Z powrotem w funkcja gałąź wprowadź niewielką zmianę w pliku Java i utwórz żądanie ściągnięcia. Na ekranie Pull Request przypisz recenzenta po prawej stronie. Kliknij Utwórz żądanie ściągnięcia.
Na powyższym ekranie widać, że recenzentów można przypisać ręcznie, ale recenzenci są zdefiniowani w pliku CODEOWNERS, którzy automatycznie otrzymają prośbę o przejrzenie zmian w kodzie.
W każdym razie, na razie Zaloguj sie jako recenzent i zatwierdź zmiany. Zaloguj się jako użytkownik vniranjan2512, aby zatwierdzić zmiany.
Istnieje prośba o zatwierdzenie / odrzucenie zmian, pod Prośba o pociągnięcie.
Kliknij pull request i Dodaj swoją recenzję.
Możesz kliknąć + podpisz i dodaj komentarze do recenzji dla wiersza kodu Dodano / Zmodyfikowano / Usunięto na wyświetlonym ekranie.
Kliknij Rozpocznij recenzję.
Kliknij Zakończ recenzję. Zatwierdź, jak pokazano i Dodaj recenzję .
Jako pierwotny użytkownik, który zgłosił żądanie ściągnięcia, możesz dodać komentarz i rozwiązać lub zamknąć rozmowę.
Można teraz zakończyć żądanie ściągnięcia scalenia.
Zmiany zostały pomyślnie scalone z mistrz gałąź opublikuje recenzję i scalenie żądania ściągnięcia.
Podsumowując na tym etapie, widzieliśmy, że programiści pracują nad funkcja gałąź, a następnie podnieś żądanie ściągnięcia, aby scalić zmiany w mistrz gałąź. Powyższy był scenariuszem, w którym konfliktów nie było. W następnej sekcji zobaczymy sposoby ręcznego rozwiązywania konfliktów, jeśli pliki zostaną zmienione w wielu gałęziach.
Rozwiązywanie konfliktów
Jest możliwe, że te same pliki w wielu gałęziach zostaną zmienione. W takim przypadku wystąpiłyby konflikty i należy je rozwiązać za pomocą podniesionego żądania ściągnięcia.
Na przykład, wprowadź zmiany w pliku Java zarówno w mistrz i funkcja rozgałęzienia i podnieś żądanie ściągnięcia.
Wyświetlany komunikat żądania ściągnięcia mówi, że zmian nie można scalić automatycznie. Stąd konflikty muszą zostać rozwiązane. Przejdź do tworzenia żądania ściągnięcia.
Po podniesieniu żądania ściągnięcia konflikty należy rozwiązać, klikając plik Rozwiązywać konflikty przycisk.
Usuń ręcznie oznaczenia, które zasadniczo rozwiązują konflikty, i kliknij oznaczone jako rozwiązane i Zatwierdź scalanie.
Ostateczny widok pliku po usunięciu oznaczeń.
Można zakończyć żądanie ściągnięcia scalenia. Plik mistrz i funkcja gałęzie będą teraz identyczne.
Na powyższym ekranie nadal możesz zobaczyć, że przegląd jest wymagany, ale nie jest obowiązkowy. W następnej sekcji omówimy reguły ochrony gałęzi, w których właściciel repozytorium może obowiązkowo zażądać przeglądu, a także chronić mistrz rozgałęzia się bezpośrednio do niego, ale tylko przez żądanie ściągnięcia.
Zasady ochrony oddziału
W poprzednich sekcjach widzieliśmy o żądaniach ściągnięcia z Github, a także o prośbach o recenzje, które nie były wymagane lub opcjonalne. W kodzie typowych scenariuszy projektowych przeglądy są koniecznością i częścią procesu rozwoju.
Zobaczmy, jak to wyegzekwować.
W github.com tę funkcję można ustawić tylko dla repozytoriów publicznych lub korzystając z wersji Github pro. Na stronie głównej repozytorium przejdź do Ustawienia i kliknij Gałęzie kategorię po lewej stronie.
Kliknij Dodaj regułę pod Zasady ochrony gałęzi. Reguła dodała żądania obowiązkowych przeglądów żądań ściągnięcia od właścicieli kodu przed scaleniem dla mistrz gałąź.
Zapewni to również, że gałąź główna jest chroniony i nie można wykonać żadnych bezpośrednich zatwierdzeń w tej gałęzi i można je zatwierdzić tylko za pośrednictwem żądań ściągnięcia po dokładnym przejrzeniu. To ustawienie jest ustawiane przez właściciela repozytorium.
Naprawdę świetna funkcja !!!
Kliknij Stwórz raz zrobione. Aby przetestować ten scenariusz, wprowadź zmianę w pliku w funkcja rozgałęzienia i utwórz żądanie ściągnięcia.
Poniższy ekran pokazuje, że przegląd jest obowiązkowo wymagany przez właścicieli kodu.
Opublikuj recenzję od właścicieli kodu, żądanie ściągnięcia może zostać scalone.
Jako współpracownik repozytorium, jeśli dokonasz zmian w którymkolwiek z plików, ze względu na utworzone reguły chronionych gałęzi, nie będziesz w stanie zatwierdzić bezpośrednio do gałęzi głównej, ale tylko poprzez żądanie ściągnięcia po utworzeniu gałęzi, jak pokazano poniżej.
Przenoszenie repozytorium na inne konto użytkownika
Zwykle osobiste repozytorium użytkowników ma jednego właściciela, a wszyscy inni są współpracownikami. Zatem w pewnym sensie nie można mieć wielu właścicieli w repozytorium kont użytkowników. Ale własność można przenieść na inne konto użytkownika. Po zakończeniu oryginalny właściciel repozytorium automatycznie staje się współpracownikami w nowym repozytorium kont użytkowników.
Nowy właściciel może następnie rozpocząć administrowanie artefaktem, problemami, żądaniami ściągnięcia, projektami, wydaniami i ustawieniami.
Zwykle, gdy polecenia takie jak „git clone” lub „git push” są wykonywane w repozytorium lokalnym, polecenia przekierowują do nowego repozytorium. Jednak po uruchomieniu polecenia „git remote -v” nadal będzie wyświetlany pierwotny adres URL repozytorium. Aby uniknąć nieporozumień związanych ze zmianą na nowy zdalny adres URL, prześlij repozytorium za pomocą polecenia „git remote set-url”.
Aby przenieść repozytorium, przejdź do zakładki Ustawienia repozytorium i pod Opcje? Kliknij Danger Zone Transfer
Wprowadź nazwę repozytorium i nowe konto użytkownika, na które ma zostać przeniesiona własność.
Kliknij Rozumiem, przenieś to repozytorium
Powinien pojawić się komunikat, że repozytorium zostało przeniesione do nowego właściciela.
Wiadomość zostanie wysłana do pierwotnego właściciela repozytorium w celu zatwierdzenia transferu. Po zatwierdzeniu transferu repozytorium zostanie przeniesione do nowego właściciela, a pierwotny właściciel repozytorium zostanie dodany jako współpracownik.
Teraz ustaw nowy adres URL repozytorium na komputerze, na którym sklonowano stare repozytorium. Poniższe polecenia należy ustawić na wszystkich komputerach, na których sklonowano stare repozytorium.
Wszystkie żądania ściągnięcia, problemy, wiki zostaną przeniesione. Przydziały problemów pozostaną nienaruszone.
Kilka przydatnych poleceń Git
Istnieje kilka podstawowych poleceń Git, które należy wstępnie skonfigurować na komputerze lokalnym po zainstalowaniu klienta Git na komputerze z systemem Linux lub Windows. Programiści pracują lokalnie, bez połączenia z repozytorium na GitHub, na pełnej kopii kodu źródłowego dostępnego na GitHub i synchronizują się z nim.
Po pierwsze, ustaw swoją nazwę użytkownika i adres e-mail, aby upewnić się, że wszystkie zatwierdzenia wykorzystują te informacje.
git config –global nazwa.użytkownika „Nazwa użytkownika”
git config –global user.email „myemail@myemail.com”
Kiedy potrzebujesz dodać wiadomość podczas zatwierdzania, możesz również skonfigurować potrzebny do tego edytor.
mysql vs sql server vs oracle
git config - globalny notatnik core.editor
Uzyskaj listę wszystkich ustawionych wartości konfiguracyjnych.
git config –list
Czasami organizacje mają serwery proxy do łączenia się z Internetem. W takim przypadku będziesz musiał określić serwer proxy i numer portu, aby uzyskać dostęp do wszystkich repozytoriów w GitHub.
git config –globalny http.proxyhttp: // Nazwa użytkownika: Hasło @ serwer proxy: port
Sklonuj lub utwórz lokalną kopię repozytorium. Uzyskaj klonowany adres URL repozytorium w GitHub i uruchom polecenie git.
Wniosek
W tym samouczku widzieliśmy, jak programista może rozpocząć pracę na GitHub, bezpośrednio od tworzenia repozytorium GitHub, gałęzi, żądania ściągnięcia, ochrony gałęzi i kilku podstawowych poleceń Git.
W naszym nadchodzącym samouczku zobaczymy inne funkcje GitHub, głównie dotyczące tworzenia organizacji, zespołów, rozwidlenia repozytorium, tworzenia problemów, kamieni milowych i kojarzenia z żądaniami ściągnięcia, wiki i ich zastosowań oraz kilku innych zaawansowanych poleceń Git, które będą przydatne do programistów.
rekomendowane lektury
- Samouczek dotyczący refleksji w języku Java z przykładami
- Git kontra GitHub: poznaj różnice z przykładami
- Python DateTime Tutorial z przykładami
- Integracja selenu z GitHub przy użyciu Eclipse
- Szybki przewodnik SoapUI dotyczący przechowywania danych żądań i odpowiedzi w pliku - SoapUI Tutorial # 15
- Samouczek Bugzilli: Praktyczny samouczek dotyczący narzędzia do zarządzania defektami
- Ponad 20 samouczków MongoDB dla początkujących: bezpłatny kurs MongoDB
- Samouczek dotyczący fragmentacji bazy danych MongoDB z przykładem