Arasındaki fark nedir git clone
ve git checkout
?
Arasındaki fark nedir git clone
ve git checkout
?
Yanıtlar:
Ödeme için kılavuz sayfası: http://git-scm.com/docs/git-checkout
Klon için man sayfası: http://git-scm.com/docs/git-clone
Özetlemek gerekirse, klon, sahip olmadığınız depoları almak içindir, ödeme, zaten sahip olduğunuz bir havuzdaki dallar arasında geçiş yapmak içindir.
Not: SVN / CVS arka planı olan ve Git için yeni olanlar için git clone
SVN / CVS'deki eşdeğeri checkout
. Farklı terimlerdeki aynı ifadeler genellikle kafa karıştırıcıdır.
checkout
çalışma kopyanızdaki bir dosyanın üzerine başka bir revizyondaki bir sürümünün üzerine yazmak gibi başka şeylerde de kullanılabilir.
git clone , depolarınızı uzak git sunucusundan almaktır.
git checkout , deponuzda istediğiniz dalları (şubeler veya belirli dosyalar gibi) kullanıma almaktır.
Örneğin, şu anda ana branştasınız ve geliştirme branşına geçmek istiyorsunuz.
git checkout develop_branch
Örneğin, belirli bir dosyanın belirli bir durumuna göz atmak istiyorsunuz
git checkout commit_point_A -- <filename>
İşte Git'i öğrenmeniz için iyi bir referans , daha kolay anlamanıza izin veriyor.
git clone
yerel depolarla da çalışır.
Dikkat edilmesi gereken bir şey, git içinde herhangi bir "Kopyalama" olmamasıdır. Bunun nedeni , yerel repoınızda zaten tam bir kopyaya sahip olmanızdır - yerel repo clone
, seçtiğiniz yukarı akış repolarından biridir. Böylece etkili bir kişisel olması checkout
ve her şeyin referans repo bu dosyalarda bazı 'kilit' koymadan.
Git, SHA1 karma değerlerini, bir dosya / dizin ağacı / commit / repo'dan aldığınız kopyanın, güven hiyerarşisinde işleri "Master" olarak tanımlayabilenlerinkiyle tamamen aynı olduğunu doğrulama mekanizması olarak sağlar. Bu, çoğu SCM sisteminin boğulmasına neden olan tüm 'kilitleri' önler (özel kopyaların olağan sorunları, büyük birleşmeler ve kaynak kodunun gerçek kontrolü veya yönetimi yok ;-)!
Basitçe git checkout 2 kullanım var
git checkout <existing_local_branch_name>
git checkout -b <new_feature_branch_name>
daldaysanız, ana içeriğin bulunduğu yeni bir dal oluşturacak ve yeni oluşturulan dala geçeceksinizResmi sitede daha fazla seçenek bulabilirsiniz
-b
seçenek, yeni bir yerel şube oluşturan ve aynı anda tek komutla kontrol eden harika. Sevdim!
checkout
birçok durumda kullanmak olabilir:
1. durum : yerel depodaki şube arasında geçiş yapma Örneğin:
git checkout exists_branch_to_switch
Ayrıca yeni şube oluşturabilir ve bu davada -b
git checkout -b new_branch_to_switch
2. durum : dosyayı x rev'den geri yükle
git checkout rev file_to_restore
...