Language:

Gönderen Konu: Pisi Linux eğitim dersleri - 4 - Github kullanımı  (Okunma sayısı 5775 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

namso-01

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 637
  • Cinsiyet
    Bay

    Bay
    • Profili Görüntüle
Pisi Linux eğitim dersleri - 4 - Github kullanımı
« : 24 Ağustos 2013, 16:52:34 »
Pisi Linux eğitim dersleri - 4 - Github kullanımı


github kullanımı

1. ssh-keygen oluşturma
2. Gerekli paketlerin kurulması
3. Deponun yerele çekilmesi
4. Gönderi yapılması
5. Gönderinin geri alınması
6. Dosya değişikliklerinin orjinale döndürülmesi

waroi

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 452
  • Cinsiyet
    Bay

    Bay
  • Kişisel İleti
    Gel Pisi Pisi..!!
    • Profili Görüntüle
    • waroi blog
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #1 : 24 Eylül 2013, 14:31:55 »
birde kullanılan komutları yazılı olarak verseniz açıklamalarıyla güzel olurdu...

namso-01

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 637
  • Cinsiyet
    Bay

    Bay
    • Profili Görüntüle
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #2 : 24 Eylül 2013, 14:41:31 »
Komutlar

sudo pisi it openssh git

ssh-keygen enter enter alt yeni satıra geçene kadar. /home/kullanıcıadınız/.ssh içinde id_rsa.pub dosyasının içeriğini github hesap ayarlarından ssh-keys aalanına ekleme

git clone depo adresi (ssh olan)

 git config --global user.name "kullanıcı adı"
 git config --global user.email "[email protected]" (mail adresiniz)

git add pspec.xml
git add .  (sadece blunduğunuz klasör içinde) (tüm değişikli,k yapılan dosyaları kapsar.)
git commit -m "paket adı: yapılan değişiklik"
git push -u origin master

git checkout -f yapılan tüm yerel değişiklikleri sıfırlar.

git mv eski dosya adresi yeni dosya adresi (dosya taşıma)
git mv eski-dosya-adı yeni-dosya-adı

kullabileceğiniz komutlar.

waroi

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 452
  • Cinsiyet
    Bay

    Bay
  • Kişisel İleti
    Gel Pisi Pisi..!!
    • Profili Görüntüle
    • waroi blog
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #3 : 24 Eylül 2013, 14:52:10 »
teşekkürler :)

waroi

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 452
  • Cinsiyet
    Bay

    Bay
  • Kişisel İleti
    Gel Pisi Pisi..!!
    • Profili Görüntüle
    • waroi blog
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #4 : 24 Eylül 2013, 14:56:59 »
git push -u origin master - bunun işlevi nedir?

birde "git revert" diye bir şey kullanmıştık o tam olarak ne iş yapıyor.??

işlemleri yaparken neler olduğu görülüyor ama bir kaç komut üst üste girince hangisi ne iş yapıyor onu kaçırmiyim diye soruyorum :)

namso-01

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 637
  • Cinsiyet
    Bay

    Bay
    • Profili Görüntüle
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #5 : 24 Eylül 2013, 15:03:29 »
git push -u origin master - bunun işlevi nedir?

birde "git revert" diye bir şey kullanmıştık o tam olarak ne iş yapıyor.??

işlemleri yaparken neler olduğu görülüyor ama bir kaç komut üst üste girince hangisi ne iş yapıyor onu kaçırmiyim diye soruyorum :)
o 2 kodu unutmuşum.

Kod: [Seç]
git push -u origin master yaptığın değişiklikleri sunucuya gönderir.

git revert değişiklik kodu yaptığın değişikliği geri alır.
örneğin bunun için https://github.com/pisilinux/playground/commit/1889cb85e32b2c311a6cafd83891fd7d22da589b
Kod: [Seç]
git revert 1889cb85e32b2c311a6cafd83891fd7d22da589b

