Commit, Commit ve Push, Commit ve Sync arasındaki farklar


151

Visual Studio 2013 kullanıyorum ve C # kodumu işlediğimde 3 seçenekle karşı karşıyayım. GitHub repo ile yerel depomun başına gelenlerle ilgili olarak seçeneklerin her biri arasındaki farkların bir açıklamasına ihtiyacım var.

  • 1. Seçenek, Kaydet diyor
  • 2. Seçenek, Teslim Et ve İttir diyor
  • 3. Seçenek, Kaydet ve Senkronize Et diyor

Son 2 seçenek arasındaki farkı tam olarak anlamıyorum. Commit ve Push yerine Commit and Sync'i ne zaman kullanmalıyım?

Yanıtlar:


219
  1. Commit, yerel makinenizde yaptığınız değişikliklerin kaydını tutacaktır. Uzak depodaki değişikliği işaretlemeyecektir.
  2. Commit ve Push, yukarıdakileri yapacak ve uzak depoya gönderecektir. Bu, yaptığınız tüm değişikliklerin uzak depoya da kaydedileceği anlamına gelir.
  3. Commit and Sync üç şey yapar. İlk önce taahhüt edecek. İkinci olarak, bir çekme gerçekleştirecektir (güncellenmiş bilgiyi uzak depodan alır). Sonunda itecek.

Microsoft'tan daha fazlasını burada görün


"Commit and Sync" i gerçekten anlamadım İlk olarak, gerçekleştirecek. İkincisi, bir çekme gerçekleştirecek Sonunda itecektir. Kod değişiklikleri halihazırda uzak depoya kaydedilmişken neden burada zorunludur (Push için değişiklik yok).
Bhuwan Pandey

6
@BhuwanPandey "commit" gerçekleştirmek "push" içermez. Ayrıdırlar. Uzak depoya kaydetme işleminizi yalnızca bir "push" güncelleyecektir. Bunu görmek için diğer cevaptaki resme bakın. "Kaydetme" dizinden yerel depoya gider, "push" ise yerel depodan uzak depoya giderek biter
camiblanch

Senkronizasyon işlemi, uygulamada aynı anda birden çok kullanıcı çalışırken çakışmalara neden olabilir mi?
Murali Dhar Darshan

1
Visual Studio 2017 kullanıyorum ve Commit and Sync komutu değişikliklerinizi tamamen zorlamıyor. Bir Eşitleme gerçekleştirerek değişikliklerimin Visual Studio'daki geçmiş sekmesinde gösterildiğini, ancak Github sitesinde görünmediğini söylüyorum. Commig and Sync'ten sonra bir Push komutu gerçekleştirmek zorunda kaldım ve ardından değişikliklerim Github sitesinde göründü.
Fabiano

2
@Fabiano Kabul Edildi. Kaydet ve ardından Eşitle yaparsam, uzak sunucuya kaydetmem için zorlamam isteniyor. Bu, buradaki cevapla çelişiyor gibi görünüyor.
Robbie Dee

74

Camieblanch'ın cevabına eklemek için. Tanascius'tan bu yararlı resmi / gönderiyi buldum ( burada ). "İşte Oliver Steele'den git modelini ve komutları açıklayan güzel bir resim:" görüntü açıklamasını buraya girin


1
Peki bu resimde Senkronizasyon nerede?
Alan Baljeu

2
Resimde yok. "Camiblanch" ın cevabına geri dönerseniz. Yerel deponuza bağlanır, uzak depoyu yerel deponuzla senkronize etmek (birleştirmek) için çekin ve ardından birleştirilmiş yerel depoyu uzak depoya iter.
A.sharif

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.