która oferuje lepszą integrację z GitHubem i możliwość zarządzania repo z linii poleceń. $ git clone dotfiles # klon własnego repo $ git clone hauleth/akai # klonujesz repo innego # użytkownika $ git fork # tworzysz nowy fork # projektu wskazywanego # przez origin
powinna być "nietykalna". Kod rozwijany powinien być w osobnych gałęziach, a master służyć powinna jako źródło wersji nad którą się pracuje. Do tego przedstawiam...
bez ingerencji w master • features • releases • hotfixes W prosty sposób pozwala uruchomić i zakończyć połączyć gałąź (usuwając ją jednocześnie ze zdalnego serwera).
nazwa na formę "czyśćca" pomiędzy utworzeniem zmian, a dodaniem ich do repo. $ git add new-changes # dodaje nowy plik # lub zmiany $ git rm old-file # usuwa plik z repo i # drzewa $ git mv old new # zmiana nazwy $ git reset file # usuwa plik z indeksu $ git checkout -- file # cofa zmiany pliku
w indeksie do repozytorium jako nową zmianę (commit). $ git diff Wyświetli jakie zmiany zaszły w plikach między dwoma zmianami lub miedzy aktualnym stanem i daną zmianą.
nowe gałęzie, przełącza między nimi oraz cofa zmiany w plikach. Prawdziwa potęga. $ git branch Manager gałęzi: • dodawanie • usuwanie • zmienianie nazw • wyświetlanie
o to nam głównie chodzi (chyba). Istotną sprawą jest móc przywrócić poprzednią zmianę. $ git revert 60730c9 # przywróci poprzednią # zmianę $ git reset ef84e7d # przywróci status zmian # do danej zmiany $ git reset --hard ef84e7d # przywróci zarówno pliki # jak i repo do zmiany
jest błąd. Fajnie, ale kiedy powstał i przez kogo ("przecież to nie Ja"). Wyświetla zawartość pliku z opisem kto i kiedy co zmienił. $ git bisect Pozwala nam znaleźć "zepsutą" zmianę. Oznaczamy dobrą i złą zmianę, a Git szukając binarnie pomoże nam znaleźć "the evil one".
byśmy się dzielić naszym kodem? Bez sensu prawda? $ git remote # manager serwerów $ git push -u origin master # ustawienie serwera dla # gałęzi i wysłanie zmian $ git push # wysłanie zmian do danego # serwera, domyślnie origin $ git fetch # pobranie zmian $ git pull # pobranie i włączenie # zmian do plików