waroi

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 452
  • Cinsiyet
    Bay

    Bay
  • Kişisel İleti
    Gel Pisi Pisi..!!
    • Profili Görüntüle
    • waroi blog
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #6 : 24 Eylül 2013, 16:31:44 »
teşekkürler not defterime ekledim ;)

alihanozturk

  • Geliştirici

  • Çevrimdışı
  • *****

  • 596
  • Cinsiyet
    Bay

    Bay
    • Profili Görüntüle
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #7 : 24 Eylül 2013, 23:29:29 »
Video ile birlikte https://github.com/alihanozturk github hesabına yüklemeleri yaptım :) Teşekkürler. Tek sorunum yükleme ismi olarak hepsine aynı isim girdi onu nasıl düzenliyoruz :) Yani hepsine ayrı ayrı girdi ismi veriyoruz. Benim bütün yüklemelerim Coin adında görünüyor
« Son Düzenleme: 24 Eylül 2013, 23:33:02 Gönderen: alihanozturk »

namso-01

  • Genel Yönetici

  • Çevrimdışı
  • *****

  • 637
  • Cinsiyet
    Bay

    Bay
    • Profili Görüntüle
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #8 : 25 Eylül 2013, 08:06:47 »
ana dizin de git add . demiş olmalısınız. alt klasörler de aynı komutu verip git commit -m "ne yazarsan yaz mesela coin"
bu işlemi farklı klasör içlerindede denersen farklı görünür.

kedi

  • Kıdemli

  • Çevrimdışı
  • ****

  • 295
    • Profili Görüntüle
Ynt: Pisi Linux eğitim dersleri - 4 - Github kullanımı
« Yanıtla #9 : 01 Temmuz 2014, 00:01:22 »
Git
Merhaba arkadaşlar bu yazımda sizlere bir versiyon kontrol sistemi olan git'ten bahsedeceğim.

Versiyon Kontrol Sistemi nedir diyenler için biraz açıklayalım. Örneğin elimizde bir web sitemiz var ve üzerinde bir takım değişiklikler yapmamız gerekiyor. Git veya benzer işleri yapan sistemlerin faydalarından bahsetmek için herhangi bir versiyon kontrol sistemi olmadığında neyin nasıl olduğundan bahsedeyim. Bu durumda en yaygın olarak yapılan, FTP'yi tek başına kullanmak oluyor. Eğer yalnızca FTP kullanıyor olsaydık dosyayı bilgisayarımıza indirip değiştirip sunucumuza tekrar yüklerdik. Ama belki de çoktan yaşadığınız gibi değişiklik gerektiren dosya sayısı arttıkça bu iş biraz zorlaşıyor. Bir de yapmamız gereken değişiklik uzun sürüyorsa değiştirdiğimiz dosyaların hepsini hatırlamamız gerekiyor. "Hatırlamaya ne gerek var? Bütün dosyaları tekrar yükleyebilirim." diyebilirsiniz. Eğer projede çalışan arkadaşınız yoksa bu da mümkün tabii ki. Arkadaşınızla bütün gün aynı projede uğraştığınızı düşünelim. İkiniz de birden fazla dosyada değişiklik yaptınız, hatta belki aynı dosyalarda uğraştınız. İkinizin birbirinden ayrı olan ve birbiriyle iç içe geçen çalışmalarını bir araya getirmek için yardımcı olacak bir araç olsa ne güzel olurdu. Bütün bunları bir kenara bırakalım. Belki de yalnızca dün yaptığınız yenilikler bugün hoşunuza gitmedi. Eski haline nasil dönebiliriz? Her değişiklikten sonra projeninin bir kopyasını almak mantıklı(!) duruyor. Bütün bu sıkıntılara ve daha fazlasına çözüm getirmek için bir versiyon kontrol sistemi kullanmak en akıllıcası olacaktır. Versiyon kontrol sistemi size bir depo(repository) sağlar ve burada projenin dosyalarındaki değişiklikler geçmişiyle birlikte tutulur.

