"Git commit" ve "git push" arasındaki farklar nelerdir?

Gittiğim Git eğitiminde git commit yaptığınız değişiklikleri saklamak için kullanılır.

git push nedir?

770
30 апр. ben tarafından Nis 30 tarihinde ayarlandı 2010-04-30 17:17 '10, 17:17 2010-04-30 17:17
@ 15 cevap

Temel olarak, git commit "değişiklikleri" yazarken, git push "depoları ilişkili nesnelerle birlikte silinen bağlantıları günceller." Bu nedenle, önceki bölge yerel deponuzla bağlantılı olarak kullanılırken, ikincisi uzaktaki depoyla etkileşime girmek için kullanılır.

İşte Oliver Steele'in git modelini ve komutlarını açıklayan güzel bir resmi:

2019

1442
30 апр. Cevap 30 Nis tarihinde tanascius tarafından verildi . 2010-04-30 17:20 '10, 17:20 2010-04-30 17:20

taahhüt : yerel depoya değişiklikler ekleyin

border=0

push : son işlemi uzaktaki bir sunucuya aktarma

169
30 апр. Cevap TheHippo tarafından 30 Nisanda verildi 2010-04-30 17:20 '10, 17:20 2010-04-30 17:20

Aslında, temelde git taahhüt değişikliklerinizi yerel bir depoya koyuyor ve git push değişikliklerinizi uzak bir yere gönderiyor.

52
30 апр. Tarafından verilen cevap markovuksanovic 30 Nis 2010-04-30 17:21 '10, 17:21 2010-04-30 17:21

git push yerel depoda yaptığınız taahhütleri uzaktan kumandaya eklemek için kullanılır - git pull ile birlikte insanların birlikte çalışmasını sağlar.

25
30 апр. Yanıtlayan : Michael Borgwardt 30 Nis 2010-04-30 17:20 '10, 17:20 2010-04-30 17:20

Git, dağıtılmış bir sürüm kontrol sistemi olduğu için fark, bir taahhüdün yerel deponuzda değişiklik yapması, itme ise uzak bir repoda değişikliklere yol açmasıdır.

23
30 апр. Cevap 30 Nisan tarihinde Justin Ethier tarafından verildi 2010-04-30 17:20 '10, 17:20 2010-04-30 17:20

git commit değişikliklerinizi yerel depoya yazın.

git push yerel değişikliklerinizle silinen depoyu güncelleyin .

12
11 авг. Cevap Naresh 11 Ağustos verilmiştir . 2013-08-11 09:20 '13 9: 20'de 2013-08-11 09:20

'Farklı Kaydet'} depoları. Git deposu = bir taahhüt (ağaç) ağacı (bir kaç ekstra şey).

Yerel veri havuzu: bilgisayarınızdaki veri havuzu.

Uzak havuz: sunucudaki bir depo (örneğin, Github.com).

git commit : Yerel depoya yeni bir taahhüt (son taahhüt + aşamalı değişiklikler) ekleyin.

git push , git pull : Yerel bir havuzu kendisiyle ilişkilendirilmiş uzak depo ile senkronize edin. push - yerelden uzaktan kumandaya değişiklikleri uygulayın, pull - uzaktan yerele değişiklikleri uygulayın.

10
04 авг. Cevap 04 Ağustos x x verilen . 2016-08-04 18:59 '16, 18:59, 2016-08-04 18:59

Dikkat edilmesi gereken üç şey:

1) Çalışma dizini ----- kod dosyamızın bulunduğu klasör

2) Yerel depo ------ Bu, sistemimizin içindedir. İlk önce bir COMMIT komutu oluşturduğumuzda, bu yerel depo oluşturulur. çalışma rehberimiz nerede
Checkit (.git) dosyası oluşturulacak.
Bundan sonra, taahhüt ettiğimizde, yerel dizindeki (.git) Çalışma Dizini dosyasına yaptığımız değişiklikleri kaydeder.

3) Uzak havuz ----- Sistemimizin dışında ve dünyanın herhangi bir yerinde bulunan sunucularda bulunur. Github gibi. PUSH komutunu yürüttüğümüzde, yerel depomuzdan gelen kodlar bu uzak havuzda saklanır.

4
16 мая '18 в 19:08 2018-05-16 19:08 Cevap, DEVINDER THAKUR tarafından 16 Mayıs 19'da , 19:08 2018-05-16 19:08

Sadece aşağıdakileri eklemek istiyorum:

Yon, taahhüt edene kadar zorlayamaz, çünkü biz yerel şubenizdeki komisyonları uzak havuza git push için git push kullanıyoruz.

git push komutu iki argüman alır:

Uzak ad, örneğin origin Şube adı, örneğin master

Örneğin:

git push <REMOTENAME> <BRANCHNAME>

4
27 нояб. Cevap Faysal Shaikh 27 Kasım tarafından verilmektedir. 2016-11-27 22:52 '16, 10:52, 2016-11-27 22:52

Çok kaba bir benzetme: git commit düzenlenmiş dosyayı kaydetmekle karşılaştırırsak git push bu dosyayı başka bir yere kopyalar.

Lütfen bu analojiyi bu bağlamdan çıkarmayın - sabitlemek ve basmak, düzenlenen dosyayı kaydetmek ve kopyalamaktan başka bir şey değildir. Ancak, bu sadece karşılaştırma için olmalıdır.

