Tam olarak bu durumdayım ama Git'le daha karmaşık bir iş akışı olmasa da, biraz daha karmaşık olmayı tercih ettim.
İlk başta amaç, gidiş yolunu öğrenmek oldu, bu yüzden bir miktar keşif yaptım. daha sonra tarif ettiğiniz iş akışına geri döndü.
Bir süre sonra, bazı durumlar ortaya çıktığında çalışmak zorlaştı, aynı zamanda bir takıma katıldığımda kırılması zor olacak kötü alışkanlıklar verdi.
bu yüzden aşağıdakileri çözdüm:
- Çalışmak için yerel depo.
- Uygulama için sabit bir ana hat olarak ana dal
- Her özellik / refraktör için bir dal, temelde yapılacak her büyük değişiklik için bir dal.
- Dal stabil olduğunda ve tüm testler geçtiğinde tekrar bagaja birleştirilir.
Ayrıca bagajı senkronize ettiğim bir git hub hesabı oluşturdum. Bu, farklı bilgisayarlarda kolayca çalışmaya başlamamı sağladı. Zorunluydu, ancak içinde bulunduğum çevreye bağlı diğer bilgisayarlarda bulunmayan hataları bulmama izin verdi. Bu yüzden şimdi farklı bir "bakire" sistemindeki bir projeyi en az bir kere denemeyi alışkanlık haline getiriyorum. Müşteriye dağıtma zamanı geldiğinde bana çok fazla sıkıntı kazandırıyor.
- Onu serbest bırakılabilir bir sürüm olarak github'a dönüştüren her sürümü etiketliyorum.
- Müşteriye serbest bırakılırsa, müşteri tarafından beyan edilen hata düzeltmeleri için ikinci bir sabit gövde oluşturmak için bu sürümden şube açacağım.
İlk başta olan çoklu dallar fazladan gözüküyor gibiydi, ancak GERÇEKTEN çok yardımcı oldu. Bir dalda bir fikir başlatabilir, bir süre üzerinde çalışabilirim ve daireler çizmeye başladığımda pes ettim ve başka bir şey üzerinde çalışmak için başka bir şubeye başladım. Daha sonra, yarı pişmiş şubeye geri dönüp bu fikri keşfedeceğim bir fikir geldi. Bu genel olarak, flaşları ve fikirleri çok hızlı bir şekilde yapabildiğim ve çalışıp çalışmadığını görebildiğim için daha üretken olmamı sağladı. Şubelerin GIT ile değiştirilmesinin maliyeti son derece düşük ve beni kod tabanımla oldukça çevrelendiriyor. Bu, tarihimi temizlemek için yeniden rebase kavramında ustalaşmam gerektiğini söyledi, ancak yalnız olduğum için gerçekten ihtiyacım olduğundan şüpheliyim. "Öğrenmesi güzel" olarak bastırdı.
Tüm dallanma karmaşıklaştığında, bir değişiklik ağacı çizmek ve hangi dalın nerede olduğunu görmek için log seçeneğini araştırdım.
Uzun lafın kısası, git SVN, CVS veya (brrr) TFS gibi değil. Dallanma çok ucuz ve işleri yok edecek hatalar yapmak oldukça zor. Sadece bir kere işimi kaybettim ve bunun nedeni, taahhütlerimi çok büyük kılmamdı (yukarıdaki kötü alışkanlıkları görün). Sık sık yaparsanız, küçük parçalar halinde git kesinlikle en iyi müttefikiniz olacak.
Git bana, kaynak kontrolünün gerçekte neyle ilgili olduğuna dair fikrimi açtı. Daha önce başka bir şey sadece onu elde etmeye teşebbüs ediyordu, git ilk, aklımda, onu aldı. Bununla birlikte, diğer DVCS'leri denemedim, muhtemelen bu açıklama bütün aileye yayılabiliyordu.
Son bir tavsiye, komut satırı senin arkadaşın. Grafiksel araçların iyi olmadığını söylemiyorum, tam tersi ama komut satırına girip kendimi denediğimde, gerçekten gitmiştim. Aslında çok iyi yapılmış, çok kapsamlı bir yardım sistemiyle takip etmesi kolay. En büyük sorunum, alternatifler bulana kadar pencerelerdeki ama çirkin konsola bağlı olmaktı.
Şimdi her ikisini de kullanıyorum, gerçek zamanlı olarak neler olup bittiğini görmek için Git ile Eclipse entegrasyonu yapıyorum ve farklı işlemler, bir dosya için tarihçeyi araştırmak, vb. Gibi bazı işlemler yapıyorum. . bazı temel komut dosyaları ve kaynak kontrolü konusunda hiç bu kadar verimli olmamıştım ve kaynağım üzerinde hiçbir zaman bu kadar kontrol sahibi olamadım.
İyi şanslar, bu yardımcı oldu umuduyla.