Spis treści

Git i Github

Podstawy pracy z systemem kontroli wersji Git. Pełną dokumentację znajdziesz na stronie https://git-scm.com/docs Zobacz także: GitLab.

Podstawy

Instalujemy Gita.

apt-get update
apt-get install git

Tworzymy katalog dla projektu i w tym katalogu wołamy:

git init

Oto najważniejsze polecenia, które umożliwiają rozpoczęcie pracy z Gitem:

Własny serwer repozytoriów

Tworzymy użytkownika git.

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 /user/sbin/nologin.

Każdy z użytkowników musi wygenerować parę kluczy. W Windows klucz prywatny powinien się znaleźć w C:\Users\<username>\.ssh\id_rsa.

Jeżeli chcesz ustawić hasło, użyj opcji -o. Dzięki temu klucz prywatny będzie bardziej odporny na ataki brute-force.

ssh-keygen -o

Użytkownik musi przesłać klucz publiczny do administratora serwera. Klucz publiczny należy umieścić na serwerze w /home/git/.ssh/authorized_keys.

Tworzymy „gołe” (bare) repozytorium.

cd /srv/git
mkdir project.git
cd project.git
git init --bare

Na komputerze użytkownika można zrobić clone w następujący sposób:

git clone git@gitserver:/srv/git/project.git

Notatki sporządzono na podstawie: https://git-scm.com/book/en/v2/Git-on-the-Server-Setting-Up-the-Server.

Dodanie remote służącego tylko do fetchowania

git remote add upstream git@github.com:usi-systems/easytrace.git
git remote set-url --push upstream DISABLE

Przykładowy scenariusz użycia.

git checkout mybranch
git add .
git commit -m "My new feature"

Przesuwamy nasz commit na wierzch stosu commitow z upstream.

git rebase upstream/public/6.8.0

Ostatecznie wysyłamy na swój serwer.

git push origin

Prywatny fork publicznego repozytorium

https://gist.github.com/0xjac/85097472043b697ab57ba1b1c7530274