- Adım
- Lütfi
- Cihazım
- Le Pro3
- Yaş
- 27
- Konum
- ankara
- Katılım
- 22 Mayıs 2016
- Konular
- 68
- Mesajlar
- 102
- Tepkime puanı
- 217
- Puanları
- 43
AÇIKLAMA
Bu kılavuz ile basit Git sistemi kullanımını öğrenebilirsiniz.
Ricam bu kılavuzdan yardım aldıysanız konunuzun teşekkürler kısmında benimde ismim geçsin.
ANLATIM
Git Sistemini Anlamak
Git Sistemi Kurulumu
Git Sistemine Giriş Yapmak
Dosyaları Kaynak Olarak Tanıtmak
Github Üzerinden Kaynak İndirme
Dosya Ekleme
Yukarıdaki komut dosya eklemek içindir.
Örneğin: Bir config.xml dosyası eklemek istiyorsunuz.
Vermeniz gereken kod :
Eğer bu config xml'i kaynak klasörlerinizin altında bir yerde ;
Örneğin: device/leeco/zl0/overlay/frameworks/base/core/res/res/values altında ise :troll:
Vermeniz gereken kod şudur :
Ama genel olarak bir dosya dizini ekleyecekseniz :
git add . (yani sonuna nokta koyun.)
Bu bütün dosyaları (yeni eklenen ya da kaynak hiç Github'a yüklenmemişse bütün kaynak) yüklemek için tanıtır.
Mesela ben zl0 cihazının tüm dosyalarını ilk seferde yüklemek için "git add ." komutunu kullandım.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Commit Olgusu
ana komutumuzdur.
Amacı ise yapılan değişiklikleri Github'a yüklemek için mesaj ve bilgilendirme oluşturmaktır.
Örneğin: değişikliklerinizi yaptınız ve Githuba yüklemek istiyorsunuz :
git commit -m "mesajınız" şeklinde atacaksınız.
Kendim tek bir yönde değişiklik yapıp onu yüklüyorum genellikle.
Örneğin: zl0 (Pro3 Elite) cihazının tanıtım kapağını hazırladım. Ve bunu yükledim.
Bunun için README.md dosyası oluşturdum.
İçini düzenledim.
"git add . "
"git commit ."
sırasıyla yukardaki komutları izledim.
Ve çıkan notepad++ ekranında (ki varsa varsayılan yazı editörü olarak git programı seçiyor) ilk satıra commit başlığını yazdım. "Specsheet"
Ancak basit bir commit olduğu için açıklama yazma gereği duymadım. Daha sonra editörde kaydedip çıktım.
Kimi commitler ise ayrıntılı şekilde açıklama ister.
Örneğin:
LineageOS , AICP , Omni gibi rom kaynakları atılan commitlerin düzeni ve içeriğine dikkat ederler.
Bir kişi driver güncellediğinde kernelde neden güncellediğini neden o sürüme güncellediğini kısa ve ayrıntılı şekilde anlatır.
Bu açıklama ise ikinci ve diğer satırlara yazılır :
Örneğin:
Specsheet -> Commit başlığı
Adding specsheet for presentation of device ->Commit açıklaması
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Yüklemek İstediğiniz Git Kaynağını Tanıtmak
Sürüm Değiştirme
kodunu kullanırız.
Örneğin: Ben LineageOS 13 sürümünden 14.1 sürümüne güncelliyorsam kaynağı ya da ilk oluşturduğumda LineageOS 13 olduğunu belirtmek için açarım bu sürümü.
Bunun için :git checkout -b cm-13.0 komutunu kullanırım.
Değişiklikleri Yükleme
Kod kalıbını kullanırız. Sürüm yerine bir yukarıda anlattığım sürümü yazarız.
Tabi bundan önce init - add - commit ve checkout kodlarını uygulamalı ve tabanını hazırlamalısınız.
Yani ben zl0 cihaz girdilerini yüklemek için :
git push -u cm-13.0
komutunu kullandım.
Dolayısıyla cm-13.0 sürümüne yükleme yaptım. Eğer 14.1 varsa ve siz ona yükleme yapmak istiyorsanız cm-14.1 yazacaksınız.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Senkonizazyon & Güncelleme
Etiket Sistemi
Kayıt Bilgisi Alma
komutu işinizi görecek.
En son hangi commitler ne zaman kim tarafından atılmış başlıkları ve kimlikleriyle görülür.
Yapmanız gereken şey kaynağınızın ana dizininde komutu vermek.
Daha sonra terminal penceresinde çıkacaktır.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Commit İmzalama
Github Projelerine Katkıda Bulunma
Github Manifest Kullanımı
Bu kılavuz ile basit Git sistemi kullanımını öğrenebilirsiniz.
Ricam bu kılavuzdan yardım aldıysanız konunuzun teşekkürler kısmında benimde ismim geçsin.
ANLATIM
Git Sistemini Anlamak
GitHub, sürüm kontrol sistemi olarak Git kullanan yazılım geliştirme projeleri için web tabanlı bir depolama servisidir.
GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir.
(Dümdüz copy-paste burası Wikipedia'dan.:troll
GitHub özel depolar için ücretli üyelik seçenekleri sunarken, açık kaynaklı projeler için ücretsizdir.
(Dümdüz copy-paste burası Wikipedia'dan.:troll
Git Sistemi Kurulumu
a-) Windows İçin
Ardından inen programın kurulumunu yapın varsayılan ayarlara dokunmanıza gerek yoktur.
b-) Linux İçin
Aşağıdaki komutları terminale veriniz.
1-) Ubuntu ve Ubuntu Tabanlı Dağıtımlarda
ya da
2-) Arch ve Arch Tabanlı Dağıtımlarda
3-) Fedora ve Fedora Tabanlı Dağıtımlarda
Fedora 21'e kadar olan sürümler için:
Fedora 22 ve sonrası için:
4-) Gentoo ve Gentoo Tabanlı Dağıtımlarda
c-) Mac İçin
Linkleri görebilmek için kayıt olmanız gerekmektedir
bilgisayarınızın arm sürümüne uygun olanı indirin. (64bitse 64bit 32 ise 32 olanı indirin.)Ardından inen programın kurulumunu yapın varsayılan ayarlara dokunmanıza gerek yoktur.
Linkleri görebilmek için kayıt olmanız gerekmektedir
ile anlatımı için verdiğim linkte açılan saniyeden sonrasını inceleyebilirsiniz.b-) Linux İçin
Aşağıdaki komutları terminale veriniz.
1-) Ubuntu ve Ubuntu Tabanlı Dağıtımlarda
Kod:
apt-get install git
ya da
Kod:
sudo apt-get install git
2-) Arch ve Arch Tabanlı Dağıtımlarda
Kod:
pacman -S git
3-) Fedora ve Fedora Tabanlı Dağıtımlarda
Fedora 21'e kadar olan sürümler için:
Kod:
yum install git
Fedora 22 ve sonrası için:
Kod:
dnf install git
4-) Gentoo ve Gentoo Tabanlı Dağıtımlarda
Kod:
emerge --ask --verbose dev-vcs/git
c-) Mac İçin
Linkleri görebilmek için kayıt olmanız gerekmektedir
indirip kurulum talimatlarını izleyebilirsiniz.Git Sistemine Giriş Yapmak
Kendinize
a-) Github'a kayıt olduğunuz ismi bilgisayardan da tanıtmak için:
Örneğin:
b-) Github'a kayıt olduğunuz email adresini bilgisayardan da tanıtmak için:
Örneğin:
Bu komutları verdikten sonra indirip kurulum yaptığınız sisteme giriş yapmış olursunuz.
Bu aşamadan sonrasında atacağınız commitler bu hesap üzerinde görünecektir.
Dilerseniz aynı komutları farklı isimlerle kullanarak eğer Github'da hesap değişmiş ya da yeni açmışsanız bilgisayardan da değişebilir / yeni açabilirsiniz.
Linkleri görebilmek için kayıt olmanız gerekmektedir
üzerinden bir hesap oluşturduktan sonraa-) Github'a kayıt olduğunuz ismi bilgisayardan da tanıtmak için:
Kod:
git config --global user.name "isim"
Örneğin:
Kod:
git config --global user.name "Mbtt"
b-) Github'a kayıt olduğunuz email adresini bilgisayardan da tanıtmak için:
Kod:
git config --global user.email "email adresi"
Örneğin:
Kod:
git config --global user.email "cmsizcm@gmail.com"
Bu komutları verdikten sonra indirip kurulum yaptığınız sisteme giriş yapmış olursunuz.
Bu aşamadan sonrasında atacağınız commitler bu hesap üzerinde görünecektir.
Dilerseniz aynı komutları farklı isimlerle kullanarak eğer Github'da hesap değişmiş ya da yeni açmışsanız bilgisayardan da değişebilir / yeni açabilirsiniz.
Dosyaları Kaynak Olarak Tanıtmak
Git sistemiyle düzenlemek istediğiniz dosyaları tanıtma kısmıdır.
Basitçe Git'e yüklemek istediğiniz dosyaların olduğu dizine gelip;
Örneğin : device/leeco/zl0
Bu dizinde ;
komutunu vermektir.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Basitçe Git'e yüklemek istediğiniz dosyaların olduğu dizine gelip;
Örneğin : device/leeco/zl0
Bu dizinde ;
Kod:
git init
komutunu vermektir.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Medyaları görmek için kayıt olmalısınız
Github Üzerinden Kaynak İndirme
Github'dan bir kaynağı bilgisayarınıza / diskinize / serverinize kaydetmek için kaynak linkini bulun ve ;
git clone
Yukarının açıklaması şu şekildedir :
olarak belirttiğim kısım kaynak linkidir. Sahip ismide kaynak ismine dahildir. Zaten linki kopyalayacaksınız tatavaya gerek yok :troll:
Örneğin:
olarak belirttiğim kısım sürümdür. (Yapma yav bak sen :troll: )
Örneğin: cm-13.0
olarak belirttiğim kısımlar kaydetmek istediğiniz klasör dizinidir.
Örneğin: device/leeco/zl0
Yani device adında bir klasör oluşturup içine bir leeco ve onunda içine bir zl0 klasörü oluşturur.
Özet bir örnek verecek olursam benim zl0 device kaynaklarını çekmek için vermem gereken kod şudur :
git clone
git clone
Linkleri görebilmek için kayıt olmanız gerekmektedir
-b sürüm kaydetmek/istediğiniz/yerYukarının açıklaması şu şekildedir :
Kod:
https://github.com/sahip-ismi/kaynak-linki.com
olarak belirttiğim kısım kaynak linkidir. Sahip ismide kaynak ismine dahildir. Zaten linki kopyalayacaksınız tatavaya gerek yok :troll:
Örneğin:
Linkleri görebilmek için kayıt olmanız gerekmektedir
Kod:
sürüm
olarak belirttiğim kısım sürümdür. (Yapma yav bak sen :troll: )
Örneğin: cm-13.0
Kod:
kaydetmek/istediğiniz/yer
olarak belirttiğim kısımlar kaydetmek istediğiniz klasör dizinidir.
Örneğin: device/leeco/zl0
Yani device adında bir klasör oluşturup içine bir leeco ve onunda içine bir zl0 klasörü oluşturur.
Özet bir örnek verecek olursam benim zl0 device kaynaklarını çekmek için vermem gereken kod şudur :
git clone
Linkleri görebilmek için kayıt olmanız gerekmektedir
-b cm-13.0device/leeco/zl0Dosya Ekleme
Kod:
git add .
Yukarıdaki komut dosya eklemek içindir.
Örneğin: Bir config.xml dosyası eklemek istiyorsunuz.
Vermeniz gereken kod :
Kod:
git add config.xml
Eğer bu config xml'i kaynak klasörlerinizin altında bir yerde ;
Örneğin: device/leeco/zl0/overlay/frameworks/base/core/res/res/values altında ise :troll:
Vermeniz gereken kod şudur :
Kod:
git add device/leeco/zl0/overlay/frameworks/base/core/res/res/values/config.xml
Ama genel olarak bir dosya dizini ekleyecekseniz :
git add . (yani sonuna nokta koyun.)
Bu bütün dosyaları (yeni eklenen ya da kaynak hiç Github'a yüklenmemişse bütün kaynak) yüklemek için tanıtır.
Mesela ben zl0 cihazının tüm dosyalarını ilk seferde yüklemek için "git add ." komutunu kullandım.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Medyaları görmek için kayıt olmalısınız
Commit Olgusu
Kod:
git commit .
ana komutumuzdur.
Amacı ise yapılan değişiklikleri Github'a yüklemek için mesaj ve bilgilendirme oluşturmaktır.
Örneğin: değişikliklerinizi yaptınız ve Githuba yüklemek istiyorsunuz :
git commit -m "mesajınız" şeklinde atacaksınız.
Kendim tek bir yönde değişiklik yapıp onu yüklüyorum genellikle.
Örneğin: zl0 (Pro3 Elite) cihazının tanıtım kapağını hazırladım. Ve bunu yükledim.
Bunun için README.md dosyası oluşturdum.
İçini düzenledim.
"git add . "
"git commit ."
sırasıyla yukardaki komutları izledim.
Ve çıkan notepad++ ekranında (ki varsa varsayılan yazı editörü olarak git programı seçiyor) ilk satıra commit başlığını yazdım. "Specsheet"
Ancak basit bir commit olduğu için açıklama yazma gereği duymadım. Daha sonra editörde kaydedip çıktım.
Kimi commitler ise ayrıntılı şekilde açıklama ister.
Örneğin:
LineageOS , AICP , Omni gibi rom kaynakları atılan commitlerin düzeni ve içeriğine dikkat ederler.
Bir kişi driver güncellediğinde kernelde neden güncellediğini neden o sürüme güncellediğini kısa ve ayrıntılı şekilde anlatır.
Bu açıklama ise ikinci ve diğer satırlara yazılır :
Örneğin:
Specsheet -> Commit başlığı
Adding specsheet for presentation of device ->Commit açıklaması
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Medyaları görmek için kayıt olmalısınız
Yüklemek İstediğiniz Git Kaynağını Tanıtmak
git remote add origin
Yukarıda belirttiğim komutu kullanacaksınız. "remote add" kaynak tanıtma kodudur anlayacağınız.
Örneğin: zl0 kaynağını tanıtmak için önce Github hesabımda bir "device_leeco_zl0" adında kaynak kod ismi oluşturdum.
Daha sonra dosyaları hazırladım (ki hazırdı). Ve ;
git remote add origin
komutunu verdim.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Linkleri görebilmek için kayıt olmanız gerekmektedir
Yukarıda belirttiğim komutu kullanacaksınız. "remote add" kaynak tanıtma kodudur anlayacağınız.
Örneğin: zl0 kaynağını tanıtmak için önce Github hesabımda bir "device_leeco_zl0" adında kaynak kod ismi oluşturdum.
Daha sonra dosyaları hazırladım (ki hazırdı). Ve ;
git remote add origin
Linkleri görebilmek için kayıt olmanız gerekmektedir
komutunu verdim.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Medyaları görmek için kayıt olmalısınız
Sürüm Değiştirme
Kod:
git checkout -b sürüm
kodunu kullanırız.
Örneğin: Ben LineageOS 13 sürümünden 14.1 sürümüne güncelliyorsam kaynağı ya da ilk oluşturduğumda LineageOS 13 olduğunu belirtmek için açarım bu sürümü.
Bunun için :git checkout -b cm-13.0 komutunu kullanırım.
Değişiklikleri Yükleme
Kod:
git push -u origin sürüm
Kod kalıbını kullanırız. Sürüm yerine bir yukarıda anlattığım sürümü yazarız.
Tabi bundan önce init - add - commit ve checkout kodlarını uygulamalı ve tabanını hazırlamalısınız.
Yani ben zl0 cihaz girdilerini yüklemek için :
git push -u cm-13.0
komutunu kullandım.
Dolayısıyla cm-13.0 sürümüne yükleme yaptım. Eğer 14.1 varsa ve siz ona yükleme yapmak istiyorsanız cm-14.1 yazacaksınız.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Medyaları görmek için kayıt olmalısınız
Senkonizazyon & Güncelleme
1-) git remote add upstream "upstream-linki"
upstream kısmı eğer birden fazla eklemek istiyorsanız değişebilir.
Örneğin: zl1 cihazına 2 farklı cihazdan güncelleme atmak için
git remote add oneplus3
git remote add marlin
2-) git fetch upstream
Birden çok eklemişseniz örneğin:
ya da
Buradaki amaç her eklenen repoya bir isim vermektir.
marlin'i eklemek istiyorsanız marlin linkine illa upstream değil marlin isminide verebilirsiniz. Bu sayede istediğiniz kadar repoyu ekleme imkanına sahip oluyorsunuz.
3-) git merge "commit-numarası" ya da "sürüm"
4-) git cherry-pick "commit-numarası"
Bu dört kalıp sizin kaynağınızı güncellemeye yarar.
Örneğin:
Ben zl1 cihazına oneplus3'ten bir paket / güncelleme / değişiklik atmak istiyorsam.
"git cherry-pick" ya da "git merge"komutları işimi görecektir.
Bunu yaparken sırasıyla
git remote add oneplus3
git fetch oneplus3
git cherry-pick 05223064f44d9b6f4840e5f59deadada9c25ca6c
komutlarını kullandım.
05223064f44d9b6f4840e5f59deadada9c25ca6c -> Bu commit aşağıdaki treedeki committir.
Ancak tek bir commit ile uğraşmayıp direk bütün commit'leri almak istiyorsanız
git merge işinizi görecektir. Bu sayede bütün commitleri aynı anda treenize eklemiş olursunuz.
upstream kısmı eğer birden fazla eklemek istiyorsanız değişebilir.
Örneğin: zl1 cihazına 2 farklı cihazdan güncelleme atmak için
git remote add oneplus3
Linkleri görebilmek için kayıt olmanız gerekmektedir
git remote add marlin
Linkleri görebilmek için kayıt olmanız gerekmektedir
2-) git fetch upstream
Birden çok eklemişseniz örneğin:
Kod:
git fetch oneplus3
ya da
Kod:
git fetch marlin
Buradaki amaç her eklenen repoya bir isim vermektir.
marlin'i eklemek istiyorsanız marlin linkine illa upstream değil marlin isminide verebilirsiniz. Bu sayede istediğiniz kadar repoyu ekleme imkanına sahip oluyorsunuz.
3-) git merge "commit-numarası" ya da "sürüm"
4-) git cherry-pick "commit-numarası"
Bu dört kalıp sizin kaynağınızı güncellemeye yarar.
Örneğin:
Ben zl1 cihazına oneplus3'ten bir paket / güncelleme / değişiklik atmak istiyorsam.
"git cherry-pick" ya da "git merge"komutları işimi görecektir.
Bunu yaparken sırasıyla
git remote add oneplus3
Linkleri görebilmek için kayıt olmanız gerekmektedir
git fetch oneplus3
git cherry-pick 05223064f44d9b6f4840e5f59deadada9c25ca6c
komutlarını kullandım.
05223064f44d9b6f4840e5f59deadada9c25ca6c -> Bu commit aşağıdaki treedeki committir.
Ancak tek bir commit ile uğraşmayıp direk bütün commit'leri almak istiyorsanız
git merge işinizi görecektir. Bu sayede bütün commitleri aynı anda treenize eklemiş olursunuz.
Etiket Sistemi
Örneğin: Bir commit attınız. Ve projenizin kafanızdaki birinci kısmını tamamladınız. Bu son commite hadi 1.0.0 diyelim ve bir nevi save/load işlemi yapalım.
Yapmanız gereken şey :
git tag 1.0.0 "commit-numarası"
kalıbını kullanmaktır.
1.0.0 yerine 0.2.1 ya da değişik sürümlerde kullanabilirsiniz afaki olarak örnekledim
Yapmanız gereken şey :
git tag 1.0.0 "commit-numarası"
kalıbını kullanmaktır.
1.0.0 yerine 0.2.1 ya da değişik sürümlerde kullanabilirsiniz afaki olarak örnekledim
Kayıt Bilgisi Alma
Kod:
git log
komutu işinizi görecek.
En son hangi commitler ne zaman kim tarafından atılmış başlıkları ve kimlikleriyle görülür.
Yapmanız gereken şey kaynağınızın ana dizininde komutu vermek.
Daha sonra terminal penceresinde çıkacaktır.
Görsel olarak anlamak için aşağıdaki videoyu başlatarak, açılan saniyeden sonrasını inceleyebilirsiniz.
Medyaları görmek için kayıt olmalısınız
Commit İmzalama
"git commit" kısmından sonra "-s" eklenirse commit sizin tarafınızdan imzalanmış olur.
Örneğin:
git commit -s .
Komutu ile bir commit atarsam aşağıdaki gibi görünecektir:
İmza sistemi bunu ekleyerek sizin commitiniz olduğunu sizin tarafınızdan özgün şekilde atıldığını sağlamaya yarar.
"Signed-off-by: Mbtt <harddeath13@gmail.com>"
Örneğin:
git commit -s .
Komutu ile bir commit atarsam aşağıdaki gibi görünecektir:
Kod:
Extend build script options
Set devices codename when running build script instead of asking in the middle of process.
Update readme accordingly to this.
Signed-off-by: Mbtt <harddeath13@gmail.com>
İmza sistemi bunu ekleyerek sizin commitiniz olduğunu sizin tarafınızdan özgün şekilde atıldığını sağlamaya yarar.
"Signed-off-by: Mbtt <harddeath13@gmail.com>"
Github Projelerine Katkıda Bulunma
Github projelerinde başka projelere katkı yapmayı anlatan kısımdır.
Basitçe 5 adımdan oluşur. "$" ile başlayan satırlar terminale girilmesi gereken kodlardır.
1-) Projeyi kendi hesabınıza kopyalayın.
İstediğiniz projenin sayfasını açıp üst sağda bulunan fork butonuna tıklayın bu projeyi sizin github hesabınıza aktaracaktır.
Örneğin ana kaynak "
Siz aktardıktan sonra sizin hesabınızda;
"
yani bu adreste olacaktır.
2-) Projeyi yerel diskinize indirin.
Git programını kullanmayı bildiğinizi varsayarak projeyi diskinize git clone yöntemiyle indirin.
Örneğin: "$ git clone
Bu kısımları daha önce anlattığım gibi gerçekleştirin.
Mutlaka dosya ekleme commit atma kısımlarını okuyun.
3-) Projede istediğiniz düzenlemeleri yapın.
Değiştirmek istediğiniz yerleri değiştirin. Yapmak istediğiniz değişiklikleri yapın.
Daha sonrasında hepsinin bittiğine emin olun ve kaydedin.
4-) Projede yaptığınız değişiklikleri yüklemek için katkıda bulunmak istediğiniz kaynağı tanıtın.
Yani burada bizim değişikliği göndermek istediğimiz kaynağı tanıtarak buraya değişikliği göndermenin yolunu açacağız.
Bunun için : "git remote add upstream" kodu kullanılır. Ki bu sizin kaynağınızdan yapılan değişiklikleri algılayıp yüklemek istediğiniz kaynağa iletmeye yardımcı olur.
Örneğin ben sürücü düzeltmesini yaptıktan sonra şu komutu vermeliyim :
$ git remote add upstream
Daha fazla bilgi için güncelleme & senkronize etme kısmını okuyun.
5-) Değişiklikleri yükleyin.
Aşağıdaki komutlar değişiklikleri yüklemenizi sağlar.
xxxxx-> Olarak bahsettiğim yer sürümdür (branch) cm-14.1 ya da mr1-nougat gibi
Örneğin:
Ve github hesabınızdaki kaynağa gidin. Üstte "Compare & pull request" şeklinde bir buton belirecektir.
Tıklayın ve daha sonra gelen arayüzde aşağı tarafa bakın burası değişikleri onaylayıp katkıda bulunmak istediğimiz kaynağa gönderecek olan butondur.
Bundan önce üst bara bir değişiklik mesajı yazmalısınız ki "Driver comp. && Mount block fix" yazmıştım ben. Bu değişikliklere uygun commit mesajınızı geçtikten sonra aşağıdaki büyük panele ise açıklama içeren bir metin yazabilirsiniz.
Ancak çokta zorlamayın ingiliççeyi kısa ve öz olması iyidir.
Aşağıda bahsettiğim create pull request butonuna hepsinden sonra tıklayın ve değişikliği katkıda bulunmak istediğiniz projeye gönderin.
Daha sonra bu isteği kontrol edip geliştiricileri onay ya da red vereceklerdir.
Basitçe 5 adımdan oluşur. "$" ile başlayan satırlar terminale girilmesi gereken kodlardır.
1-) Projeyi kendi hesabınıza kopyalayın.
İstediğiniz projenin sayfasını açıp üst sağda bulunan fork butonuna tıklayın bu projeyi sizin github hesabınıza aktaracaktır.
Örneğin ana kaynak "
Linkleri görebilmek için kayıt olmanız gerekmektedir
" adresinde iseSiz aktardıktan sonra sizin hesabınızda;
"
Linkleri görebilmek için kayıt olmanız gerekmektedir
"yani bu adreste olacaktır.
2-) Projeyi yerel diskinize indirin.
Git programını kullanmayı bildiğinizi varsayarak projeyi diskinize git clone yöntemiyle indirin.
Örneğin: "$ git clone
Linkleri görebilmek için kayıt olmanız gerekmektedir
-b test-1 box/source"şeklinde bir komut kullanmalısınız.Bu kısımları daha önce anlattığım gibi gerçekleştirin.
Mutlaka dosya ekleme commit atma kısımlarını okuyun.
3-) Projede istediğiniz düzenlemeleri yapın.
Değiştirmek istediğiniz yerleri değiştirin. Yapmak istediğiniz değişiklikleri yapın.
Daha sonrasında hepsinin bittiğine emin olun ve kaydedin.
4-) Projede yaptığınız değişiklikleri yüklemek için katkıda bulunmak istediğiniz kaynağı tanıtın.
Yani burada bizim değişikliği göndermek istediğimiz kaynağı tanıtarak buraya değişikliği göndermenin yolunu açacağız.
Bunun için : "git remote add upstream" kodu kullanılır. Ki bu sizin kaynağınızdan yapılan değişiklikleri algılayıp yüklemek istediğiniz kaynağa iletmeye yardımcı olur.
Örneğin ben sürücü düzeltmesini yaptıktan sonra şu komutu vermeliyim :
$ git remote add upstream
Linkleri görebilmek için kayıt olmanız gerekmektedir
Daha fazla bilgi için güncelleme & senkronize etme kısmını okuyun.
5-) Değişiklikleri yükleyin.
Aşağıdaki komutlar değişiklikleri yüklemenizi sağlar.
Kod:
git pull upstream xxxx
Kod:
git push -u origin xxxxx
xxxxx-> Olarak bahsettiğim yer sürümdür (branch) cm-14.1 ya da mr1-nougat gibi
Örneğin:
Kod:
git pull upstream cm-14.1
Kod:
git push -u origin cm-14.1
Ve github hesabınızdaki kaynağa gidin. Üstte "Compare & pull request" şeklinde bir buton belirecektir.
Tıklayın ve daha sonra gelen arayüzde aşağı tarafa bakın burası değişikleri onaylayıp katkıda bulunmak istediğimiz kaynağa gönderecek olan butondur.
Bundan önce üst bara bir değişiklik mesajı yazmalısınız ki "Driver comp. && Mount block fix" yazmıştım ben. Bu değişikliklere uygun commit mesajınızı geçtikten sonra aşağıdaki büyük panele ise açıklama içeren bir metin yazabilirsiniz.
Ancak çokta zorlamayın ingiliççeyi kısa ve öz olması iyidir.
Aşağıda bahsettiğim create pull request butonuna hepsinden sonra tıklayın ve değişikliği katkıda bulunmak istediğiniz projeye gönderin.
Daha sonra bu isteği kontrol edip geliştiricileri onay ya da red vereceklerdir.
Github Manifest Kullanımı
Bu kısım sadece Linux kullanıcıları içindir, Windows'ta işe yaramaz.
1-) Repo Aracı Kurulumu
Repo aracı manifest dosyasını okuyup içeriğine göre belirtilen repoları çekebilen bir araçtır.
Kurmak için kök klasöründe bir terminal açıp aşağıdaki komutları verin.
2-) Repo Aracı Kullanımı
Aşağıdaki komut manifest adresini belirtir.
Örneğin:
Aşağıdaki komut bu manifestin içerdiği repoları indirmeye başlar.
3-) Manifest Ve İçerik Düzenlemesi
Bir manifest dosyası .xml uzantısında olup aşağıdaki gibi görünür.
NOT: Birden fazla remote ekleyebilirsiniz.
Bunun yolu aşağıdaki gibi ilk kısmı bir daha ekleyip burayıda kendinize göre düzenleyin.
Bileşenleri:
- name: Repo ismi. Buranın Karşısına reponun ismini Sahip_adı/repo_adı olarak yazın.
- path: Reponun indirileceği dizin. Buranın karşısına reponun indirileceği dizini reponun/ineceği/dizin olarak yazın.
- remote: Eğer birden fazla remote girmişseniz hangisi olduğunu buraya yazın. Buraya yukarıda belirttiğimiz remote kaynaklarının isimlerini yazın. Örneğin a kaynağından bir dosya çekiyorsanız o dosyanın remote bölümüne o kaynağın ismini yazın.
- revision: Repo sürümü. İndirmek istediğiniz reponun branchıdır. Burada cm-14.1 ya da lineage-15.1 sürümler yazacaksınız.
Örneğin:
gibi.
Manifesti hazırladıktan sonra github kaynağına yükleyip, ardından 1. ve 2. adımdaki işlemleri uygulayın.
1-) Repo Aracı Kurulumu
Repo aracı manifest dosyasını okuyup içeriğine göre belirtilen repoları çekebilen bir araçtır.
Kurmak için kök klasöründe bir terminal açıp aşağıdaki komutları verin.
Kod:
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
2-) Repo Aracı Kullanımı
Aşağıdaki komut manifest adresini belirtir.
Kod:
repo init -u repo_adresi -b repo_sürümü
Örneğin:
Kod:
repo init -u https://github.com/LineageOS/android.git -b lineage-15.1
Aşağıdaki komut bu manifestin içerdiği repoları indirmeye başlar.
Kod:
repo sync
3-) Manifest Ve İçerik Düzenlemesi
Bir manifest dosyası .xml uzantısında olup aşağıdaki gibi görünür.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="remote_name"
fetch="https://github.com/fetch_address"
revision="branch" />
<!--Repositories-->
<project name="Username/repository_name" path="path/to/repository" remote="remote_name" revision="branch" />
<project name="Username/repository_name" path="path/to/repository" remote="remote_name" revision="branch" />
<project name="Username/repository_name" path="path/to/repository" remote="remote_name" revision="branch" />
</manifest>
NOT: Birden fazla remote ekleyebilirsiniz.
Bunun yolu aşağıdaki gibi ilk kısmı bir daha ekleyip burayıda kendinize göre düzenleyin.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="remote_name"
fetch="https://github.com/fetch_address"
revision="branch" />
<remote name="remote_name2"
fetch="https://github.com/fetch_address2"
revision="branch2" />
Bileşenleri:
- name: Repo ismi. Buranın Karşısına reponun ismini Sahip_adı/repo_adı olarak yazın.
- path: Reponun indirileceği dizin. Buranın karşısına reponun indirileceği dizini reponun/ineceği/dizin olarak yazın.
- remote: Eğer birden fazla remote girmişseniz hangisi olduğunu buraya yazın. Buraya yukarıda belirttiğimiz remote kaynaklarının isimlerini yazın. Örneğin a kaynağından bir dosya çekiyorsanız o dosyanın remote bölümüne o kaynağın ismini yazın.
- revision: Repo sürümü. İndirmek istediğiniz reponun branchıdır. Burada cm-14.1 ya da lineage-15.1 sürümler yazacaksınız.
Örneğin:
XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="Mbtt"
fetch="https://github.com/Mbtt107"/>
<remote name="muppets"
fetch="https://github.com/TheMuppets"/>
<!--Repositories-->
<project name="Mbtt107/android_device_sega_tetris" path="device/sega/tetris" remote="Mbtt" revision="cm-14.1-custom" />
<project name="Mbtt107/android_kernel_sega_tetris" path="kernel/sega/tetris" remote="Mbtt" revision="cm-14.1-custom" />
<project name="TheMuppets/proprietary_vendor_tetris" path="vendor/tetris" remote="muppets" revision="cm-14.1" />
</manifest>
gibi.
Manifesti hazırladıktan sonra github kaynağına yükleyip, ardından 1. ve 2. adımdaki işlemleri uygulayın.
Son düzenleme: