Menu
Coddy logo textTech

Git online

Pisz, uruchamiaj i udostępniaj fragmenty kodu bez żadnej konfiguracji.

Terminal Git
user$ git init -q
user$ git symbolic-ref HEAD refs/heads/main
user$ git config user.name "You"
user$ git config user.email "you@example.com"
user$ echo "hello" > file.txt
user$ git add file.txt
user$ git commit -q -m "Add file.txt"
user$ git branch feature
user$ git branch bugfix
user$
Repozytorium

Kliknij Uruchom, żeby zobaczyć graf commitów.

Każde uruchomienie odtwarza cały skrypt i zapisuje stan repozytorium po każdej linii. Kliknij krok, żeby zobaczyć graf w tym momencie.

Wypróbuj popularne komendy Git

W tym terminalu działa też Git. Wczytaj gotowy scenariusz do wiersza poleceń, kliknij Uruchom i zobacz, jak wykonuje się każda komenda, a potem otwórz pełny przewodnik po dowolnej komendzie, którą chcesz zrozumieć.

Załóż repozytorium i zrób pierwszy commitZainicjuj repozytorium, dodaj plik do poczekalni, zrób commit i sprawdź status.
  1. git init
  2. git config user.name "You"
  3. git config user.email "you@example.com"
  4. echo "# My Project" > README.md
  5. git add README.md
  6. git commit -m "Initial commit"
  7. git status
  8. git log --oneline
Utwórz gałąź i ją scalOdgałęź się, wprowadź zmianę, zrób commit, a potem scal gałąź z powrotem z main.
  1. git init
  2. echo "hello" > app.txt
  3. git add app.txt
  4. git commit -m "Add app.txt"
  5. git checkout -b feature
  6. echo "new feature" >> app.txt
  7. git commit -am "Work on feature"
  8. git checkout -
  9. git merge feature
  10. git log --oneline --graph
Cofnij ostatni commitZrób commit, którego żałujesz, a potem cofnij go, zachowując swoje zmiany.
  1. git init
  2. echo "v1" > notes.txt
  3. git add notes.txt
  4. git commit -m "Add notes.txt"
  5. echo "v2" >> notes.txt
  6. git commit -am "Oops, wrong message"
  7. git reset --soft HEAD~1
  8. git status
  9. git commit -m "Update notes.txt"
  10. git log --oneline
Pierwszy push do zdalnego repozytoriumUruchom trzy komendy, które GitHub pokazuje dla nowego repozytorium, na lokalnym zdalnym repozytorium.
  1. git init
  2. echo "# My Project" > README.md
  3. git add README.md
  4. git commit -m "First commit"
  5. git branch -M main
  6. git init --bare remote.git
  7. git remote add origin remote.git
  8. git push -u origin main
  9. git remote -v
Połącz commity w jeden (squash)Zamień dwa robocze commity w jeden czysty commit bez otwierania edytora.
  1. git init
  2. echo "v1" > app.txt
  3. git add app.txt
  4. git commit -m "Add app.txt"
  5. echo "v2" >> app.txt
  6. git commit -am "WIP"
  7. echo "v3" >> app.txt
  8. git commit -am "More WIP"
  9. git reset --soft HEAD~2
  10. git commit -m "Finish app.txt"
  11. git log --oneline
Przenieś commit z innej gałęzi (cherry-pick)Skopiuj jedną poprawkę z gałęzi do main bez scalania całej gałęzi.
  1. git init
  2. echo "hello" > app.txt
  3. git add app.txt
  4. git commit -m "Add app.txt"
  5. git checkout -b hotfix
  6. echo "fixed" > fix.txt
  7. git add fix.txt
  8. git commit -m "Fix the bug"
  9. git checkout -
  10. git cherry-pick hotfix
  11. git log --oneline --all --graph

Edytor Git online z grafem commitów na żywo

Darmowy edytor Git online, który uruchamia prawdziwy git w odizolowanym terminalu Linuksa, a nie jego imitację w JavaScripcie. Wpisz komendy w polu poleceń: git init, git add, git commit, git branch, git merge, git rebase, git reset, kliknij Uruchom, a panel repozytorium po każdej linii skryptu na nowo rysuje graf commitów, gałęzie, HEAD i drzewo robocze. To najszybszy sposób, żeby ćwiczyć Git online i naprawdę zobaczyć, co zrobiła każda komenda.

Każde uruchomienie odtwarza cały skrypt od pustego folderu i robi migawkę repozytorium po każdej instrukcji, więc możesz kliknąć dowolny krok i zobaczyć graf dokładnie w tamtym momencie. Commit porzucony przez git reset zostaje na obrazku, wyblakły, więc cofnięcie pokazuje, co cofnęło. Nic do instalowania, żadnego konta, a żadne z twoich repozytoriów nie jest nigdy ruszane.

