GitHub – Repozytoria zdalne i Pull requesty [GIT]

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/>

W celu świadczenia usług na najwyższym poziomie stosujemy pliki cookies, które będą zamieszczane w Państwa urządzeniu (komputerze, laptopie, smartfonie). W każdym momencie mogą Państwo dokonać zmiany ustawień Państwa przeglądarki internetowej i wyłączyć opcję zapisu plików cookies. View more
Zaakceptuj