Son zamanlara kadar versiyon kontrol sistemleri, projenin merkezi bir depoda tutulduğu ve bu projeden olan insanların değişikliklerini bu merkeze işlediği bir düzen ile çalışıyorlardı. Git ise dağıtılmış bir depolar düzeni ile çalışıyor. Bu da demek oluyor ki projenin olduğu her yerde bir depo var ve hiçbiri diğerinden farklı değil. Örneğimizden devam edersek web sitenizin bulunduğu sunucuda da, sizde de, projenin üzerinde çalışan diğer arkadaşınızda da aynı deponun bir kopyası bulunuyor. Bu sistem çalışma düzeninize biraz daha esneklik katmanızı sağlıyor. Ayrıca herkes deponun bir kopyasını tuttuğu için otomatik olarak birden çok yedeğiniz olmuş oluyor.

Şimdi git'in komut satırı üzerinden nasıl kullanabileceğimizi öğreneceğiz. http://www.git-scm.com/downloads adresinden yüklememizi yapıp komut satırı üzerinden git'in çalıştığından emin olduktan sonra devam edebiliriz.

Öncelikle genel olarak git'i yapılandıralım. Git, yapılan değişikliklerin yanında değişikliği yapanı da depomuza kaydeder. O zaman kendimizi tanıtarak başlayalım.

    $ git config --global user.name "İbrahim Sağıroğlu"
    $ git config --global user.email "[email protected]"
"--global" sayesinde ilgili bilgisayarda şu an olan ve gelecekte oluşturulacak depolarda bu yapılandırmanın kullanılmasını sağlamış oluyoruz.

Komut satırı renklerle daha okunabilir olacaktır. Git'in renklerini açalım.

    $ git config --global color.ui true
Artık bir depo oluşturabiliriz. Herhangi bir klasörde git deposu oluşturmak için "git init" komutunu yazmamız yeterli. Basit olması için boş bir klasörde başlayalım.

    $ git init
Bu komut bulunduğunuz klasörde ".git" isimli bir klasör oluşturacaktır. Bu klasörle doğrudan işlem yapmanız gerekmiyor; ama kurcalamak isterseniz içerisinde projenizin geçmişi, bu depoya özel yapılandırmalarınız, etiketleriniz ve benzeri veri tutuluyor.

Projemize bir şeyler ekleyelim. Ben örnek olarak "index.html" isimli bir dosya oluşturuyorum. Depomuza işlemeden önce yaptığımız değişikliklerin listesini görmek için aşağıdaki komutu kullanabiliriz.

    $ git status
Yukarıdaki komutu çalıştırdığımızda bir dosya yeni oluştrulmuşsa "takip edilmeyen" (untracked), daha önceden depoya işlenmiş bir dosya değiştirilmiş ise "değiştirilmiş" (modified) gibi durumlar gösterilecektir.

Evet, artık bu dosyayı depomuza kaydetmek istiyoruz. Kendi bilgisayarımızda çalışırken değişiklikler depoya işlenmeden önce bir sahne alanından(staging area) geçer; yani projemize yaptığımız değişiklikleri önce bu alana yerleştiririz, sonrasında bu alandan depoya işleriz.

Sahne alanına eklemek için "git add" komutunu kullanıyoruz.

    $ git add index.html
Yazdıktan sonra tekrar "git status" komutuyla şu andaki durumumuza bakabiliriz. Başka dosyalar da eklemek istiyorsak tercih ettiğimiz editörümüz ile yeni dosyalar oluşturup tekrar "git add" komutu ile sahne alanımıza ekleyebiliriz. Örneğimiz için şimdilik bu kadar yeter diyip ilk depoya işleyişimizi tamamlamak için:

    $ git commit -m "index.html eklendi"
komutunu yazıyoruz. "-m" seçeneği sayesinde bu işlemede yaptığımız değişikliklerle ilgili ufak bir açıklama ekleyebiliyoruz. Böylece sonradan işleme geçmişine baktığımızda neler olup bittiğini anlamamız hayli kolaylaşıyor. Bu komut ayrıca bize eklenen, çıkarılan veya değiştirilen dosyaları tekrar özetliyor.

