1. Utworzenie konta na GitHubie i dodanie klucza SSH w ustawieniach
# Generowanie klucza ssh na Linuxie:
ssh-keygen
Domyślnie w katalogu ~/.ssh/ zostały utworzone dwa pliki: id_rsa oraz id_rsa.pub. Pierwszy z nich to klucz prywatny, którego nie wolno nigdzie udostępniać. Plik z rozszerzeniem .pub jest to klucz publiczny, który możemy wysyłać. To właśnie ten klucz wysyłamy do GitHuba.
cat ~/.ssh/id_rsa.pub
Wyświetloną zawartość kopiujemy i dodajemy klucz w ustawieniach GitHub
2. Utworzenie repozytorium zdalnego (poprzez WWW)
Wybranie metody uwierzytelnienia:
HTTPS – wykorzystanie loginu i hasła dostępowego do GitHuba
SSH – wykorzystanie klucza publicznego
3. Utworzenie repozytorium lokalnego
– utworzenie katalogu roboczego na komputerze (mkdir)
– utworzenie repozytorium lokalnego
git init
– dodanie plików do kolejki oczekiwania (. oznacza wszystkie pliki)
git add .
– utworzenie commita (czyli zmian w repo, które chcemy wysłać)
git commit -m „nazwa_commita”
– sprawdzenie statusu
git status
4. Podłączenie zdalnego repozytorium
git remote add origin https://github.com/nazwa/nazwa_repo.git
^ link można wziąć przechodząc do repo, przy przycisku ’Code’
Wykorzystałem ten z SSH, aby uwierzytelniać na podstawie klucza dodanego w pierwszym kroku.
Powyższe polecenie utworzy nam również alias dla adresu. W tym przypadku aliasem dla URL będzie ’origin’.
# Sprawdzenie zdalnego repo podpiętego do lokalnego
git remote -v
# Odłączenie zdalnego repo
git remote remove origin
5. Wysłanie lokalnego repo do zdalnego
git push -u origin master
origin jest to zdalne repo. Zamiast wpisywać URL wykorzystujemy alias. Master jest to branch na jaki wysyłamy zmiany.
Podczas próby wysłania dostawałem błędem:
error: nie można wypchnąć niektórych referencji do „tutaj_byla_nazwa_repo”
Wykonałem git remote update które utworzyło plik .git/refs/remotes/origin/master ale to jeszcze nie rozwiązało problemu.
Na stackoverflow wyczytałem, że w tym przypadku ponownie należy wykonać commit. W tym miejscu wywalało:
Nieznana tożsamość autora
*** Powiedz mi, kim jesteś.
Wykonanie wg instrukcji:
git config –global user.email „adres_mailowy_z_githuba”
git config –global user.name „nazwa_usera_z_githuba”
Pomogło i commit przeszedł prawidłowo. Ponowne wywołanie pusha wywaliło błąd
error: nie można wypchnąć niektórych referencji do „git”
podpowiedź: Aktualizacje zostały odrzucone, ponieważ czubek bieżącej gałęzi jest
podpowiedź: w tyle za swoim zdalnym odpowiednikiem. Zintegruj zdalne zmiany (np.
podpowiedź: „git pull …”) przed kolejnym wypchnięciem.
podpowiedź: Zobacz szczegóły w „Uwadze o przewijaniu” w „git push –help”.
Gdzieś już to widziałem… powrót do wątku na stacku i bingo!
git pull –rebase origin master
i następnie push
git push origin master
Działa! 😀
No dobra, standardowo trzeba było odwalić lipę. Pamiętajcie, że plik Readme.md piszemy drukowanymi -_- Na szczęście tutaj poszło dość prosto:
mv Readme.md README.md
git add .
git commit -m „.”
git push -u origin master
6. Wysyłanie kolejnych zmian na serwer
– dodanie plików do kolejki
git add .
możemy wskazać wszystkie zmieniony pliki z wykorzystaniem . albo podać tylko konkretny plik np.:
git add plik.txt
– utworzenie commita
git commit -m „nazwa_commita”
– wysłanie zmian na serwer
git push
—
Aby dodać złamanie linii / znak nowej linii w pliku README.md wystarczy dorzucić html-owy znacznik <br/>