Git Playground
Kod parçacıklarını yazın, çalıştırın ve paylaşın - kurulum gerekmez.
git log --oneline --graph --allBu adımdan sonraki commit’ler
- ea85bd9 Merge branch 'feature' (HEAD -> main) <- f5363c6, 47b6cfb
- 47b6cfb Work on feature (feature) <- b2134da
- f5363c6 Hotfix on main <- b2134da
- b2134da Add app.txt
- Çalışma ağacı temiz
Her çalıştırma tüm betiği baştan oynatır ve her satırdan sonra deponun anlık görüntüsünü alır. O andaki grafiği görmek için bir adıma tıkla.
Yaygın Git komutlarını deneyin
Git bu terminalde de çalışır. Hazır bir iş akışını komut satırına yükleyin, her komutun çalışmasını izlemek için Çalıştır'a basın ve anlamak istediğiniz herhangi bir komutun tam kılavuzunu açın.
git initecho "hello" > app.txtgit add app.txtgit commit -m "Add app.txt"git checkout -b featureecho "new feature" >> app.txtgit commit -am "Work on feature"git checkout -git merge featuregit log --oneline --graph
git initecho "v1" > notes.txtgit add notes.txtgit commit -m "Add notes.txt"echo "v2" >> notes.txtgit commit -am "Oops, wrong message"git reset --soft HEAD~1git statusgit commit -m "Update notes.txt"git log --oneline
Canlı commit grafiği olan çevrimiçi bir Git playground
Gerçek git'i izole bir Linux terminalinde çalıştıran ücretsiz bir Git playground - JavaScript taklidi değil. Solda komutları yazın - git init, git add, git commit, git branch, git merge, git rebase, git reset -, Çalıştır'a basın; sağdaki depo paneli scriptinizin her satırından sonra commit grafiğini, dalları, HEAD'i ve çalışma ağacını yeniden çizsin. Git'i çevrimiçi pratik etmenin ve her komutun ne yaptığını gerçekten görmenin en hızlı yolu.
Her çalıştırma tüm scriptinizi boş bir klasörden yeniden oynatır ve her ifadeden sonra deponun anlık görüntüsünü alır; böylece herhangi bir adıma tıklayıp grafiği tam o andaki haliyle görebilirsiniz. Bir git reset'in geride bıraktığı commit resimde soluk olarak kalır, yani bir geri alma neyi geri aldığını gösterir. Kurulum yok, hesap yok, kendi depolarınıza asla dokunulmuyor.
Bu Git playground'u farklı kılan ne
- Gerçek Git, gerçek çıktı: sandbox, Linux üzerinde hakiki
gitikilisini çalıştırır; hata mesajları,git log --graph,git statusve flag'ler kendi makinenizdeki gibi davranır - yalnızca yazarlarının modellediği komutları bilen bir Git simülatörünün aksine. Bilerek bırakılan tek fark: yazar kimliği ve commit tarihleri sabittir, böylece hash'ler çalıştırmalar arasında aynı kalır. - Her satırdan sonra güncellenen bir commit grafiği: dallar şerit olarak, merge'ler eğri olarak,
HEADve her ref kendi commit'inde etiket olarak, ayrıcagit status'tan okunan stage'lenmiş, değiştirilmiş, izlenmeyen ve çakışan dosyalar. Oturumunuzun geçmişinde ileri geri gezinmek için bir adıma tıklayın. - İnsanların en çok aradığı komutları pratik edin: bir commit'i geri alma, commit'leri squash etme, main üzerine rebase, cherry-pick, stash, merge çakışması çözme, güvenli force-push. Aşağıdan hazır bir iş akışı yükleyin ya da Git komut referansının herhangi bir sayfasını açıp "Canlı deneyin"e basın.
- Ağ olmadan uzak depolar: yerel bir bare depo oluşturun, onu
originolarak ekleyin vegit push,git fetch,git pullvegit clone'u ona karşı pratik edin. Grafikorigin/main'imain'in yanında ilerlerken gösterir. - Deterministik çalıştırmalar: tarihler ve kimlik sabitlenmiştir, dolayısıyla aynı script her zaman aynı commit hash'lerini üretir. Bir scripti bir arkadaşınızla paylaşın, ikiniz de aynı grafiği görün.
Git playground'da neler deneyebilirsiniz
- Dal aç ve birleştir:
git checkout -b feature, orada bir commit atın,main'e dönün, orada da commit atın, sonragit merge featureile merge commit'inin iki şeridi birleştirmesini izleyin. - Güvenle geri alın: pişman olduğunuz bir commit atın,
git reset --soft HEAD~1çalıştırın ve commit grafikten solarken değişikliklerinizin stage'lenmiş dosyalar olarak geri geldiğini görün. Sonragit revertdeneyin ve karşılaştırın. - Rebase'e karşı merge: aynı iki dallı geçmişi iki kez kurun, birini
git mergeile, diğerinigit rebase mainile bitirin ve iki grafiğin şeklini yan yana karşılaştırın. - Bilerek bir merge çakışması: aynı satırı iki dalda değiştirin, merge edin ve dosyanın Çakışmalar satırına düştüğünü izleyin. Düzeltin,
git add,git commitve çakışmanın temizlendiğini görün.
Git playground SSS
Bu Git playground ücretsiz mi?
Bu gerçek Git mi yoksa bir simülasyon mu?
git ikilisiyle yürütür; yani komutlar, flag'ler, çıktı ve hata mesajları yerelde gördüğünüzle birebir aynıdır. Bilerek eklenen iki şey var: varsayılan bir yazar kimliği (kendi git config user.name komutunuz bunu, yerelde olacağı gibi, geçersiz kılar) ve sabitlenmiş commit tarihleri; böylece commit hash'leri her çalıştırmada aynı olur. Çalışma sırasında hiçbir şey sizden giriş isteyemez, bu yüzden git rebase -i gibi etkileşimli bir komut betikle verilmiş bir editöre ihtiyaç duyar - örnekler bunun nasıl yapılacağını gösteriyor.Commit grafiği nasıl çalışıyor?
HEAD'ini, stash listesini ve git status'unu kaydeder. Sayfa grafiği bu anlık görüntülerden çizer: dal başına bir şerit, merge'ler eğri olarak ve her ref bir etiket olarak. Deponun o satırdan hemen sonraki halini görmek için bir adım numarasına tıklayın. Çok uzun bir oturumda önceki komut satırları yalnızca sonlarında kaydedilir ve adım şeridi yalnızca gerçekten kaydedilmiş durumları gösterir.Burada dallanma, merge ve rebase pratiği yapabilir miyim?
git push, pull, fetch ve clone kullanabilir miyim?
git clone https://… internete ulaşamaz. Bir alt klasörde bare depo oluşturun (git init --bare remote.git), onu origin olarak ekleyin ve ona push, fetch, pull ve clone yapın - uzak izleme dalları grafikte GitHub'daki gibi görünür.Çalışmam çalıştırmalar arasında kalıcı mı?
Bunun çevrimiçi Linux terminalinden farkı ne?
Git'i sıfırdan öğreten bir kurs var mı?
git init'ten dallara, merge'lere, rebase'lere ve uzak depolara kadar kontrollü alıştırmalarla ilerler ve Git komut referansındaki her komut sayfasında bu playground'u çalıştırılabilir bir örnekle açan bir "Canlı deneyin" düğmesi vardır.