Github’da Fork, Commit ve Pull Request
Github depolarında “fork” ,”commit” ve “pull request” işlemleri, KOUOSL Portal projesinin portal-site modülü örneği üzerinden incelenmektedir.
Bu makalede örnek olarak vagrant-portal ile kurulmuş vagrant makinesi üzerinde çalışan KOUOSL Portal Web Uygulaması’nın çekirdek modüllerinden portal-site deposu fork edilecektir. Bu nedenle vagrant-portal kurulu olmalı ve üzerinde portal (Portal Web Uygulaması) çalışıyor olması gerekmektedir.
1.Fork
Github’da geliştirme yapacağımız depo fork edilir.
Portal projesinin fork alınan depo üzerinden çalışabilmesi için portal projesinin composer.json dosyası içerindeki repositories bölümündeki url’in değiştirilmesi gereklidir.
Komut satırı (cmd) içerisinde @vagrant-portal
dizinine girerek vagrant makine başlatılır ve ssh ile erişim sağlanır.
vagrant up
vagrant ssh
Sonra vagrant makine ssh uç biriminde@portal
dizinine geçiş yapılır.
cd /var/www/portal
Yönetici yetkileri ile işlemlerin yapılması için sudo ile yetki yükseltilir.
sudo su
Yüklü olan portal-site deposu composer ile kaldırılır.
composer remove kouosl/portal-site
Fork alınan depo composer ile develop dalı kullanılarak tekrar kurulur.
composer require kouosl/portal-site:dev-develop
2.Commit
Geliştirmelerin yapıldığı depoya geçilir .
cd vendor/kouosl/portal-site
Yapılan değişiklikleri görüntülemek için aşağıdaki komut çalıştırılabilir.
git status
Depoya gönderilecek değişiklik yapılmış tüm dosyalar işleme listesine eklenir.
git add .
Değişiklik yapılmış ve işleme listesine eklenmiş tüm dosyalar depoya (commit) işlenir .
git commit -m “commit first”
Uzak depoya gönderim için uzak (remote) url leri değiştirilmelidir.
git remote set-url origin --push https://github.com/sinanfb/portal-site.git
Yapılan değişiklikler kendi uzak depomuza gönderililir.
git push
Depoların referanslarında değişiklik olabilir. Bundan dolayı git push
komutu hata verebilir. Alternatif olarak aşağıdaki — force parametresi ile depoya gönderim hataya rağmen zorlanabilir.
git push --force
Bu aşamada Github hesabınıza giriş yapmanız için kullanıcı adı ve şifre istenebilir. Giriş yaptıktan sonra commit işlemi tamamlanacaktır.
3.Pull Request
Pull Request işlemi fork alınan depodaki değişikliklerin ana depoya bildirilmesi işlemidir. Pull Request yapmak içinde aşağıdaki aşamaları takip ediniz.