Diyelim ki birkaç işleme yaptık ve bu süre boyunca neler yapageldiğimize bakmak istiyoruz.

    $ git log
Yukarıdaki komutu çalıştırdığımızda geçmişte yapılan işlemler bu işlemleri yapanlarla birlikte yapılma sırasına göre gösterilecektir.

Şimdiye kadar hep kendi bilgisayarımızda çalıştık. Diğer bilgisayarlarla çalışmak için diğer bilgisayara -veya daha doğrusu uzaktaki bir bilgisayardaki depoya- ait linki git'in "uzak bilgisayarlar" (remote) listesine eklememiz gerekiyor.

    $ git remote add merkez [email protected]:kullaniciadi/repo_adi.git
Bu komutu çalıştırdığımızda git, [email protected]:kullaniciadi/repo_adi.git adresini şu an kullandığımız bilgisayardaki depoya "merkez" isminde kaydediyor. Bilgisayarımızdaki depoda yaptığımız değişikliklerimizi daha sonra bu depoya göndermek için ise aşağıdaki komutu kullanıyoruz.

    $ git push -u merkez master
Burada göndermek istediğimiz uzak bilgisayarın adını (merkez) ve depomuzun hangi dalını göndermek istediğimizi belirtiyoruz. "-u" ise, özellikle başka bir depo adresi vermediğimiz sürece, bundan sonra göndermek istediğimiz değişiklikler için "merkez" isimli uzaktaki depomuzu kullanacağımızı git'e söylememizi sağlıyor. Yani daha sonra bu depoya bir değişiklik göndermek istediğimizde "git push" yazmamız yeterli.

Diyelim ki biraz zaman geçti. Başka insanları bu proje üzerinde çalışmak üzere davet ettik. Onlara uzaktaki depomuzun linkini verdik, onlar da kendi değişikliklerini yaptılar ve o depoya gönderdiler. Uzaktaki depomuza yapılan bu değişiklikleri almak için ise "git pull" komutumuz var.

    $ git pull merkez master
Bu komutla birlikte depomuza gönderilen değişiklikler bilgisayarımıza indiriliyor ve bilgisayarımızdaki depomuz ile uzaktaki depomuz aynı hale geliyor.

Bütün bu öğrendiklerimiz kullanıldıkça daha iyi anlaşılabilir. Şimdi de "git diff" komutuna bir göz atalım. Depomuzda yaptığımız değişikleri ayrıntılı olarak görmek için bu komutu kullanabiliriz.

    $ git diff HEAD
Yukarıdaki komutla birlikte depomuza en son işleme yapıldıktan sonra yapılan değişiklikleri satır satır görebiliriz. Burada "HEAD", en son yapılan işlemeye (commit) karşılık gelen bi göstergedir; yani bu komut en son işleme ile şu an arasında ne fark var sorusunun cevabını bulmamıza yardımcı olur. Sahne alanımızı hatırlıyorsunuz; işlemeye hazır olduğunu belirttiğimiz dosyalar burada tutuluyordu. Buradaki değişikliklere bakmak istersek "git diff" komutuna "--staged" seçeneğini eklememiz yeterli olacaktır.

Bu yazımızda öğrendiklerimiz git'i basit özellikleriyle kullanmaya başlamanız için yeterli olacaktır. Bir sonraki yazımızda dallanmalardan, çakışmalardan, etiketlerden ve daha birçok özelliğinden bahsederek git'i daha yakından tanımaya çalışacağız. Yazımızı beklemeden kendiniz öğrenmek isterseniz aşağıdaki kaynaklar arasında verilen git'in anasayfasından pek çok kaynağa ulaşabilirsiniz. Kolay gelsin!

İbrahim Sağıroğlu (e-bergi Şubat 2013)

Z    |\   _,,,---,,_   
Zzz /,`.- '`'    -.  ;- ;; ,_   
     |,4-  ) )-,_. ,\  (  `' - '    
    ' ---''(_/--'    `-'\_)

 

Yukarı Çık & Back to Up