Çok gençken, bir şekilde C++ dünyasına girdim ve her zaman favorim olan "Merhaba Dünya" programını bir araya getirdim. Onu derledim, çalıştırdım ve "programlamaya" başarılı bir giriş yaptığımı onaylayan bir açılır pencereyle karşılaştım.
Ancak hiçbir zaman bundan daha ileri gitmedim çünkü 12 yaşında bir çocuk olarak sürüm kontrol sürecim... berbattı. Kaynak kodunu kaybederdim, bir hafta sonra ona geri döner ve yeniden yeni bir dosya oluştururdum. C++ ile biraz oynar ve küçük şeyler yaparak ilerleme kaydederdim, ancak bunu her yaptığımda temelde sıfırdan başlıyordum çünkü kaynak kodumun kontrolünü sürdürme konusunda çok kötüydüm.
Hiçbir şey kodla çalışma isteğinizi, her inşa ettiğinizde tüm ilerlemenizi kaybetmekten daha hızlı öldüremez. Bu sorunun çözümü Git'tir veya bu durumda özellikle GitHub'dur. Şimdi bu küçük Terraform dağıtımını Bölüm 3'ten alıp VSCode'daki yerleşik terminaldeki birkaç temel Git komutunu kullanarak GitHub'a koyacağız (bunu yapmak için bir VSCode Github uzantısı var, ancak en iyisi Git'in hangi komutları verdiğini anlamanızdır) bir uzantının bunu sizin için yapmasına güvenmeden önce bu tür görevleri gerçekleştirmek için kullanılır).
Bu adımlar için işletim sisteminizin yerel terminalini de (CMD, Powershell, ZSH, vb.) kullanabilirsiniz.
"CTRL + `" tuşlarına basarak terminali VSCode'da açın (bu bir geri tıklamadır, "1"in solundaki küçük tuştur)
Bu yeni terminalde doğru dosya dizininde olduğunuzu doğrulayın (varsayılan olarak öyle olmalıdır). Bir sonraki adımda bu klasörde bir Git deposu başlatacağız ve kodunuzdaki değişiklikleri izlemeye başlayacağız. Kodunuzun bulunduğu dizin bu değilse, onu doğru dizine değiştirin.
Artık Git'i başlatmak istiyoruz; bu türü yapmak için: git init
Git artık bu dizinde çalışıyor ancak herhangi bir dosyayı (veya bu dosyalardaki kodu) izlemiyor.
Git, yerel kod depolarının yanı sıra uzak kod depolarını (“repo”) kullanabilir. Çoğu profesyonel ortamda Github, Gitlab, Bitbucket vb. bir hizmetle uzak bir depo kullanacaksınız. Takip ettirmek üzere olduğumuz bu kodu nereye göndereceğini Git'e söylememiz gerekiyor. Bunu yapmak için git remote add
kullanıyoruz.
Bunun sözdizimi şuna benzer: git remote add origin https://github.com/owner/repo_name.git
bunu özetlemek: git remote add origin
git'e "Origin" adında bir uzak depo eklemesi ve ondan sonraki URL'yi bu uzak depo için hedef olarak kullanması talimatını verir
Benim durumumda, GitHub'da hesabımın altında yeni (boş) bir repo oluşturdum ve şu şekilde görünüyor: git remote add origin https://github.com/wellmadeoldfashioned/YT-single-server-arch-AWS.git
Artık git'e dosyaları "takip etmesini" söylemeye geçebiliriz. Belirli bir dosyayı izlemek için şunları yapabiliriz: git add [filename]
VEYA geçerli depodaki her şeyi izlemek için şunları yapabilirsiniz: git add .
- Genellikle açık olmak ve tek tek dosyalar eklemek ve yerel bir dizindeki tüm dosyaları izlememek en iyisidir.
Şimdi terraform dosyamızı ekleyelim; Bunu yapmak için aşağıdaki komutu verin: git add main.tf
Bu noktada, önceki adımda eklediğiniz dosya veya dosyalar artık "aşamalı" - tüm bunlar Git'e "bu dosyaların bir kopyasını şu an oldukları gibi almasını ve kopyaları bir depoya göndermeye hazır olmasını" söylediğiniz anlamına geliyor ” (bu durumda uzak bir depo: Github).
Dosyalar hazırlandıktan sonra bir taahhüt oluşturmamız gerekir; bunu, geliştirme ilerlemenizdeki kontrol noktasını açıklayan kısa bir mesaj ekleyebileceğiniz bir kontrol noktası gibi düşünün.
Bir taahhütte bulunmak için git commit -m “[message_goes_here]”
komutunu kullanırız - ilk taahhütte "ilk taahhüt" gibi bir şey kullanırsınız, ancak mesaja ne gireceğini belirleyen hiçbir kural yoktur. Genel olarak konuşursak, kısa ve açıklayıcı olmak istersiniz. Örneğin, eğer bu bir değişken adını güncelleyen bir taahhüt olsaydı, sadece git commit -m “updated AMI variable to XYZ”
derdik.
Şimdi sorun: git commit -m “initial commit”
- Git'ten şuna benzeyen birkaç satır geri bildirim almalısınız:
Bu neredeyse tamamlandı, ancak henüz tam olarak değil. Git'i başlattık, uzak bir depo ekledik, Git'e belirli bir dosyayı izlemesi talimatını verdik ve uzak depoya bir taahhütte bulunduk, ancak taahhüdü henüz uzak depoya göndermedik .
Taahhüdü göndermek için (yukarıda Git taahhüt komutunu kullanarak oluşturduğumuz "kontrol noktanız"), git push [remote-repo-name] [local-branch-name]
vermeniz gerekir
Uzak repo adını bulmak için 4. adıma dönüp ona ne isim verdiğimizi (bu durumda "Origin") görmemiz gerekiyor. Yerel şube adını bulmak için git branch
komutunu verebilirsiniz VEYA varsayılan ayarını değiştirmediyseniz, ana şube için “master” olacaktır.
Gördüğünüz gibi aslında yerel olarak ana dal üzerinde çalışıyoruz. Yani kodu Github'a göndermek için şunu vermemiz gerekiyor: git push origin master
GitHub tarafına baktığımızda az önce gönderdiğim commit'i görebiliriz.
Gerçek taahhüt değişikliklerinin yanı sıra:
Umarım bu Git ve GitHub'u kullanmaya başlamanıza yardımcı olur. Bu çalışma demosunda basitlik adına alınan bazı kısayollar vardı (ana dalı korumak için yeni bir dal oluşturmamak, değişiklikleri birleştirmemek, çatallama vb. gibi), ancak bu bilgi bunları öğrenmenin temelidir.
Git'i bu şekilde kullanma konusunda rahatlığa kavuştuktan sonra, farklı dallar üzerinde çalışmaya, "HEAD"in ne olduğunu ve onu nasıl manipüle edeceğinizi anlamaya, depoları ayırmaya, değişiklikleri birleştirmeye vb. devam etmelisiniz.