Yerel bir depoda yalnız çalışıyorsam neden zorlamalıyım?


21

GitHub for Windows için GitHub ile etkileşime geçiyorum , bu eğlencelidir çünkü depolarımı GitHub'a asla zorlayamayacağım. Yalnız üzerinde çalışıyorum ve sadece benim tarafımdan kullanılmak üzere tasarlandı. Taahhütlerimin "taahüt edilmeyen komisyonlar" altında ve "tarihçe" altında "taahhüt edilmemiş" yazdığını fark ettim. Bu da bana soruyu getiriyor, “tarihçe” altında listelenen taahhütlerim dışında iterek ne elde edeceğim?


14
Sormaya değecek kadar önemli bir anlayış eksikliği var: eğer uzaktan bir şey zorlamadıysanız, tüm çalışmalarınız yerel diskteki depoda. Makineni kaybet, yaptığın her şeyi kaybet.
Lars Viklund

Yanıtlar:


40

Teknik olarak haklısınız - kodu kimseyle paylaşmıyorsanız, gerçek bir zorlama yapmanıza gerek yoktur.

Sonra tekrar, dizüstü bilgisayarınızda en düşük teklif veren tarafından yapılmış bir sabit disk vardır. Sabit disk arıza yapmadan eviniz yanabilir. Kodunuza uzaktan bakmak isteyebilirsiniz. Hatta birisiyle bile paylaşabilirsiniz.

Şimdi, Github ile her şeyin halka açık olmasını istiyorlar veya özel depolar için ödemeniz gerekiyor. Bu nedenle, kendinize saklamak istiyorsanız, gitmenize izin verecek bitbucket'i kontrol etmek isteyebilirsiniz ama aynı zamanda ücretsiz özel repolar da kullanabilirsiniz.

Başka bir seçenek de git deponuzu uzaktan yedeklenmiş bir yere kaydetmek olacaktır. Ancak bu günlerde yalnızca bir bulut SCM sağlayıcısı kullanmak yerine bunu yapmanın çok az avantajı var.


BitBucket, hemen hemen sınırsız sayıda ücretsiz özel repo sunar .

İtmek için pek çok neden var. İş akışı gerçekten bu kadar değişmez. Çalışır, taahhüt eder, taahhüt eder, iş akışını bitirir ve ...
Rig

7

Bir depoya zorlamak için başka bir neden daha var (bir şekilde veya başka bir yerde olsa bile): iş istasyonları .

Seni bilmiyorum ama 4 farklı bilgisayarda çalışıyorum (evde 1 PC, 1 Dizüstü Bilgisayar, 1 Ofis PC ve 1 Ofis Dizüstü Bilgisayar) ve düzgün bir şekilde ayarlanmış Git sunucusundaki değişiklikleri zorlayarak şirketimin sunucusunda hızlı bir şekilde senkronizasyon yapıyor ve ağrısız. Git bir DVCS olduğundan, bu avantajı kullanmanın avantajı var: sadece yedeklemeler değil, üzerinde çalıştığım tüm farklı kod tabanları kolayca birleştirilebilir, kontrol edilebilir ve analiz edilebilir.

Örneğin, ev bilgisayarınız “sunucu” ise (ya da orijinli ise) ve bir ev dizüstü bilgisayarınız varsa, bu şekilde kolayca senkronize kalabilirsiniz.

Sidenote : İnsanlar sık ​​sık "Dropbox (veya başka bir senkronizasyon servisini kullanmayı tercih ederim)" derler. Git deposunun sahip olduğu büyük miktarda nesne, Dropbox'ı bu şekilde kullanmayı çok saçma yapar. Bu bir seçenek, ama iyi bir şey söylemem.


+1, kesinlikle senin için de aynısını yaparım. Evde zorlamayı unutmuş ve şu anda işteyken ne yaparsınız?
Moshe Revah

2
@Zippoxer Başka bir göreve odaklanın ve daha sonra birleştirin.
bytebuster

Aynen, @ bytebuster ne dedi. DVCS'nin güzelliği bu! (Her ne kadar, yeterince pratikte bir daha asla unutmayacaksın!)
AeroCross

Alternatif olarak: Yeni fikirler gevşemek veya keşfetmek için bir yan / hobi projesinde çalışın vs. :-)
johannes

6

Dağıtılmış bir SCM olarak git, 'çalışan kopyanın anlık görüntüsünü alın' (taahhüt) ve 'depoları senkronize et' (push / pull / fetch) kavramlarını birbirinden ayırır.

Deponuzdan yalnızca bir yerel klonunuz varsa, zorlamak mantıklı değildir. Ancak, github, sen bunu başka klon (github bir) var ve değişiklikleri itme en az bir avantajı var sahiptir: yedekleme. Bilgisayarınız ölürse, hala github'a kadar itilmiş olan her şeye sahip olursunuz.

Tabii ki, bu Github'un temel amacı değil; github kod paylaşmaya yöneliktir, bu nedenle projeniz github'daysa, başkalarının oradan çekilmesine, projenizi klonlamanıza, klonlarından çekme isteklerine göre hareket etmesine veya hatta güvenilir başkalarının deponuza itme erişimi vermesine izin verebilirsiniz.

Basılması gereken bir başka sebep de birkaç yerel klon kullanıyorsanız. Bu, çeşitli şeyler için faydalı olabilir: örneğin, aynı anda iki farklı dalda çalışmak isteyebilirsiniz veya deponuzdaki olası yıkıcı işlemleri denemek isteyebilirsiniz; Her şey amaçlandığı gibi çalışıyorsa, değiştirilmiş klonu saklarsınız (veya değişikliklerinizi orijinal depoya geri gönderirsiniz), ancak işler güneye giderse, yalnızca berbat klonu silip orijinaline geri dönebilirsiniz (yine de değişmez) .

Bazı insanlar dağıtım için git bile kullanıyor: üretim sürümü ayrıca bir git repo, ve daha yeni bir sürüme güncelleme yapılması ve satın alınması ile ilgili bir sorun var (tabii ki bu sadece bir derleme adımına ihtiyacınız yoksa işe yarar). Mutlaka ciddi şeyler için tavsiye etmem ama küçük şeyler için basit ve pragmatik bir çözümdür.

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.