Android koduyla çalışmak için Git (bir açık kaynak) sürüm kontrol sistemi) ve Repo (Google tarafından oluşturulmuş bir depo) yönetim aracı) ekleyebilirsiniz. Kaynak Kontrol Araçları'na bakın arasındaki ilişkinin açıklama kısmına Kod deposu, Git ve her araç için destekleyici dokümanların bağlantıları.
Akma
Android geliştirme süreci aşağıdaki temel iş akışını içerir:
repo start
kullanarak yeni bir konu dalı başlatın.- Dosyaları düzenleyin.
git add
kullanılarak aşama değişiklikleri.- Değişiklikleri
git commit
kullanarak kaydedin. repo upload
kullanarak değişiklikleri inceleme sunucusuna yükleyin.
Görevler
Android kod depolarında Git ve Repo ile çalışmak, yaygın olarak kullanılan görevleri içerir.
Komut | Açıklama |
---|---|
repo init |
Yeni bir istemciyi başlatır. |
repo sync |
İstemciyi depolarla senkronize eder. |
repo start |
Yeni bir dal başlatır. |
repo status |
Mevcut dalın durumunu gösterir. |
repo upload |
Değişiklikleri inceleme sunucusuna yükler. |
git add |
Dosyaları aşamalar. |
git commit |
Aşamalı dosyaları kaydeder. |
git branch |
Mevcut dalları gösterir. |
git branch [branch] |
Yeni bir konu dalı oluşturur. |
git checkout [branch] |
HEAD öğesini belirtilen dala değiştirir. |
git merge [branch] |
[branch] öğesini mevcut dala birleştirir. |
git diff |
Uygulanmamış değişikliklerin farklarını gösterir. |
git diff --cached |
Aşamalı değişikliklerin farklarını gösterir. |
git log |
Geçerli dalın geçmişini gösterir. |
git log m/[codeline].. |
Aktarılmayan kaydetmeleri gösterir. |
Kaynak indirmek için Repo'yu kullanma hakkında bilgi edinmek istiyorsanız Kaynağı İndirme ve Repo Komut Referansı.
İstemcileri senkronize etme
Dosyaları mevcut tüm projeler için senkronize etmek için:
repo sync
Seçili projelerin dosyalarını senkronize etmek için:
repo sync PROJECT0 PROJECT1 ... PROJECTN
Konu dalları oluşturma
Yeni bir projeye başladığınızda, yerel çalışma ortamınızda bir bir hata veya yeni bir özellik üzerinde çalışmaya başladığınızda olduğu gibi. Bir konu dalı Orijinal dosyaların kopyası olmayan; daha kapsamlı bir yerel şubeler oluşturmayı ve bunlar arasında geçiş yapmayı sağlayan, basit bir işlemdir. Dalları kullanarak projenizin bir yönünü size yardımcı olabilir. topic kullanma hakkında ilginç bir makale için dallar, Ayırma konu dalları ekleyin.
Repo'yu kullanarak bir konu dalı oluşturmak için projeye gidip şu komutu çalıştırın:
repo start BRANCH_NAME .
Sonraki dönem ( .
), mevcut çalışmadaki projeyi temsil eder
dizin.
Yeni dalın oluşturulduğunu doğrulamak için:
repo status .
Konu dallarını kullanma
Dalı belirli bir projeye atamak için:
repo start BRANCH_NAME PROJECT_NAME
Tüm projelerin listesi için android.googlesource.com adresine gidin. Proje dizinine zaten gittiyseniz temsil eder.
Yerel çalışma ortamınızda başka bir dala geçmek için:
git checkout BRANCH_NAME
Mevcut dalların listesini görüntülemek için:
git branch
veya
repo branches
Her iki komut da başına yıldız (*) işareti eklenir.
Hazırlık dosyaları
Git, varsayılan olarak bir projede yaptığınız değişiklikleri fark eder ancak izlemez. Git'e değişikliklerinizi korumasını bildirmek için bu değişiklikleri işaretlemeniz veya hazırlamanız gerekir çeşitli değişiklikleri göz önünde bulundurun.
Aşama değişiklikleri:
git add
Bu komut, proje içindeki dosyalar veya dizinler için bağımsız değişkenleri kabul eder
dizin. Adı olsa da, git add
yalnızca
Git deposu; dosyalar üzerinde değişiklik yapmak ve dosya üzerinde
silme sayısı.
İstemci durumunu görüntüleme
Dosyaların durumunu listelemek için:
repo status
Onaylanmamış düzenlemeleri (kaydedilmek üzere işaretlenmemiş yerel düzenlemeler) görüntülemek için:
repo diff
Kaydedilen düzenlemeleri (bulunan ve işaretlenen düzenlemeler) görüntülemek için
taahhüt etmeniz gerekir), proje dizininde olduğunuzdan emin olun ve ardından cached
bağımsız değişkeniyle git
diff
komutunu çalıştırın:
cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached
Değişiklikler uygulanıyor
Taahhüt, Git'teki revizyon kontrolünün temel birimidir ve şunları içerir: tüm proje için dizin yapısının ve dosya içeriğinin anlık görüntüsü. Git'te bir kayıt oluşturmak için şu komutu kullanın:
git commit
Bir kayıt mesajı istendiğinde, şunun için kısa (ama faydalı) bir mesaj girin: AOSP'ye gönderilen değişiklikler. Bir kayıt mesajı eklemezseniz kaydetme işlemi başarısız olur.
Değişiklikler Gerrit'e yükleniyor
En son düzeltmeye güncelleyin ve değişikliği yükleyin:
repo sync
repo upload
Bu komutlar, yaptığınız değişikliklerin bir listesini döndürür ve sizden
inceleme sunucusuna yüklenecek dalları seçin. Yalnızca bir
daldığınızda basit bir y/n
istemi görürsünüz.
Senkronizasyon çakışmalarını çözme
repo sync
komutu senkronizasyon çakışmalarını döndürürse:
- Ayrılmış dosyaları görüntüleyin (durum kodu = U).
- Çakışan bölgeleri gerektiği gibi düzenleyin.
- İlgili proje dizinine geçin. Etkilenen kişileri ekleyin ve kaydedin
dosyaları yeniden oluşturun ve değişiklikleri yeniden temel alın:
git add .
git commit
git rebase --continue
- Yeniden temel oluşturma işlemi tamamlandıktan sonra tüm senkronizasyonu yeniden başlatın:
repo sync PROJECT0 PROJECT1 ... PROJECTN
.
İstemcileri temizleme
Değişiklikleri Gerrit'te birleştirdikten sonra yerel çalışma dizininizi güncelleyin, ardından
Eski konu dallarını güvenli bir şekilde kaldırmak için repo prune
:
repo sync
repo prune
İstemcileri silme
Tüm durum bilgileri istemcinizde saklandığından, tek yapmanız gereken dizini dosya sisteminizden silin:
rm -rf WORKING_DIRECTORY
İstemci silindiğinde henüz yapmadığınız tüm değişiklikler kalıcı olarak silinir yüklenmek üzere yüklendi.