Menu
CoddyTech

Git Push

Son güncelleme

git push, yerel dalınızdaki commit'leri uzak karşılığına (GitHub gibi) yükler. Bir dalın upstream'i ayarlandıktan sonra düz bir git push yeterlidir; yeni bir dalın ilk push'u, uzak dalı oluşturmak ve izlemeyi kurmak için -u kullanır, böylece sonraki push ve pull işlemleri argüman gerektirmez.

Bunları terminal playground'da deneyin - tarayıcınızda gerçek bir kabuk, kurulacak hiçbir şey yok.

git push yeni yerel commitlerini uzak dala yükler.

Sözdizimi

CommandWhat it does
git pushGeçerli dalı upstream'ine gönderir
git push -u origin featureYeni bir dal gönderir ve upstream ayarlar
git push origin mainBelirli bir uzağa ve dala gönderir
git push --tagsTüm yerel etiketleri gönderir
git push --force-with-leaseRebase sonrası güvenli force push

Yaygın durumlar

GoalCommand
Tamamen yeni bir dal göndermegit push -u origin feature
Upstream ayarlandıktan sonra göndermegit push
Tek bir etiket göndermegit push origin v1.0.0
Uzak bir dalı silmegit push origin --delete feature

Örnek uygulama

AdımKomutSonuç
1git remote add origin <url>Yerel depoyu origin adıyla uzak depoya bağlar
2git push -u origin mainUzak depoda main dalını oluşturur ve onu yerel main dalınızın upstream'i yapar
3git pushmain üzerindeki sonraki her push argümansız çalışır

git push SSS

git push ne işe yarar?
Yerel dalınızda olup uzak dalda olmayan commit'leri gönderir, ardından uzak dalı yerel dalınızla aynı noktaya taşır. Yalnızca commit'leri yükler: commit'lenmemiş değişiklikler bilgisayarınızda kalır, bu yüzden önce commit yapın. Uzak depoda sizde olmayan commit'ler varsa, siz pull ya da rebase yapana kadar push reddedilir.
Uzağa yeni bir dalı nasıl gönderirim?
git push -u origin <branch> komutunu çalıştırın. -u (--set-upstream kısaltması) dalı uzakta oluşturur ve yerel dalınızı ona bağlar, böylece sonrasında düz bir git push ve git pull argümansız çalışır. Uzak dal, bu ilk push'a kadar mevcut değildir.
git push neden 'no upstream branch' diyor?
Yerel dalınız henüz bir uzak dala bağlı değil. Uzak dalı oluşturmak ve upstream'i ayarlamak için git push -u origin <branch> ile gönderin. Bundan sonra tek başına git push, commit'leri nereye göndereceğini bilir.
Etiketleri nasıl gönderirim?
Etiketler varsayılan olarak gönderilmez. Tek bir etiketi git push origin <tagname> ile gönderin veya hepsini birden git push --tags ile gönderin. Bu yaygın bir tuzaktır - yerelde oluşturduğunuz bir etiket, onu açıkça göndermeden uzakta görünmez.
Güvenli bir şekilde nasıl force push yaparım?
Geçmişi yeniden yazdıktan sonra (rebase veya amend), --force yerine git push --force-with-lease kullanın. Yalnızca son fetch'inizden bu yana başka kimse push yapmadıysa uzağı üzerine yazar ve ekip arkadaşlarınızın çalışmasını korur. Tam açıklama için git force push sayfasına bakın.
git push -u origin main ne demek?
origin uzak depodur (bkz. git remote), main daldır, -u ise o uzak dalı yerel main dalınızın upstream'i olarak ayarlar. GitHub'ın yeni bir depo için gösterdiği komut budur: bir kez çalıştırdıktan sonra main üzerinde git push ve git pull argüman gerektirmez.
git push ile git pull arasındaki fark nedir?
Commit'leri ters yönlerde taşırlar. git push yerel commit'lerinizi uzak depoya yükler; git pull ise uzak deponun yeni commit'lerini indirip dalınıza merge eder. Non-fast-forward olarak reddedilen bir push genellikle önce pull yapmanız gerektiği anlamına gelir. Pull komutunun arka planda ne yaptığını git fetch ile pull farkı sayfasında görebilirsiniz.
Bunu çevrimiçi olarak alıştırabilir miyim?
Evet. git push'u tarayıcınızda gerçek bir kabukta çalıştırmak için terminal playground'u açın - kurulacak hiçbir şey yok. Coddy'nin ücretsiz etkileşimli Git kursu da uzaklarla çalışmayı adım adım ele alır.
Coddy programlama dilleri çizimi

Coddy ile Git öğren

BAŞLA