meta data for this page
Różnice
Różnice między wybraną wersją a wersją aktualną.
| Nowa wersja | Poprzednia wersja | ||
| git [2020/08/03 14:04] – utworzono Paweł Grygorczuk | git [2023/09/13 14:17] (aktualna) – [Git i Github] Paweł Grygorczuk | ||
|---|---|---|---|
| Linia 1: | Linia 1: | ||
| ====== Git i Github ====== | ====== Git i Github ====== | ||
| - | Podstawy pracy z systemem kontroli wersji Git. | + | Podstawy pracy z systemem kontroli wersji Git. Pełną dokumentację znajdziesz na stronie https:// |
| + | Zobacz także: [[GitLab]]. | ||
| + | |||
| + | ===== Podstawy ===== | ||
| + | |||
| + | Instalujemy Gita. | ||
| + | |||
| + | <code bash> | ||
| + | apt-get update | ||
| + | apt-get install git | ||
| + | </ | ||
| + | |||
| + | Tworzymy katalog dla projektu i w tym katalogu wołamy: | ||
| + | |||
| + | <code bash> | ||
| + | git init | ||
| + | </ | ||
| + | |||
| + | Oto najważniejsze polecenia, które umożliwiają rozpoczęcie pracy z Gitem: | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | ===== Własny serwer repozytoriów ===== | ||
| + | |||
| + | Tworzymy użytkownika '' | ||
| + | |||
| + | <code bash> | ||
| + | useradd --create-home --shell /bin/bash git | ||
| + | su - git | ||
| + | cd .ssh | ||
| + | </ | ||
| + | |||
| + | Jeżeli chcemy uniemożliwić użytkownikowi korzystanie z konsoli, możemy później zmienić powłokę na ''/ | ||
| + | |||
| + | Każdy z użytkowników musi wygenerować parę kluczy. W Windows klucz prywatny powinien się znaleźć w '' | ||
| + | |||
| + | Jeżeli chcesz ustawić hasło, użyj opcji -o. Dzięki temu klucz prywatny będzie bardziej odporny na ataki [[brute-force]]. | ||
| + | |||
| + | <code bash> | ||
| + | ssh-keygen -o | ||
| + | </ | ||
| + | |||
| + | Użytkownik musi przesłać klucz publiczny do administratora serwera. Klucz publiczny należy umieścić na serwerze w ''/ | ||
| + | |||
| + | Tworzymy " | ||
| + | |||
| + | <code bash> | ||
| + | cd /srv/git | ||
| + | mkdir project.git | ||
| + | cd project.git | ||
| + | git init --bare | ||
| + | </ | ||
| + | |||
| + | Na komputerze użytkownika można zrobić '' | ||
| + | |||
| + | <code bash> | ||
| + | git clone git@gitserver:/ | ||
| + | </ | ||
| + | |||
| + | Notatki sporządzono na podstawie: https:// | ||
| + | |||
| + | ===== Dodanie remote służącego tylko do fetchowania ===== | ||
| + | |||
| + | <code bash> | ||
| + | git remote add upstream git@github.com: | ||
| + | git remote set-url --push upstream DISABLE | ||
| + | </ | ||
| + | |||
| + | Przykładowy scenariusz użycia. | ||
| + | |||
| + | <code bash> | ||
| + | git checkout mybranch | ||
| + | git add . | ||
| + | git commit -m "My new feature" | ||
| + | </ | ||
| + | |||
| + | Przesuwamy nasz commit na wierzch stosu commitow z upstream. | ||
| + | |||
| + | <code bash> | ||
| + | git rebase upstream/ | ||
| + | </ | ||
| + | |||
| + | Ostatecznie wysyłamy na swój serwer. | ||
| + | |||
| + | <code bash> | ||
| + | git push origin | ||
| + | </ | ||
| + | |||
| + | ===== Prywatny fork publicznego repozytorium ===== | ||
| + | |||
| + | https:// | ||
| + | |||