Birçok programcının, hatta dosyalarla fazlaca haşırneşir olanların karşılaştığı bir sorundur, dosyalarımızın hangisine ne zaman ne değişiklik yaptım ?
Karanlık Çağlarda dosya adı, klasör adı ile işleri çözüyorduk. FalancaDosya.txt sonra FalancaDosyaSon.txt yetmedi mi FalancaDosya200320.txt
Bu çözümler geçmişte kaldı. Artık versiyon kontrol/takip yazılımları mevcut. Nasıl çalıştığını arka planında neler olduğu bizi zerre ilgilendirmiyor. Biz iyi pilav yapmak istemiyoruz, pilavı yemeyi planlıyoruz.
Fedora 31 yeni yükledim daha önce de Linux Mint kullanıyordum.Python için AnacondaFramework u kullanıyorum. Neredeyse tüm gereksinimlerimi Karşılıyor. İçerisindeki paketleri/modülleri/kütüphaneleri link den görebilirsiniz. Ben genel itibariyle matplotlib,numpy,pandas a ihtiyaç duyuyorum.
Python kodlamada kullandığım IDE ise Pycharm. Pycharm versiyon kontrol sistemlemlerini doğrudan destekliyor.
Haydi gelin şimdi nasıl yapacağımızı öğrenelim.
Yapacağımız ilk işlem GIT kurulumunu Fedora OS yapmak. Bunun için bir internet bağlantısına ihtiyacınız var. Daha sonra basit birkaç komut gireceğiz terminalden. Git Kurulumu için yönetici olmanız gerekebilir. Kurulumu başlatmak için aşağıdaki komutu girelim.
1 |
$ sudo dnf install git-all |
Kurulum bittiğinde, kurulumun doğru olarak sonuçlandığını GIT versiyonunu kontrol ederek anlayabiliriz.
1 |
$ git --version |
GIT i doğru kurduğumuzu varsayarak devam edelim. Peki Pycharm ile nasıl kullanacağız ?
PyCharmda Yeni bir proje başlatalım. Burada projede virtual env kullandığınız, hangi projeyi ne şekilde açtığınızın pek önemi yok. Onlar başka bir yazının konusu. Biz burada Versiyon Kontrolünü nasıl yapacağımıza odaklandık.
Pycharmı açıp, bir proje oluşturduğunuzda yapmanız gereken, Pycharm Menusunden VCS->Enable Versiyon Control Integration ı seçip gelen pencereden GIT i seçmektir.
Dikkat ettiyseniz Pycharm penceresinde değişiklikler oldu. Sağ üstte RUN/Debug toolbar ının yanına birde GIT toolbar ı geldi.
GIT ayarını pycharm için yapmış bulunuyoruz. Şimdi yazdığımız kodların bulunduğu dosyaları versiyonlamaya geldi sıra. İlk yapmamız gerek hangi dosyaların işleneceğini belirlemek ve bunları işlemek için GIT deposuna yollamak.(Solda bulunan Project Penceresinde dosya isminin kırmızı oldugu dikkatinizi çekti mi ?) Bunun için Sağ Üstte bulunan Yeşil Onay butonuna tıkladığımızda çıkan pencere aşağıdaki gibi olması lazım(Commit Changes). Bu Pencerede Hangi Dosyaların İşleneceğini seçiyor, Bir mesaj yazıyor (Neden Commit Yaptığınız) gibi bilgileri girdikten sonra Onay verip ilk versiyonumuzu oluşturuyoruz.
Burada dikkat edilmesi gereken dosya seçimidir. gereksiz proje dosyalarını seçmemek akıllıcadır.
Şimdi ise yaptığımız bu versiyonlama işleminin bize neler kazandırdığına bakalım.
Logging, yani versiyonlar arasındaki farklara bakalım. Eğer Pycharm ı dogru bir şekilde ayralayıp GIT i çalıştırabildiyseniz sol altta statusbar da aşağıdaki Versiyon Control sekmesini görmelisiniz.
Bir projeyi/dosyayı her versiyonladığınızda aralarındaki farkları görmek için burayı bullanabilirsiniz. Bunun için Projeyi/Dosyayı versiyonlayın, üzerinde değişiklikler yaptığınızda dosya isminin renginin değiştiğiniz göreceksiniz
(Dosya hiç versiyonlanmadı KIRMIZI, değişiklik yapıldı ama commit edilmedi, yani değişiklikler versiyonlanmadı MAVİ, değişiklikler versiyonlanmış sistem rengi dir. )
Aşağıda örneğini görebilirsiniz.
Şimdi bu dosyalardan birkaç kez versiyonlanmış olan t1 üzerindeki değişikliklerimize bakalım. Bunun için daha önce bahsettiğim sol altta bulunan Version Control u tıklayalım, hemen aşağıdaki görüntüyü almanız gerekir.
Burada Local Changes,Log,Console u görüyorsunuz. console ile işimiz yok, pilavcının işi o. Local changes de Yapılmış olan commitler, vesiyonlanmış yada versiyonlanmamış dosyaları görebilirsiniz.
Log da ise dosyada yaptığımız değişiklikleri görebilirsiniz. Aşağıda örneği verilmiş olan ekran görüntüsünde Solda bulunan kısım yapılmış versiyonlamalardır. Sağdaki bölüm ise versiyonlamaya tabi olan dosyalardır.
Burada sol kısımdan istediğiniz versiyonlama yı seçtikten sonra, sağdan dosyayı seçersek önceki ve sonraki versiyonlama arasındaki farkları görebilirsiniz. Örnek Aşağıda.
Geri kalan, bir versiyondan çatal çıkartmak, çatallaşmış projeyi birleştirmek vb işlemler için küçücük bir araştırma ile halledebilirsiniz.
Bildiğiniz üzere Pycharm, Intellij in bir IDE sidir, ve intellij in ürettiği tüm IDE lerde bu işlem üç aşağı beş yukarı aynıdır. (AndroidStudio vb)
Saygı ve sevgilerimle.
[Soru Cevap Platformu için link]