2
04 авг. Cevap 04 Ağustos'ta verildi . 2016-08-04 21:34 '16, 21:34, 2016-08-04 21:34

Günlük dosyasının Github'taki deponuzda tutulduğunu düşünüyorsanız, git add ve commit komutlarının kullanımını anlamak daha kolaydır. Benim için tipik bir proje günlük dosyası şöyle görünebilir:

 ---------------- Day 1 -------------------- Message: Completed Task A Index of files changed: File1, File2 Message: Completed Task B Index of files changed: File2, File3 ------------------------------------------- ---------------- Day 2 -------------------- Message: Corrected typos Index of files changed: File3, File1 ------------------------------------------- ... ... ...and so on 

Genellikle günüme git pull isteği ile başlar ve bunu bir git push isteği ile sonlandırırım. Dolayısıyla günlük kayıttaki her şey, aralarında olanlara karşılık gelir. Her gün, birkaç dosya değiştirmeyi gerektiren bir veya daha fazla mantıksal görev gerçekleştiriyorum. Bu görev sırasında düzenlenen dosyalar dizinde listelenir.

Bu alt görevlerin her biri (burada Görev A ve Görev B) ayrı ayrı taahhütlerdir. git add komutu, "Değiştirilen dosyalar dizini" listesine dosya ekler. Bu süreç aynı zamanda evreleme olarak da adlandırılır ve değiştirilmiş dosyaları ve yapılan değişiklikleri kaydeder. git commit komutu, değişiklikleri ve ilgili dizin listesini, ileride kullanmak üzere kullanılabilecek özel bir mesajla birlikte yazar / tamamlar.

Unutmayın ki hala Github'daki değil, yalnızca deponuzun yerel kopyasını değiştiriyorsunuz. Bundan sonra, sadece ileri gittiğinizde, kaydedilen tüm değişiklikler ve ayrıca her bir işleme ilişkin indeks dosyalarınız ana depoya (Github'da) kaydedilir.

Örnek olarak, bu hayali günlük dosyasına ikinci girdiyi almak için yapacağım:

 git pull # Make changes to File3 and File4 git add File3 File4 # Verify changes, run tests etc.. git commit -m 'Corrected typos' git push 

Özetle, git add ve git commit , ana havuzdaki değişiklikleri sistematik mantıksal yer değiştirmelere bölmenizi sağlar. Diğer cevaplarda ve yorumlarda belirtildiği gibi, kesinlikle başka birçok kullanım alanı vardır. Bununla birlikte, Svn gibi diğer popüler sistemlerin aksine, çok seviyeli bir sürüm kontrol sistemi olan Git'in en yaygın kullanımlarından biridir.

0
15 янв. Cevap Cibin Joseph 15 Ocak tarafından verildi . 2018-01-15 09:13 '18 9: 13'te

layman'ın ifadesiyle, git commit , github dosyanızı başarılı bir şekilde gitmek için bu sırada çalıştırdığınız git push bir adımdır.

0
18 июня '17 в 0:38 2017-06-18 00:38 Cevap Zeal Murapa tarafından 18 Haziran 17: 00'de 0:38 2017-06-18 00:38

git taahhüt, değişikliklerimizin resmi tasarrufundan başka bir şey değildir, taahhüt mesajına verdiğimiz her taahhüt için, taahhüdü bitirir bitirmez, değişiklikleri global olarak görebilmek için uzaktaki bilgisayara taşıyabiliriz.

bu, uzak bir sunucuya göndermeden önce birçok taahhütte bulunabileceğimiz anlamına gelir (gerçekleşen bir taahhüt ve mesaj listesini görebiliriz), git her bir işlemi 40 basamaklı bir kod olan bir taahhüt tanımlayıcı ile kaydeder.

ve git push'u sadece değişikliklerimi uzaktan görmek istediğimde kullanıyorum (jenkins kodumun çalışıp çalışmadığını kontrol ettikten sonra)

0
20 дек. Cevap 20 Aralık'ta Sai Koti tarafından verildi. 2017-12-20 10:49 '17, 10:49 2017-12-20 10:49

git commit yerel depoda bulunan dosyaları git commit etmektir. git push - yerel taraftaki ana dalın birleştirilmiş olması ile birlikte ana dalın birleştirilmesi. Ancak birleşme her zaman başarılı olmayacak. Bir başarısızlık olursa, başarılı bir git push yapabilmek için çekmeniz gerekir.

-3
12 авг. Cevap Marcus Thornton 12 Ağustos tarafından verilmiştir . 2014-08-12 11:56 '14, 11:56 2014-08-12 11:56

Peki, temelde git commit değişikliklerinizi yerel bir depoya aktarır ve git push değişikliklerinizi uzak bir yere gönderir. Git, dağıtılmış bir sürüm kontrol sistemi olduğu için fark, bir taahhüdün yerel deponuzda değişiklik yapması, itme işlemi uzak bir depoda değişiklik yapması

kaynak google

http://gitref.org/basic/ bu link çok yardımcı olacaktır.

https://git-scm.com/docs/git-commit

-3
01 авг. Cevap oroyo segun 01 ağustos . 2016-08-01 14:51 '16, 14:51, 2016-08-01 14:51

etiketleri hakkında diğer sorular veya Soru Sor