Google is committed to advancing racial equity for Black communities. See how.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Repo Komut Referansı

Depo, birden çok havuzda çalışmayı basitleştirerek Git'i tamamlar. Repo ve Git arasındaki ilişkinin açıklaması için Kaynak Kontrol Araçlarına bakın. Repo hakkında daha fazla bilgi için Repo README'ye bakınız.

Repo kullanımı aşağıdaki formu alır:

repo command options

İsteğe bağlı öğeler köşeli parantez [] içinde gösterilmiştir. Örneğin, birçok komut project-list argüman olarak alır. project-list , projeler için bir ad listesi veya yerel kaynak dizinlere giden yolların bir project-list olarak belirtebilirsiniz:

repo sync [project0 project1 ... projectn]
repo sync [/path/to/project0 ... /path/to/projectn]

Yardım

Bu sayfa yalnızca temel seçenekleri vurgular. Tüm ayrıntılar için komut satırı yardımına bakın. Repo kurulduğunda, aşağıdaki komutu çalıştırarak tüm komutların bir özetiyle başlayarak en son belgeleri bulabilirsiniz:

repo help

Bunu bir Repo ağacında çalıştırarak herhangi bir komutla ilgili ayrıntılı bilgileri görebilirsiniz:

repo help command

Örneğin, aşağıdaki komut Repo'nun init argümanı için bir açıklama ve seçenekler listesi verir, bu da Repo'yu geçerli dizinde başlatır. (Ayrıntılar için init'e bakın.)

repo help init

Veya yalnızca mevcut seçeneklerin listesini görmek için şunu çalıştırın:

repo command --help
Örneğin:
repo init --help

içinde

repo init -u url [options]

Repo'yu mevcut dizine kurar. Bu, Repo kaynak kodu ve standart Android bildirim dosyaları için Git depolarıyla bir .repo/ dizini oluşturur.

Seçenekler:

  • -u : Manifest havuzunun alınacağı URL'yi belirtin. Ortak bildiri https://android.googlesource.com/platform/manifest .
  • -m : Depo içinde bir bildirim dosyası seçin. Hiçbir bildirim adı seçilmezse, varsayılan değer default.xml .
  • -b : Bir revizyon, yani belirli bir manifest-branch belirtin.

Not: Kalan tüm Repo komutları için, geçerli çalışma dizini ya .repo/ üst dizini ya da ana dizinin bir alt dizini olmalıdır.

eşitleme

repo sync [project-list]

Yeni değişiklikleri indirir ve yerel ortamınızdaki çalışma dosyalarını günceller, esasen tüm Git depolarında git fetch gerçekleştirir. repo sync bağımsız değişkenler olmadan çalıştırırsanız, tüm projeler için dosyaları senkronize eder.

repo sync çalıştırdığınızda, şu olur:

  • Proje hiç senkronize edilmemişse, repo sync git clone ile eşdeğerdir. Uzak depodaki tüm şubeler yerel proje dizinine kopyalanır.

  • Proje daha önce senkronize edilmişse, repo sync şuna eşdeğerdir:

    git remote update
    git rebase origin/branch
    

    Burada branch , yerel proje dizininde halihazırda teslim alınmış daldır. Yerel şube uzak depodaki bir dalı izlemiyorsa, proje için senkronizasyon gerçekleşmez.

  • Git yeniden tabanlama işlemi birleştirme çakışmalarıyla sonuçlanırsa, çakışmaları çözmek için normal Git komutlarını (örneğin, git rebase --continue ) kullanın.

Başarılı bir repo sync çalışmasının ardından, belirtilen projelerdeki kod günceldir ve uzak depodaki kodla senkronize edilir.

İşte temel seçenekler. Daha fazlası için repo help sync bakın:

  • -c : Sunucudan yalnızca geçerli bildirim dalını getirir.

  • -d : Belirtilen projeleri manifest revizyonuna geri döndür. Bu, proje şu anda bir konu dalındaysa yararlıdır, ancak bildirim revizyonu geçici olarak gereklidir.

  • -f : Bir proje eşitlenemese bile diğer projeleri eşitlemeye devam edin.

  • -j threadcount : Daha hızlı tamamlanma için senkronizasyonu iş parçacıkları arasında bölün. Bazı CPU'ları diğer görevler için ayırarak makinenizi bunaltmamaya dikkat edin. Kullanılabilir CPU sayısını görmek için önce şunu çalıştırın: nproc --all

  • -q : Durum mesajlarını bastırarak sessizce çalıştırın.

  • -s : Geçerli bildiride manifest-server öğesi tarafından belirtildiği gibi bilinen iyi bir yapıya eşitleyin.

yükle

repo upload [project-list]

Belirtilen projeler için Repo, yerel şubeleri son Repo senkronizasyonu sırasında güncellenen uzak şubelerle karşılaştırır. Repo, incelenmek üzere yüklenmemiş bir veya daha fazla şubeyi seçmenizi ister.

Seçilen şubelerdeki tüm taahhütler daha sonra bir HTTPS bağlantısı üzerinden Gerrit'e iletilir. Yükleme yetkilendirmesini etkinleştirmek için bir HTTPS şifresi yapılandırmanız gerekir. HTTPS üzerinden kullanmak üzere yeni bir kullanıcı adı / şifre çifti oluşturmak için Şifre Oluşturucu'yu ziyaret edin.

Gerrit, nesne verilerini sunucusu üzerinden aldığında, gözden geçirenlerin belirli bir kaydetme hakkında yorum yapabilmesi için her kaydetmeyi bir değişikliğe dönüştürür. Birkaç denetim noktası kaydını tek bir işlemde birleştirmek için, yüklemeyi çalıştırmadan önce git rebase -i kullanın.

repo upload bağımsız değişken olmadan çalıştırırsanız, yüklenecek değişiklikleri tüm projeleri arar.

Yüklendikten sonra değişiklikleri düzenlemek için git rebase -i veya git commit --amend gibi bir araç kullanarak yerel taahhütlerinizi güncelleyin. Düzenlemeleriniz tamamlandıktan sonra:

  • Güncellenen şubenin şu anda kullanıma alınmış şube olduğunu doğrulayın.
  • Serideki her kayıt için, parantez içine Gerrit değişiklik kimliğini girin:
    # Replacing from branch foo
    [ 3021 ] 35f2596c Refactor part of GetUploadableBranches to lookup one specific...
    [ 2829 ] ec18b4ba Update proto client to support patch set replacments
    # Insert change numbers in the brackets to add a new patch set.
    # To create a new change record, leave the brackets empty.
    

Yükleme tamamlandıktan sonra, değişikliklerin ek bir yama seti olur.

Yalnızca halihazırda kullanıma alınmış Git dalını yüklemek istiyorsanız, --current-branch (veya --cbr ) bayrağını kullanın.

fark

repo diff [project-list]

git diff kullanarak commit ve çalışma ağacı arasındaki olağanüstü değişiklikleri gösterir.

indir

repo download target change

Belirtilen değişikliği inceleme sisteminden indirir ve projenizin yerel çalışma dizininde kullanılabilir hale getirir.

Örneğin, platform / yapı dizininize değişiklik 23823'ü indirmek için:

repo download platform/build 23823

repo sync çalıştırılması, repo download ile alınan tüm repo sync kaldırır. Veya git checkout m/master kullanarak uzak şubeyi kontrol edebilirsiniz.

Not: Dünya çapındaki tüm sunucularda çoğaltma gecikmeleri vardır, bu nedenle Web'de Gerrit'te bir değişikliğin görünmesi ile repo download tüm kullanıcılar için değişikliği bulması arasında hafif bir yansıtma gecikmesi vardır.

hepsi için

repo forall [project-list] -c command

Her projede verilen kabuk komutunu çalıştırır. Aşağıdaki ek ortam değişkenleri, repo forall tarafından sağlanır:

  • REPO_PROJECT , projenin benzersiz adına ayarlanır.

  • REPO_PATH , istemcinin köküne göre yoldur.

  • REPO_REMOTE , bildirimdeki uzak sistemin adıdır.

  • REPO_LREV , manifestten yerel bir izleme şubesine çevrilmiş revizyonun adıdır. Bildirim revizyonunu yerel olarak yürütülen bir Git komutuna iletmeniz gerekiyorsa bunu kullanın.

  • REPO_RREV , manifestte aynen yazıldığı gibi, manifestteki revizyonun adıdır.

Seçenekler:

  • -c : -c komut ve argümanlar. Komut, /bin/sh ve herhangi bir argüman aracılığıyla kabuk konumsal parametreleri olarak geçirildikten sonra değerlendirilir.

  • -p : Belirtilen komutun çıktısından önce proje başlıklarını gösterir. Bu, boruları komutun stdin, stdout ve sterr akışlarına bağlayarak ve tüm çıktıları tek bir çağrı oturumunda görüntülenen sürekli bir akışa aktararak elde edilir.

  • -v : Komutun stderr'e yazdığı mesajları gösterir.

kuru erik

repo prune [project-list]

Zaten birleştirilmiş konuları eritir (siler).

Başlat

repo start
branch-name [project-list]

Manifestte belirtilen revizyondan başlayarak geliştirme için yeni bir dal başlatır.

BRANCH_NAME argümanı, projelerde yapmaya çalıştığınız değişikliğin kısa bir açıklamasını sağlar. Bilmiyorsanız, default adı kullanmayı düşünün.

project-list argümanı, bu konu dalına hangi projelerin katıldığını belirtir.

Not: Nokta (.), Geçerli çalışma dizinindeki proje için kısaltmadır.

statü

repo status [project-list]

Çalışma ağacını, belirtilen her projede bu daldaki (HEAD) aşamalandırma alanı (dizin) ve en son yürütme ile karşılaştırır. Bu üç durum arasında bir farkın olduğu her dosya için bir özet satırı görüntüler.

Sadece mevcut şubenin durumunu görmek için repo status çalıştırın. Durum bilgisi projeye göre listelenir. Projedeki her dosya için iki harfli bir kod kullanılır.

İlk sütunda, büyük harf, hazırlama alanının son taahhüt edilen durumdan ne kadar farklı olduğunu gösterir.

Mektup Anlam Açıklama
- Değişiklik yok HEAD ve dizinde aynı
Bir Katma HEAD'de değil, dizinde
M Değiştirilmiş HEAD'de, dizinde değiştirildi
D silindi HEAD'de, dizinde değil
R Yeniden adlandırıldı HEAD'de değil, dizinde yol değişti
C Kopyalandı HEAD'de değil, başka bir dizinden kopyalandı
T Mod değişti HEAD ve dizinde aynı içerik, mod değişti
U Birleştirilmemiş HEAD ve dizin arasında çelişki; çözünürlük gerekli

İkinci sütunda, küçük harf, çalışma dizininin dizinden nasıl farklı olduğunu gösterir.

Mektup Anlam Açıklama
- Yeni / bilinmeyen Dizinde değil, çalışma ağacında
m Değiştirilmiş Dizinde, çalışma ağacında, değiştirildi
d silindi Dizinde, çalışma ağacında değil