İlk GitHub Projem: Yerel Klasörden GitHub’a Git ve SSH ile Yükseliş
Modern yazılım geliştirme dünyasında, projelerinizi yönetmek, ekip üyeleriyle iş birliği yapmak ve yaptığınız değişiklikleri güvenle takip etmek artık bir lüks değil, bir zorunluluktur. Peki, yepyeni bir projeye başlarken veya mevcut bir yerel klasörü çevrimiçi dünyaya taşımak istediğinizde ne yapmalısınız? Bu makale, tam da bu soruya yanıt veriyor: Yerel bilgisayarınızdaki bir projeyi Git versiyon kontrol sistemi ve SSH güvenli bağlantı protokolü aracılığıyla GitHub’a nasıl taşıyacağınızı adım adım keşfedeceğiz. Eğer kod yazmaya yeni başladıysanız veya versiyon kontrol sistemleriyle ilk kez tanışıyorsanız, endişelenmeyin. Bu kapsamlı rehber, sizi sıfırdan alıp projenizi başarıyla GitHub’a yüklemeniz için gereken tüm bilgileri samimi ve anlaşılır bir dille sunacak. Hazırlanın, çünkü dijital projenizin kapılarını dünyaya açmak üzeresiniz!
Versiyon Kontrolü Neden Önemli? Git ve GitHub’a Giriş
Bir yazılım projesi üzerinde çalışırken, her an bir hata yapma, önemli bir özelliği bozma veya üzerinde çalıştığınız kodu kaybetme riskiyle karşı karşıyasınızdır. Özellikle bir ekip içinde çalışırken, farklı kişilerin aynı dosya üzerinde eş zamanlı olarak çalışması, kod çakışmalarına ve kaosa yol açabilir. İşte tam bu noktada “Versiyon Kontrol Sistemleri” (Version Control Systems – VCS) devreye girer. VCS, projenizin tüm geçmişini kaydetmenize, yapılan değişiklikleri izlemenize, farklı versiyonlar arasında kolayca geçiş yapmanıza ve hatta hatalı değişiklikleri geri almanıza olanak tanıyan güçlü araçlardır. Projenizin her adımını bir zaman makinesinde yolculuk yapar gibi takip edebildiğinizi düşünün; VCS tam olarak bunu sağlar.
Piyasada birçok versiyon kontrol sistemi bulunsa da, açık ara en popüler ve en çok kullanılanı Git‘tir. Git, Linus Torvalds tarafından Linux çekirdeğinin geliştirilmesi için tasarlanmış dağıtık bir versiyon kontrol sistemidir. Dağıtık olması, her geliştiricinin projenin tam bir kopyasına sahip olduğu anlamına gelir. Bu da merkezi bir sunucuya bağımlılığı ortadan kaldırır ve çevrimdışı çalışmaya olanak tanır. Git sayesinde, projenizin farklı sürümlerini yönetebilir, yeni özellikler üzerinde ayrı “dallar” (branches) oluşturabilir ve bu dalları ana projeye (main/master branch) güvenli bir şekilde birleştirebilirsiniz. Git’in yerel bilgisayarınızda çalışması, size muazzam bir esneklik ve kontrol sağlar.
Peki, GitHub nedir? Git yerel bilgisayarınızda çalışırken, GitHub, Git depolarınızı (repositories) barındırmak için kullanılan web tabanlı bir platformdur. Bir nevi projeleriniz için sosyal medya platformu gibi düşünebilirsiniz. GitHub, Git’in sağladığı versiyon kontrol yeteneklerini alıp bunları çevrimiçi bir ortamda, iş birliğini kolaylaştıran bir arayüzle birleştirir. Projelerinizi GitHub’a yükleyerek (push), kodunuzu dünyanın her yerinden erişilebilir hale getirebilir, diğer geliştiricilerle kolayca paylaşabilir, onların katkılarını alabilir ve açık kaynak projelere dahil olabilirsiniz. Ayrıca, GitHub, projenizin geçmişini görselleştirmenize, sorunları (issues) takip etmenize ve proje yönetimi için ek araçlar sunar. Git yerel bir araçken, GitHub bu aracı küresel bir iş birliği platformuna dönüştürür. Bu iki teknoloji bir araya geldiğinde, geliştirme sürecinizde verimlilik ve güvenliği en üst düzeye çıkarırsınız.
GitHub Hesabı Oluşturma ve Yerel Ortamı Hazırlama: İlk Adımlarınız Nelerdir?
GitHub yolculuğunuza başlamak için atmanız gereken ilk ve en temel adım, bir GitHub hesabı oluşturmaktır. Bu hesap, projelerinizi barındıracağınız, diğer geliştiricilerle etkileşim kuracağınız ve açık kaynak dünyasına adım atacağınız dijital kimliğiniz olacaktır. GitHub’a kaydolmak oldukça basittir ve birkaç dakikanızı alır. Web tarayıcınızdan github.com adresine gidin ve “Sign up” (Kaydol) düğmesine tıklayın. Sizden bir kullanıcı adı, e-posta adresi ve güçlü bir şifre belirlemeniz istenecektir. Kayıt işlemini tamamladıktan sonra e-posta adresinizi doğrulamanız gerekebilir. Bu adımları tamamladığınızda, artık bir GitHub kullanıcısısınız ve kendi depolarınızı (repositories) oluşturmaya hazırsınız.
GitHub hesabınızı oluşturduktan sonra, yerel bilgisayarınızda Git’i kurmanız gerekmektedir. Git, komut satırı aracılığıyla çalışan bir araç olduğu için, onu sisteminize yüklemeniz şarttır. Kurulum süreci, kullandığınız işletim sistemine göre biraz farklılık gösterebilir:
- Windows Kullanıcıları İçin: Git’i Windows’a kurmanın en kolay yolu, resmi Git web sitesinden (git-scm.com) “Git for Windows” yükleyicisini indirmektir. İndirdiğiniz .exe dosyasını çalıştırın ve kurulum sihirbazını takip edin. Çoğu durumda, varsayılan ayarları kabul etmek yeterli olacaktır. Kurulum sırasında, Git Bash adlı bir terminal emülatörü de yüklenecektir; bu, Git komutlarını çalıştırmak için kullanacağınız yerdir.
- macOS Kullanıcıları İçin: macOS’te Git genellikle Xcode Komut Satırı Araçları (Command Line Tools) ile birlikte gelir. Terminali açıp
git --versionkomutunu çalıştırarak Git’in kurulu olup olmadığını kontrol edebilirsiniz. Eğer kurulu değilse, sistem sizden Xcode Komut Satırı Araçlarını yüklemenizi isteyecektir. Alternatif olarak, Homebrew gibi bir paket yöneticisi kullanarak da Git’i yükleyebilirsiniz:brew install git. - Linux Kullanıcıları İçin: Linux dağıtımlarının çoğu, Git’i varsayılan paket yöneticileri aracılığıyla kolayca kurmanıza olanak tanır. Örneğin, Debian/Ubuntu tabanlı sistemlerde
sudo apt update && sudo apt install gitkomutunu, Fedora tabanlı sistemlerde isesudo dnf install gitkomutunu kullanabilirsiniz.
Git’i kurduktan sonra, kimliğinizi tanıtmanız önemlidir. Bu, yaptığınız her “commit” (değişiklik kaydı) ile birlikte kimin bu değişikliği yaptığının kaydedilmesini sağlar. Terminalinizi veya Git Bash’i açın ve aşağıdaki komutları kendi bilgilerinizle değiştirerek çalıştırın:
git config --global user.name "Adınız Soyadınız"
git config --global user.email "e-posta-adresiniz@ornek.com"
Bu komutlar, Git’in global ayarlarında kullanıcı adınızı ve e-posta adresinizi tanımlar. Artık yerel ortamınız Git ile çalışmaya tamamen hazır. Bir sonraki adımda, GitHub ile güvenli bir bağlantı kurmak için SSH anahtarlarını yapılandıracağız.
SSH Anahtarları Nasıl Oluşturulur ve GitHub’a Eklenir? Güvenli Bağlantının Temeli
GitHub ile çalışırken projenizi yerel bilgisayarınızdan uzak depoya (remote repository) göndermek veya uzak depodan çekmek için kimlik doğrulama (authentication) yapmanız gerekir. Bunu yapmanın iki yaygın yolu vardır: HTTPS ve SSH. HTTPS ile her işlemde kullanıcı adınızı ve şifrenizi veya bir kişisel erişim belirtecini (Personal Access Token – PAT) girmeniz gerekir. SSH (Secure Shell) ise daha güvenli ve pratik bir yöntem sunar. SSH, bir çift anahtar kullanarak kimlik doğrulaması yapar: biri herkese açık (public key) diğeri ise gizli (private key). Gizli anahtarınız yerel bilgisayarınızda kalırken, açık anahtarınızı GitHub gibi hizmetlere eklersiniz. Bu sayede, her işlemde şifre girmek zorunda kalmazsınız; bağlantı otomatik olarak güvenli bir şekilde doğrulanır. Bu bölüm, SSH anahtarlarınızı nasıl oluşturacağınızı ve GitHub hesabınıza nasıl ekleyeceğinizi adım adım açıklayacaktır.
SSH Anahtar Çifti Oluşturma
Öncelikle, yerel bilgisayarınızda bir terminal veya Git Bash açın ve aşağıdaki komutu çalıştırın:
ssh-keygen -t ed25519 -C "e-posta-adresiniz@ornek.com"
Bu komut, yeni bir SSH anahtar çifti oluşturur. -t ed25519, modern ve güvenli bir şifreleme algoritması olan Ed25519’u kullanacağımızı belirtir. -C "e-posta-adresiniz@ornek.com" ise anahtarınıza bir yorum ekler, bu genellikle e-posta adresiniz olur ve anahtarın kime ait olduğunu anlamanıza yardımcı olur. Komutu çalıştırdığınızda, sizden anahtarın kaydedileceği bir konum istenecektir. Varsayılan konumu (genellikle /home/kullanici_adiniz/.ssh/id_ed25519 veya C:\Users\KullaniciAdi\.ssh\id_ed25519) kabul etmek için Enter tuşuna basabilirsiniz. Daha sonra bir parola (passphrase) girmeniz istenecektir. Bu parola, gizli anahtarınızı ekstra bir güvenlik katmanıyla korur. Güçlü bir parola belirlemeniz şiddetle tavsiye edilir. Parola belirledikten sonra, aynı parolayı tekrar girerek onaylayın. Eğer parola girmek istemiyorsanız, doğrudan Enter tuşuna basabilirsiniz, ancak bu güvenlik açısından önerilmez.
İşlem tamamlandığında, terminal size anahtar çiftinizin oluşturulduğunu belirten bir mesaj gösterecektir. Gizli anahtarınız (örneğin id_ed25519) ve açık anahtarınız (örneğin id_ed25519.pub) belirtilen dizinde bulunacaktır.
SSH Ajanını Başlatma ve Anahtarı Ekleme
Bazı durumlarda, SSH anahtarınızın otomatik olarak tanınması için SSH ajanını başlatmanız ve anahtarınızı ona eklemeniz gerekebilir. Terminalde aşağıdaki komutları çalıştırın:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
ssh-add komutu, anahtarınızı SSH ajanına ekler. Eğer anahtarınızı oluştururken bir parola belirlediyseniz, bu adımda sizden parolanızı girmeniz istenecektir.
Açık Anahtarı GitHub’a Ekleme
Şimdi sıra, oluşturduğunuz açık anahtarı (public key) GitHub hesabınıza eklemeye geldi. Bu, GitHub’ın sizin yerel bilgisayarınızdan gelen bağlantıları tanımasını ve doğrulanmasını sağlayacaktır.
- Açık Anahtarınızı Kopyalayın: Terminalde aşağıdaki komutu çalıştırarak açık anahtarınızın içeriğini görüntüleyin ve kopyalayın.
- GitHub Hesabınıza Giriş Yapın: Web tarayıcınızdan GitHub’a giriş yapın.
- Ayarlara Gidin: Sağ üst köşedeki profil fotoğrafınıza tıklayın ve açılan menüden “Settings” (Ayarlar) seçeneğini seçin.
- SSH ve GPG Anahtarları Bölümüne Gidin: Sol menüde “SSH and GPG keys” (SSH ve GPG anahtarları) seçeneğine tıklayın.
- Yeni SSH Anahtarı Ekle: “New SSH key” (Yeni SSH anahtarı) veya “Add SSH key” (SSH anahtarı ekle) düğmesine tıklayın.
- Anahtarınızı Yapıştırın: “Title” (Başlık) alanına anahtarınızı tanımlayan bir isim verin (örneğin, “Ev Bilgisayarım” veya “İş Laptopu”). “Key” (Anahtar) alanına kopyaladığınız açık anahtar içeriğini yapıştırın.
- Anahtarı Ekleyin: Son olarak, “Add SSH key” düğmesine tıklayarak anahtarı GitHub hesabınıza ekleyin. Eğer parolanız varsa, GitHub sizden şifrenizi isteyebilir.
cat ~/.ssh/id_ed25519.pub
Bu komut, açık anahtar dosyanızın içeriğini ekrana basacaktır. Çıktının tamamını (ssh-ed25519 ile başlayan ve e-posta adresinizle biten kısmı) kopyalayın.
Tebrikler! Artık yerel bilgisayarınız ile GitHub arasında güvenli bir SSH bağlantısı kurdunuz. Bağlantınızın doğru çalışıp çalışmadığını test etmek için terminalde aşağıdaki komutu kullanabilirsiniz:
ssh -T git@github.com
Eğer her şey yolundaysa, “Hi [kullanıcı adınız]! You’ve successfully authenticated…” (Merhaba [kullanıcı adınız]! Başarıyla kimlik doğrulaması yaptınız…) şeklinde bir mesaj görmelisiniz. Bu mesaj, SSH bağlantınızın başarılı olduğunu gösterir ve artık şifre girmeden Git işlemlerini gerçekleştirebileceğiniz anlamına gelir.
Yerel Projenizi Git ile Başlatma ve İlk Commit’inizi Yapma: Projenizi Versiyonlamaya Başlayın
Artık GitHub hesabınız hazır, Git kurulu ve SSH bağlantınız yapılandırıldı. Sıra geldi yerel bilgisayarınızdaki projenizi Git versiyon kontrol sistemiyle yönetmeye başlamaya. Bu bölüm, mevcut bir yerel klasörü nasıl bir Git deposuna dönüştüreceğinizi ve projenizin ilk değişikliklerini (commit) nasıl kaydedeceğinizi adım adım açıklayacaktır.
Mevcut Klasörü Git Deposu Yapma
Öncelikle, versiyon kontrolü altına almak istediğiniz projenizin ana klasörüne gidin. Bunu terminal veya komut istemcisi üzerinden yapmanız gerekmektedir. Örneğin, projeniz C:\Users\KullaniciAdi\Belgelerim\WebProjesi veya ~/Documents/WebProject dizininde bulunuyorsa, aşağıdaki komutla o dizine geçiş yapın:
cd /path/to/your/project
Proje klasörünüzün içine girdikten sonra, bu klasörü bir Git deposu olarak başlatmak için aşağıdaki komutu çalıştırın:
git init
Bu komut, projenizin kök dizininde gizli bir .git klasörü oluşturur. Bu klasör, Git’in projenizin tüm versiyon geçmişini ve yapılandırma bilgilerini depoladığı yerdir. .git klasörünü doğrudan düzenlememelisiniz; Git tüm işlemleri sizin için yönetecektir. git init komutunu çalıştırdığınızda, terminalde “Initialized empty Git repository in /path/to/your/project/.git/” (Boş Git deposu /path/to/your/project/.git/ dizininde başlatıldı) gibi bir mesaj görmelisiniz. Bu, projenizin artık bir Git deposu olduğu ve versiyon kontrolü altında olduğu anlamına gelir.
Dosyaları Takip Etmeye Başlama (Staging)
Git deposunu başlattıktan sonra, projenizdeki dosyaları Git’in takip etmesi için “staging area” (hazırlık alanı) adı verilen bir alana eklemeniz gerekir. Bu alan, bir sonraki commit’inizde hangi değişikliklerin kaydedileceğini belirlemenizi sağlar. Projenizdeki tüm dosyaları hazırlık alanına eklemek için aşağıdaki komutu kullanabilirsiniz:
git add .
git add . komutu, mevcut dizindeki tüm yeni ve değiştirilmiş dosyaları hazırlık alanına ekler. Eğer sadece belirli dosyaları eklemek isterseniz, git add dosya_adi.html veya git add klasor_adi/ gibi komutları kullanabilirsiniz.
Hangi dosyaların takip edildiğini veya hazırlanmak üzere beklediğini görmek için git status komutunu kullanabilirsiniz:
git status
Bu komut, size hangi dosyaların takip edildiğini (tracked), hangilerinin hazırlanmak üzere beklediğini (staged) ve hangilerinin henüz takip edilmediğini (untracked) gösterir. İlk kez git add . komutunu çalıştırdığınızda, tüm dosyalarınızın “Changes to be committed” (Kaydedilecek değişiklikler) başlığı altında yeşil renkte listelendiğini görmelisiniz.
İlk Commit’inizi Yapma
Dosyalarınızı hazırlık alanına ekledikten sonra, bu değişiklikleri projenizin geçmişine kalıcı olarak kaydetme zamanı gelmiştir. Bu işleme “commit” denir. Her commit, projenizin belirli bir anlık görüntüsünü (snapshot) temsil eder ve bir mesajla açıklanır. İyi bir commit mesajı, yapılan değişiklikleri özetlemeli ve neden yapıldığını açıklamalıdır. İlk commit’iniz için genellikle “Initial commit” (İlk kayıt) gibi bir mesaj kullanılır:
git commit -m "Initial commit"
-m bayrağı, commit mesajınızı doğrudan komut satırında belirtmenizi sağlar. Bu komutu çalıştırdığınızda, Git size kaç dosyanın değiştiğini, kaç satırın eklendiğini veya silindiğini belirten bir özet sunacaktır. Tebrikler! Projenizin ilk versiyonunu başarıyla kaydettiniz. Artık projenizin geçmişini git log komutuyla görüntüleyebilirsiniz:
git log
Bu komut, tüm commit’lerinizi (yazar, tarih, mesaj ve benzersiz bir kimlik ile birlikte) listeleyecektir. Yerel projeniz artık Git’in güçlü versiyon kontrolü altında. Bir sonraki adımda, bu yerel depoyu GitHub’da oluşturacağımız uzak bir depoya nasıl bağlayacağımızı göreceğiz.
GitHub’da Yeni Bir Depo (Repository) Oluşturma Süreci: Dijital Evinizi Hazırlayın
Yerel projenizi Git ile versiyon kontrolü altına aldınız ve ilk commit’inizi yaptınız. Şimdi sıra geldi bu projenin çevrimiçi bir kopyasını GitHub’da oluşturmaya. GitHub’daki depolar, projenizin kodunu barındırır, diğer geliştiricilerle iş birliği yapmanızı sağlar ve projenizin herkese açık veya özel olmasını kontrol etmenize olanak tanır. Bu bölüm, GitHub üzerinde yeni bir depo (repository) oluşturma sürecini adım adım anlatacaktır.
GitHub’da Yeni Depo Oluşturma Adımları
- GitHub Hesabınıza Giriş Yapın: Web tarayıcınızdan GitHub’a giriş yapın.
- Yeni Depo Oluşturma Sayfasına Gidin:
- Ana sayfada sol üst köşede bulunan “New” (Yeni) düğmesine tıklayabilirsiniz.
- Alternatif olarak, sağ üst köşedeki “+” simgesine tıklayıp açılan menüden “New repository” (Yeni depo) seçeneğini seçebilirsiniz.
- Depo Bilgilerini Girin: Açılan sayfada, yeni deponuz için bazı bilgiler girmeniz istenecektir:
- Repository name (Depo adı): Bu, deponuzun adı olacaktır. Projenizin adıyla aynı olması iyi bir uygulamadır (örneğin,
web-projemveyailk-github-projesi). Depo adları genellikle küçük harflerle ve kelimeler arasında tire (-) kullanılarak yazılır. - Description (Açıklama – isteğe bağlı): Projenizin ne hakkında olduğunu kısaca açıklayan bir cümle ekleyebilirsiniz. Bu açıklama, deponuzu ziyaret edenlerin projeniz hakkında hızlıca bilgi edinmesine yardımcı olur.
- Public (Herkese Açık) veya Private (Özel):
- Public: Deponuz herkese açık olacaktır. Herkes kodunuzu görebilir, klonlayabilir ve katkıda bulunabilir. Açık kaynak projeler için idealdir.
- Private: Deponuz sadece sizin ve davet ettiğiniz kişilerin erişimine açık olacaktır. Gizli veya kişisel projeler için uygundur.
Projenizin gereksinimlerine göre bir seçim yapın.
- Initialize this repository with a README (Bu depoyu bir README ile başlat – isteğe bağlı): Bu seçeneği işaretlemeyin. Çünkü yerel projeniz zaten dosyalar içeriyor ve biz bu dosyaları GitHub’a göndereceğiz. Eğer işaretlerseniz, GitHub’da otomatik olarak bir README dosyası oluşturulur ve bu, yerel projenizle birleşme (merge) sırasında çakışmalara neden olabilir.
- Add .gitignore (Bir .gitignore ekle – isteğe bağlı): Bu seçeneği de şimdilik boş bırakın.
.gitignoredosyası, Git’in takip etmesini istemediğiniz dosyaları (örneğin, geçici dosyalar, derlenmiş çıktılar, hassas bilgiler içeren yapılandırma dosyaları) belirtmek için kullanılır. Bunu daha sonra manuel olarak ekleyebilirsiniz. - Choose a license (Bir lisans seç – isteğe bağlı): Açık kaynak projeler için bir lisans seçmek önemlidir. Şimdilik bunu da boş bırakabilirsiniz.
- Repository name (Depo adı): Bu, deponuzun adı olacaktır. Projenizin adıyla aynı olması iyi bir uygulamadır (örneğin,
- “Create repository” (Depo oluştur) düğmesine tıklayın: Tüm bilgileri girdikten sonra, sayfanın altındaki yeşil düğmeye tıklayın.
Deponuz başarıyla oluşturulduğunda, GitHub sizi yeni deponuzun sayfasına yönlendirecektir. Bu sayfada, deponuzu yerel Git deponuzla nasıl ilişkilendireceğinize dair bazı talimatlar göreceksiniz. Özellikle “Quick setup — if you’ve done this kind of thing before” (Hızlı kurulum — daha önce bu tür bir şey yaptıysanız) başlığı altında yer alan SSH bağlantı linki bizim için önemli olacaktır. Bu link genellikle git@github.com:KullaniciAdiniz/DepoAdiniz.git şeklinde olur. Bu bağlantıyı kopyalayın, çünkü bir sonraki adımda yerel deponuzu bu uzak depoya bağlamak için kullanacağız.
Bu adımları tamamladığınızda, projenizin GitHub’daki “dijital evi” hazır hale gelmiş demektir. Artık yerel bilgisayarınızdaki kodunuzu bu uzak depoya göndermeye hazırsınız.
Yerel Projeyi GitHub’a Yükleme (Push) İşlemi: Kodunuzu Dünyaya Açın
GitHub’da deponuzu oluşturduğunuza ve yerel projenizi Git ile versiyonlamaya başladığınıza göre, şimdi bu iki ortamı birbirine bağlamanın ve yerel kodunuzu GitHub’a yüklemenin zamanı geldi. Bu işlem, projenizin çevrimiçi bir yedeğini oluşturmakla kalmaz, aynı zamanda başkalarıyla paylaşma ve iş birliği yapma imkanı da sunar. “Push” (gönderme) işlemi, yerel deponuzdaki commit’leri uzak depoya aktarır.
Uzak Depoyu Yerel Git’e Tanımlama
Yerel Git deponuzun, kodunuzu göndereceği GitHub’daki uzak depoyu bilmesi gerekir. Bu bağlantıyı kurmak için, projenizin ana dizininde terminali veya Git Bash’i açın ve aşağıdaki komutu çalıştırın:
git remote add origin git@github.com:KullaniciAdiniz/DepoAdiniz.git
Bu komutta:
git remote add: Git’e yeni bir uzak depo ekleyeceğimizi söyler.origin: Uzak depo için verilen varsayılan takma addır. Genellikle ilk uzak depo için bu isim kullanılır.git@github.com:KullaniciAdiniz/DepoAdiniz.git: Bu, GitHub’da yeni deponuzu oluşturduğunuzda kopyaladığınız SSH bağlantı URL’sidir. Kendi GitHub kullanıcı adınız ve depo adınızla değiştirmeyi unutmayın.
Bu komutu çalıştırdıktan sonra, Git artık origin adının GitHub’daki deponuzu temsil ettiğini bilecektir. Herhangi bir çıktı görmemeniz normaldir; bu, komutun başarıyla çalıştığı anlamına gelir. Uzak depolarınızı listelemek için git remote -v komutunu kullanabilirsiniz:
git remote -v
Bu komut, origin adının hem “fetch” (çekme) hem de “push” (gönderme) işlemleri için tanımlandığını gösteren iki satır çıktı verecektir.
Yerel Kodunuzu GitHub’a Gönderme (Push)
Uzak depoyu tanımladıktan sonra, yerel deponuzdaki tüm commit’leri GitHub’daki uzak depoya gönderebilirsiniz. Bu işlem için aşağıdaki komutu kullanın:
git push -u origin main
Bu komutta:
git push: Yerel deponuzdaki değişiklikleri uzak depoya gönderme komutudur.-u(veya--set-upstream): Bu bayrak,originuzak deposundakimaindalını (branch) yerelmaindalınız için “yukarı akış” (upstream) dalı olarak ayarlar. Bu, gelecektekigit pushvegit pullkomutlarını daha kısa (örneğin sadecegit pushveyagit pull) yazabileceğiniz anlamına gelir, çünkü Git hangi uzak depoya ve hangi dala işlem yapacağını bilecektir.origin: Kodunuzu göndereceğimiz uzak deponun takma adı.main: Göndermek istediğiniz yerel dalın adıdır. Git’in varsayılan ana dalı eskidenmasteridi, ancak günümüzde çoğu yeni depomainadını kullanmaktadır. Kendi yerel dal adınızı kontrol etmek içingit branchkomutunu kullanabilirsiniz.
Komutu çalıştırdığınızda, Git yerel deponuzdaki tüm commit’leri origin uzak deposuna gönderecektir. Eğer SSH anahtarlarınızı doğru yapılandırdıysanız ve anahtarınıza bir parola belirlediyseniz, sizden bu parolayı girmeniz istenebilir. Başarılı bir push işleminden sonra, terminalde genellikle sıkıştırılmış nesnelerin yazıldığını ve dalların güncellendiğini belirten bir çıktı görmelisiniz.
Bu işlem tamamlandığında, web tarayıcınızda GitHub’daki deponuzun sayfasına gidin ve sayfayı yenileyin. Artık yerel klasörünüzdeki tüm dosyaların ve klasörlerin GitHub deponuzda görüntülendiğini görmelisiniz. Ayrıca, yaptığınız commit’ler deponuzun geçmişinde yer alacaktır.
Tebrikler! İlk projenizi yerel bilgisayarınızdan GitHub’a başarıyla yüklediniz. Artık projeniz çevrimiçi ve dünyanın her yerinden erişilebilir durumda. Gelecekteki değişiklikleri de benzer şekilde git add ., git commit -m "Mesaj" ve git push komutlarıyla kolayca GitHub’a gönderebilirsiniz.
Sıkça Karşılaşılan Sorunlar ve Çözümleri Nelerdir?
Git ve GitHub ile çalışırken bazı yaygın sorunlarla karşılaşmak olasıdır. Bu sorunları tanımak ve çözümlerini bilmek, geliştirme sürecinizi çok daha sorunsuz hale getirecektir. İşte en sık karşılaşılan sorunlardan bazıları ve pratik çözümleri:
1. SSH Bağlantı Sorunları
Sorun: ssh -T git@github.com komutunu çalıştırdığınızda bağlantı hatası alıyorum veya GitHub, kimliğimi doğrulayamıyor.
Çözüm:
- Anahtarın Doğru Oluşturulduğunu Kontrol Edin:
ls -al ~/.sshkomutuyla.sshdizininizin içeriğini kontrol edin.id_ed25519(gizli) veid_ed25519.pub(açık) dosyalarının var olduğundan emin olun. - Açık Anahtarın GitHub’a Eklenip Eklenmediğini Kontrol Edin: GitHub hesabınızın “Settings” (Ayarlar) -> “SSH and GPG keys” bölümüne gidin ve açık anahtarınızın doğru bir şekilde eklendiğinden emin olun. Anahtarın başlığı altında parmak izi (fingerprint) de görünmelidir.
- SSH Ajanını Kontrol Edin: Windows’ta Git Bash kullanıyorsanız, SSH ajanının çalışıp çalışmadığını ve anahtarınızın ona eklenip eklenmediğini kontrol edin:
eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519Eğer bir parola belirlediyseniz, bu adımda parolanızı girmeniz gerekecektir.
- Doğru SSH URL’sini Kullanın: Deponuzun URL’sinin
git@github.com:KullaniciAdiniz/DepoAdiniz.gitformatında olduğundan emin olun, HTTPS yerine SSH kullanıyorsanız bu önemlidir.
2. Commit Yapılamaması veya Hata Mesajları
Sorun: git commit komutunu çalıştırdığımda bir hata alıyorum veya değişikliklerim kaydedilmiyor.
Çözüm:
- Dosyaları Hazırlık Alanına Eklemeyi Unutmayın:
git commityapmadan önce değişikliklerinizigit add .(veyagit add dosya_adi) ile hazırlık alanına eklediğinizden emin olun.git statuskomutuyla durumu kontrol edebilirsiniz. - Git Kimliğinizi Ayarlayın: Git’e kullanıcı adınızı ve e-posta adresinizi tanıttığınızdan emin olun.
git config --global user.name "Adınız Soyadınız" git config --global user.email "e-posta-adresiniz@ornek.com"Bu bilgiler her commit ile birlikte kaydedilir.
- Boş Commit Yapmaya Çalışmayın: Eğer hiçbir değişiklik yapmadıysanız veya tüm değişiklikleri geri aldıysanız, Git boş bir commit yapmanıza izin vermez.
3. Push İşlemi Başarısız Oluyor (Failed to Push)
Sorun: git push komutunu çalıştırdığımda “failed to push some refs” veya benzeri bir hata alıyorum.
Çözüm:
- Uzak Depoda Değişiklik Var mı?: Bu hata genellikle, siz yerel bilgisayarınızda çalışırken uzak depoda (GitHub’da) başka birinin değişiklik yapmış olması durumunda ortaya çıkar. Bu durumda, önce uzak depodaki değişiklikleri yerel deponuza çekmeniz (pull) gerekir:
git pull origin maingit pullkomutu, uzak depodaki değişiklikleri yerel deponuza indirir ve birleştirir. Eğer birleştirme çakışmaları (merge conflicts) yaşanırsa, bunları manuel olarak çözmeniz gerekecektir. - Uzak Depo Tanımlı mı?:
git remote -vkomutuylaoriginuzak deponuzun doğru URL ile tanımlandığından emin olun. - Doğru Dalı mı Gönderiyorsunuz?:
git push origin mainkomutunda,mainyerine kendi dal adınızı (örneğinmaster) kullandığınızdan emin olun.
4. .gitignore Dosyası Çalışmıyor
Sorun: .gitignore dosyasına eklediğim dosyalar hala Git tarafından takip ediliyor veya git status çıktısında görünüyor.
Çözüm:
- Dosya Zaten Takip Ediliyor Olabilir: Eğer bir dosya
.gitignore‘a eklenmeden önce zaten Git tarafından takip ediliyorsa (yani daha önce commit edilmişse),.gitignoreonu yok saymaz. Bu durumda, dosyayı Git’in takibinden kaldırmanız gerekir:git rm --cached dosya_adi git commit -m "Dosyayı Git takibinden çıkar" git push origin main--cachedbayrağı, dosyayı yerel bilgisayarınızdan silmeden sadece Git’in takibinden çıkarır. .gitignoreDosya Adı Doğru mu?: Dosyanın adının tam olarak.gitignoreolduğundan ve doğru dizinde (genellikle projenin kök dizininde) bulunduğundan emin olun.- Önbelleği Temizleyin: Bazen Git’in önbelleğini temizlemek sorunu çözebilir:
git rm -r --cached . git add . git commit -m "Git önbelleği temizlendi"Bu komutlar tüm dosyaları takipten çıkarır ve sonra tekrar ekler,
.gitignorekurallarının yeniden uygulanmasını sağlar.
Bu sorunlar ve çözümleri, Git ve GitHub’ı kullanırken karşılaşabileceğiniz en yaygın durumları kapsar. Hata mesajlarını dikkatlice okumak ve internette arama yapmak, genellikle sorunların kök nedenini bulmanıza yardımcı olacaktır. Pratik yaparak ve bu araçları sıkça kullanarak, bu tür sorunlarla başa çıkma beceriniz zamanla gelişecektir.
Sonuç ve Sıkça Sorulan Sorular
Bu rehber boyunca, yerel bilgisayarınızdaki bir projeyi Git versiyon kontrol sistemi ve SSH güvenli bağlantı protokolü aracılığıyla GitHub’a nasıl taşıyacağınızı adım adım öğrendiniz. Git’in ne olduğundan, GitHub’ın sağladığı avantajlara, SSH anahtarlarının oluşturulmasından, yerel projenizi Git deposu haline getirmeye ve nihayetinde GitHub’a yüklemeye kadar tüm temel süreçleri ele aldık. Artık projenizin geçmişini güvenle yönetebilir, farklı versiyonlar arasında geçiş yapabilir ve projenizi dünya genelindeki geliştiricilerle paylaşabilirsiniz. Bu ilk adım, açık kaynak dünyasına ve profesyonel yazılım geliştirme pratiklerine atılan önemli bir adımdır. Git ve GitHub, sadece kodunuzu depolamakla kalmaz, aynı zamanda iş birliğini kolaylaştırır, hataları izlemeyi sağlar ve projenizin gelişimini şeffaf hale getirir. Unutmayın, pratik yapmak mükemmelleştirir. İlk projenizi başarıyla GitHub’a taşıdığınıza göre, şimdi farklı dallar (branches) oluşturmayı, birleştirme (merge) işlemlerini öğrenmeyi ve diğer geliştiricilerin projelerine katkıda bulunmayı keşfetmeye başlayabilirsiniz. Geliştirme yolculuğunuzda bol şans!
Sıkça Sorulan Sorular (SSS)
- Git ve GitHub arasındaki temel fark nedir?
Git, yerel bilgisayarınızda çalışan bir versiyon kontrol sistemidir; projenizin değişikliklerini izlemenizi, farklı versiyonlar arasında geçiş yapmanızı ve geçmişi yönetmenizi sağlar. GitHub ise, Git depolarınızı barındıran web tabanlı bir platformdur. Projelerinizi çevrimiçi olarak depolamanıza, diğer geliştiricilerle iş birliği yapmanıza ve açık kaynak projelerde yer almanıza olanak tanır. Kısacası, Git aracıdır, GitHub ise bu araçla oluşturduğunuz projelerinizi barındıran bir hizmettir.
- Neden SSH yerine HTTPS kullanmamalıyım?
Hem HTTPS hem de SSH, GitHub ile kimlik doğrulaması yapmak için kullanılabilir. Ancak SSH, genellikle daha güvenli ve kullanışlı kabul edilir. SSH ile bir kez anahtar çifti oluşturup açık anahtarınızı GitHub’a eklediğinizde, her Git işlemi için kullanıcı adı ve şifre veya kişisel erişim belirteci (PAT) girmenize gerek kalmaz. Bu, özellikle sık sık işlem yapan geliştiriciler için büyük bir kolaylık sağlar ve güvenlik riskini azaltır. HTTPS ise her işlemde kimlik doğrulama bilgisi gerektirir.
git add .vegit commit -m "Mesaj"komutlarını çalıştırdıktan sonra ne yapmalıyım?Bu iki komutu çalıştırdıktan sonra, değişiklikleriniz yerel Git deponuza kaydedilmiş olur. Eğer bu değişiklikleri GitHub’daki uzak deponuza göndermek istiyorsanız,
git push origin main(veya kullandığınız dalın adıyla) komutunu çalıştırmanız gerekir. Bu komut, yerel commit’lerinizi GitHub’a aktarır ve projenizin çevrimiçi versiyonunu günceller.- Yanlış bir dosyayı commit ettiysem geri alabilir miyim?
Evet, Git’in en büyük avantajlarından biri, yaptığınız değişiklikleri geri alabilme yeteneğidir. Eğer bir commit’i geri almak istiyorsanız,
git revertkomutunu kullanabilirsiniz. Bu, mevcut commit’i geri alan yeni bir commit oluşturur. Eğer henüz push yapmadıysanız ve son commit’inizi tamamen silmek istiyorsanız,git reset --soft HEAD~1(commit’i geri alır ama değişiklikleri tutar) veyagit reset --hard HEAD~1(commit’i ve değişiklikleri tamamen siler) komutlarını dikkatlice kullanabilirsiniz. Bu tür geri alma işlemleri, özellikle push yapıldıktan sonra dikkatli kullanılmalıdır, çünkü başkalarının iş akışını etkileyebilir. .gitignoredosyası ne işe yarar ve nasıl kullanılır?.gitignoredosyası, Git’in projenizde hangi dosyaları veya klasörleri takip etmemesi gerektiğini belirtmek için kullanılır. Örneğin, geçici derleme dosyaları (.class,.o), bağımlılık klasörleri (node_modules/), yapılandırma dosyaları (.env) veya işletim sisteminin oluşturduğu özel dosyalar (.DS_Store) gibi dosyaların versiyon kontrolü altında olmasına gerek yoktur. Bu dosyaları.gitignoredosyasına ekleyerek, Git’in bunları görmezden gelmesini ve depoyu gereksiz şişkinlikten korumasını sağlarsınız. Her satıra yok saymak istediğiniz dosya veya klasör adını yazmanız yeterlidir (örneğin,*.logtüm log dosyalarını,node_modules/ise bu klasörü yok sayar).
#Git #GitHub #VersiyonKontrolü #WebGeliştirme #SSH #KodYönetimi