Google, Siyah topluluklar için ırksal eşitliği ilerletmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Kaynak Kontrolü İş Akışı

Android koduyla çalışmak için Git (açık kaynaklı bir sürüm kontrol sistemi) ve Repo'nun (Git'in üstünde çalışan Google tarafından oluşturulmuş bir depo yönetim aracı) kullanılması gerekir. Repo ve Git arasındaki ilişkinin açıklaması ve her bir araç için destekleyici belgelere bağlantılar için bkz. Kaynak Kontrol Araçları .

Akış

Android geliştirme aşağıdaki temel iş akışını içerir:

  1. repo start kullanarak yeni bir konu dalı repo start .
  2. Dosyaları düzenleyin.
  3. git add kullanarak sahne alanı değişiklikleri.
  4. Değişiklikleri git commit kullanarak git commit .
  5. repo upload kullanarak değişiklikleri inceleme sunucusuna repo upload .

Görevler

Android kod depolarında Git ve Repo ile çalışmak, aşağıdaki ortak görevleri gerçekleştirmeyi içerir.

komuta Açıklama
repo init Yeni bir istemci başlatır.
repo sync İstemciyi depolarla eşitler.
repo start Yeni bir dal başlatır.
repo status Geçerli dalın durumunu gösterir.
repo upload Değişiklikleri inceleme sunucusuna yükler.
git add Dosyaları hazırlar.
git commit Hazırlanan dosyaları işler.
git branch Mevcut dalları gösterir.
git branch [branch] Yeni bir konu dalı oluşturur.
git checkout [branch] HEAD belirtilen dala değiştirir.
git merge [branch] [branch] Branşmanı [branch] mevcut branşta birleştirir.
git diff İşaretlenmemiş değişikliklerin farkını gösterir.
git diff --cached Aşamalı değişikliklerin farkını gösterir.
git log Geçerli dalın geçmişini gösterir.
git log m/[codeline].. Zorlanmayan taahhütleri gösterir.

Kaynağı indirmek için Repo kullanma hakkında bilgi için, bkz . Kaynağı İndirme ve Repo Komut Başvurusu .

İstemcileri senkronize etme

Mevcut tüm projeler için dosyaları senkronize etmek için:

repo sync

Seçilen projeler için dosyaları senkronize etmek için:

repo sync PROJECT0 PROJECT1 ... PROJECTN

Konu dalları oluşturma

Bir hata veya yeni özellik üzerinde çalışmaya başladığınızda olduğu gibi, her değişiklik başlattığınızda yerel çalışma ortamınızda bir konu dalı başlatın. Konu dalı, orijinal dosyaların bir kopyası değildir ; yerel şubeler oluşturmayı ve bunlar arasında hafif bir işlemi değiştirmeyi sağlayan belirli bir taahhüdün göstergesidir. Dalları kullanarak, çalışmanızın bir yönünü diğerlerinden ayırabilirsiniz. Konu dallarını kullanma hakkında ilginç bir makale için Konu dallarını ayırma konusuna bakın.

Repo kullanarak bir konu dalı başlatmak için projeye gidin ve çalıştırın:

repo start BRANCH_NAME .

Sondaki nokta (.) Geçerli çalışma dizinindeki projeyi temsil eder.

Yeni dalın oluşturulduğunu doğrulamak için:

repo status .

Konu dallarını kullanma

Şubeyi belirli bir projeye atamak için:

repo start BRANCH_NAME PROJECT_NAME

Tüm projelerin listesi için android.googlesource.com adresine bakın. Proje dizinine daha önce gittiyseniz, geçerli projeyi temsil etmek için bir nokta kullanın.

Yerel çalışma ortamınızdaki başka bir şubeye geçmek için:

git checkout BRANCH_NAME

Mevcut şubelerin bir listesini görüntülemek için:

git branch

veya

repo branches

Her iki komut da mevcut dalların listesini, başında yıldız işareti (*) olan geçerli dalın adıyla döndürür.

Dosyaları hazırlama

Git, varsayılan olarak bir projede yaptığınız değişiklikleri fark eder, ancak izlemez. Git'e değişikliklerinizi korumasını söylemek için, bu değişiklikleri bir taahhüde dahil edilmek üzere işaretlemeniz veya aşamalandırmanız gerekir.

Değişiklikleri düzenlemek için:

git add

Bu komut, proje dizinindeki dosyalar veya dizinler için bağımsız değişkenleri kabul eder. Adına rağmen git add sadece Git deposuna dosya git add kalmaz; dosya değişikliklerini ve silme işlemlerini aşamalı olarak yapmak için de kullanılabilir.

İstemci durumunu görüntüleme

Dosyaların durumunu listelemek için:

repo status

Kararsız düzenlemeleri (işlemek için işaretlenmemiş yerel düzenlemeler) görüntülemek için:

repo diff

Taahhütlü düzenlemeleri (kesinleştirme için işaretlenmiş düzenlemeler) görüntülemek için proje dizininde olduğunuzdan emin olun ve git diff cached bağımsız değişkenle çalıştırın:

cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached

Değişiklikleri taahhüt etme

Taahhüt , Git'teki temel revizyon kontrolü birimidir ve tüm proje için dizin yapısının ve dosya içeriğinin bir anlık görüntüsünü içerir. Git'te bir taahhüt oluşturmak için:

git commit

Bir taahhüt mesajı istendiğinde, AOSP'ye gönderilen değişiklikler için kısa (ancak yardımcı) bir mesaj verin. Bir taahhüt mesajı eklemezseniz, taahhüt iptal edilir.

Gerrit'teki değişiklikleri yükleme

En son düzeltmeyi güncelleyin ve değişikliği yükleyin:

repo sync
repo upload

Bu komutlar, taahhüt ettiğiniz değişikliklerin bir listesini döndürür ve inceleme sunucusuna yüklenecek dalları seçmenizi ister. Yalnızca bir dal varsa, basit bir y/n istemi görürsünüz.

Senkronizasyon çakışmalarını çözme

repo sync komutu eşitleme çakışmaları döndürürse:

  1. Birleştirilmemiş dosyaları görüntüleyin (durum kodu = U).
  2. Çakışma bölgelerini gerektiği gibi düzenleyin.
  3. İlgili proje dizinine geçin. Etkilenen dosyaları ekleyin ve uygulayın, ardından değişiklikleri yeniden adlandırın:
    git add .
    git commit
    git rebase --continue
    
  4. Rebase tamamlandıktan sonra, tüm senkronizasyonu tekrar başlatın:
    repo sync PROJECT0 PROJECT1 ... PROJECTN
    

İstemcileri temizleme

Gerrit'teki değişiklikleri birleştirdikten sonra, yerel çalışma dizininizi güncelleyin, ardından eski konu dallarını güvenle kaldırmak için repo prune kullanın:

repo sync
repo prune

İstemcileri silme

Tüm durum bilgileri istemcinizde saklandığından, dizini yalnızca dosya sisteminizden silmeniz gerekir:

rm -rf WORKING_DIRECTORY

Bir istemcinin silinmesi, incelenmek üzere yüklemediğiniz değişiklikleri kalıcı olarak siler .