Czym ten edytor Git online się wyróżnia

  • Prawdziwy Git, prawdziwy wynik: piaskownica uruchamia oryginalny plik binarny git na Linuksie, więc komunikaty błędów, git log --graph, git status i flagi zachowują się tak jak na twoim komputerze, w przeciwieństwie do symulatora Gita, który zna tylko komendy zamodelowane przez autorów. Jedyna celowa różnica: tożsamość autora i daty commitów są stałe, więc hashe nie zmieniają się między uruchomieniami.
  • Graf commitów, który aktualizuje się po każdej linii: gałęzie jako tory, merge jako łuki, HEAD i każda referencja jako etykieta przy commicie, a do tego pliki w poczekalni, zmodyfikowane, nieśledzone i z konfliktami, odczytane z git status. Kliknij krok, żeby przewinąć historię sesji wstecz.
  • Ćwicz komendy, których ludzie szukają najczęściej: cofnięcie commita, squash commitów, rebase na main, cherry-pick, stash, rozwiązanie konfliktu merge, bezpieczny force-push. Wczytaj gotowy scenariusz poniżej albo otwórz dowolną stronę ściągawki komend Git i kliknij "Wypróbuj na żywo".
  • Zdalne repozytoria bez sieci: utwórz lokalne repozytorium bare, dodaj je jako origin i ćwicz na nim git push, git fetch, git pull i git clone. Graf pokazuje, jak origin/main przesuwa się obok main.
  • Powtarzalne uruchomienia: daty i tożsamość są przypięte, więc ten sam skrypt zawsze daje te same hashe commitów. Udostępnij skrypt koledze z klasy, a oboje zobaczycie ten sam graf.

Co wypróbować w edytorze Git online

  • Branch i merge: git checkout -b feature, commit na tej gałęzi, powrót do main, commit także tam, a potem git merge feature i obserwuj, jak commit scalający łączy dwa tory.
  • Bezpieczne cofanie: zrób commit, którego żałujesz, uruchom git reset --soft HEAD~1 i zobacz, jak commit blednie na grafie, a twoje zmiany wracają jako pliki w poczekalni. Potem wypróbuj git revert i porównaj.
  • Rebase kontra merge: zbuduj dwa razy tę samą historię z dwiema gałęziami, jedną zakończ przez git merge, drugą przez git rebase main i porównaj kształt obu grafów obok siebie.
  • Celowy konflikt merge: zmień tę samą linię na dwóch gałęziach, zrób merge i zobacz, jak plik trafia do wiersza Konflikty. Napraw go, git add, git commit i zobacz, jak konflikt znika.

Edytor Git online: najczęstsze pytania

Czy ten edytor Git online jest darmowy?
Tak. Edytor Git online jest darmowy, nie wymaga rejestracji ani instalacji. Otwórz stronę, wpisz komendę, kliknij Uruchom.
Czy to prawdziwy Git, czy symulacja?
Prawdziwy Git. Każde uruchomienie wykonuje twój skrypt oryginalnym plikiem binarnym git w odizolowanym kontenerze Linuksa, więc komendy, flagi, wynik i komunikaty błędów są takie same jak lokalnie. Dwie rzeczy dodano celowo: domyślną tożsamość autora (którą twoje własne git config user.name nadpisuje, tak jak lokalnie) i przypięte daty commitów, dzięki czemu hashe commitów są takie same przy każdym uruchomieniu. Nic nie może poprosić cię o dane w trakcie działania, więc komenda interaktywna, taka jak git rebase -i, potrzebuje edytora sterowanego skryptem. Przykłady pokazują, jak to zrobić.
Jak działa graf commitów?
Po każdej instrukcji skryptu piaskownica zapisuje commity repozytorium, referencje, HEAD, listę stash i git status. Strona rysuje graf na podstawie tych migawek: jeden tor na gałąź, merge jako łuki i każda referencja jako etykieta. Kliknij numer kroku, żeby zobaczyć repozytorium tuż po tej linii. W bardzo długiej sesji wcześniejsze polecenia są zapisywane tylko na końcu, a pasek kroków pokazuje wyłącznie stany, które faktycznie zostały zapisane.
Czy mogę tu ćwiczyć tworzenie gałęzi, merge i rebase?
Tak, właśnie do tego służy graf. Twórz gałęzie, commituj na nich, rób merge, rebase, cherry-pick, reset i revert, i patrz, jak każda operacja zmienia obraz. To praktyczna alternatywa dla gry o gałęziach, z prawdziwym Gitem pod spodem.
Czy mogę używać git push, pull, fetch i clone?
Tak, z lokalnym zdalnym repozytorium. Piaskownica nie ma dostępu do sieci, więc git clone https://… nie połączy się z internetem. Utwórz repozytorium bare w podfolderze (git init --bare remote.git), dodaj je jako origin i wykonuj na nim push, fetch, pull i clone. Gałęzie śledzące pojawiają się na grafie tak, jak pojawiłyby się dla GitHuba.
Czy moja praca zostaje zachowana między uruchomieniami?
Nie. Każde uruchomienie zaczyna od pustego folderu i odtwarza cały skrypt, i właśnie to umożliwia oś czasu. Trzymaj komendy w polu poleceń (Shift+Enter dodaje linię), a przyciskiem Resetuj wrócisz do skryptu startowego.
Czym to się różni od terminala Linux online?
To ten sam odizolowany terminal, w którym też działa Git, z dodanym panelem repozytorium. Strona terminala Linux służy do komend powłoki i skryptów; ta strona układa twoją sesję tak, żeby graf commitów i stan drzewa roboczego były zapisywane po każdej linii.
Czy jest kurs, który uczy Gita od zera?
Tak. Darmowy kurs Git w Coddy prowadzi od git init do gałęzi, merge, rebase i zdalnych repozytoriów z automatycznie sprawdzanymi ćwiczeniami, a każda strona komendy w ściągawce komend Git ma przycisk "Wypróbuj na żywo", który otwiera ten edytor z gotowym do uruchomienia przykładem.