Depo, birden fazla depoda çalışmayı basitleştirerek Git'i tamamlar. Örneğin, hakkında daha fazla bilgi edinmek için bkz. Kaynak kontrol araçları. Daha fazla hakkında ayrıntılı bilgi için Kod deposu BENİOKU
Depo kullanımı şu biçimdedir:
repo command options
İsteğe bağlı öğeler köşeli parantez [] içinde gösterilmiştir. Örneğin, birçok komutta project-list adresini bağımsız değişken olarak kullanın. project-list belirtebilirsiniz öğesi için adların listesi veya yerel kaynak dizinlere giden yolların listesi olarak projeler:
repo sync [project0 project1 ... projectn]
repo sync [/path/to/project0 ... /path/to/projectn]
yardım
repo help
repo
komutuyla ilgili yardım sağlar. Web sitenizdeki bir
seçenek olarak bir komut belirten özel Repo komutu:
repo help command
Örneğin, aşağıdaki komut bir açıklama ve seçenekler listesi sağlar
init
komutu için:
repo help init
Alternatif olarak, yalnızca bir komutla ilgili kullanılabilir seçeneklerin listesini görmek için şu komutu çalıştırın:
repo command --help
Örnek:
repo init --help.
başlat
repo init -u url [options]
Depoyu geçerli dizine yükler. Bu komut bir .repo/
oluşturur
için Git kod depolarının bulunduğu dizin ve
standart Android manifest dosyaları için geçerlidir.
Seçenekler:
-u
: Manifest deposunun alınacağı URL'yi belirtin. Yaygın manifesto şu adreste bulunur:https://android.googlesource.com/platform/manifest
.-m
: Depoda bir manifest dosyası seçin. Manifest adı yoksa seçili, varsayılan değerdefault.xml
.-b
: Bir düzeltme, yani belirli bir manifest-branch belirtin.
senkronizasyon
repo sync [project-list]
Yeni değişiklikleri indirir ve yerel ortamınızdaki çalışma dosyaları günceller.
temel olarak tüm Git depolarında git fetch
tamamlamaktadır. Şu anda
repo sync
bağımsız değişkeni olmadan, dosyaları tüm projeler için senkronize eder.
repo sync
çalıştırıldığında şunlar olur:
Proje daha önce hiç senkronize edilmediyse
repo sync
, şuna eşdeğerdir:git clone
; uzak depodaki tüm dallar yerel depoya kopyalanır proje dizinini oluşturur.Proje daha önce senkronize edilmişse
repo sync
eşdeğerdir alıcı:git remote update git rebase origin/branch
Burada branch, yerel düzeydeki mevcut ödeme dalıdır proje dizinini oluşturur. Yerel şube, uzaktaki bir dalı izlemiyorsa bir senkronizasyon işlemi yapmayı seçerseniz proje için herhangi bir senkronizasyon gerçekleşmez.
repo sync
başarılı bir şekilde çalıştırıldıktan sonra, belirtilen projelerdeki kod
güncel ve uzak depodaki kodla senkronize edildi.
Anahtar seçenekler:
-c
: Sunucudan yalnızca geçerli manifest dalını getirin.-d
: Belirtilen projeleri manifest düzeltmesine geri döndürür. Bu seçenek proje bir konu dalındaysa, ancak manifesto revizyonu geçici olarak gereklidir.-f
: Bir proje senkronize edilemediğinde bile diğer projeleri senkronize etmeye devam edin.threadcount
: Senkronizasyonu ileti dizileri arasında paylaştırın. daha hızlı tamamlamayı sağlar. Makinenizi bunaltmadığınızdan emin olun ve CPU'nun bir kısmını bırakın farklı görevler için ayrılabilir. Kullanılabilir CPU sayısını görmek için öncenproc --all
-q
: Durum mesajlarını gizleyerek sessizce çalışır.-s
:manifest-server
öğesi tarafından belirtilen, bilinen iyi bir derlemeyle senkronize edin ekleyin.
Diğer seçenekler için repo help sync
komutunu çalıştırın.
yükle
repo upload [project-list]
Değişiklikleri inceleme sunucusuna yükler. Repo, belirtilen projeler için son depo senkronizasyonu sırasında güncellenen uzak dallara yerel dallar. Depo, henüz açılmamış olan dallardan bir veya daha fazlasını seçmenizi yüklenmek üzere yüklendi.
Seçilen dallardaki tüm taahhütler daha sonra HTTPS bağlantısı. Yüklemeyi etkinleştirmek için bir HTTPS şifresi yapılandırmanız gerekir yetkilendirme. HTTPS üzerinden kullanmak üzere yeni bir kullanıcı adı/şifre çifti oluşturmak için şurayı ziyaret edin: Şifre oluşturma aracı.
Gerrit, nesne verilerini sunucusu üzerinden aldığında her bir
İncelemecilerin belirli bir kayıt hakkında yorum yapabilmesi için bir değişikliği taahhüt etme.
Birkaç kontrol noktası kaydını tek bir kayıtta birleştirmek için git rebase -i
kullanın
.
repo upload
öğesini bağımsız değişken olmadan çalıştırırsanız şu sorgu için tüm projelerde arama yapılır:
değişiklik yapabilirsiniz.
Değişiklikleri yüklendikten sonra düzenlemek için git rebase -i
veya
Yerel taahhütlerinizi güncellemek için git commit --amend
. Düzenlemelerinizi yaptıktan sonra
tamamlandı:
- Güncellenen dalın, çıkış yapılan geçerli dal olduğunu doğrulayın.
- Değişiklik eşleştirme düzenleyicisini açmak için
repo upload --replace PROJECT
öğesini kullanın. Serideki her bir kaydetme 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 replacements # Insert change numbers in the brackets to add a new patch set. # To create a new change record, leave the brackets empty.
Yükleme işlemi tamamlandıktan sonra değişiklikler için ek bir yama grubu uygulanır.
Yalnızca şu anda kontrol edilmiş olan Git dalını yüklemek istiyorsanız
--current-branch
(veya kısaca --cbr
).
fark
repo diff [project-list]
Kaydetme işlemi ve çalışma ağacı arasındaki önemli değişiklikleri göstermek için
git diff
indir
repo download target change
Belirtilen değişikliği inceleme sisteminden indirir ve şurada kullanılabilir hale getirir: yerel çalışma dizinine ekleyin.
Örneğin,
23823'ü
platform/build
dizini:
repo download platform/build 23823
repo sync
çalıştırıldığında repo download
ile alınan tüm kayıtlar kaldırılır. Ya da
git checkout m/main
kullanarak uzak şubeyi kontrol edebilir.
herkes için
repo forall [project-list] -c command
Her projede verilen kabuk komutunu yürütür. Aşağıdaki ek
ortam değişkenleri repo forall
tarafından kullanılabilir:
REPO_PROJECT
, projenin benzersiz adına ayarlandı.REPO_PATH
, istemcinin köküne bağlı yoldur.REPO_REMOTE
, manifest'teki uzak sistemin adıdır.REPO_LREV
, manifestteki düzeltmenin adıdır. Bu ad, yerel izleme şubesinden yararlanabilirsiniz. Manifest dosyasını aktarmanız gerekiyorsa bu değişkeni kullanın komut dosyasını yerel olarak yürütülen Git komutuna dönüştürür.REPO_RREV
, tam olarak yazıldığı şekliyle manifestteki düzeltmenin adıdır dosyası olarak gönderin.
Seçenekler:
-c
: Yürütülecek komut ve bağımsız değişkenler. Komut, Kabuk konumu olarak iletildikten sonraki/bin/sh
ve tüm bağımsız değişkenler parametreleridir.-p
: Belirtilen komuttan önce proje başlıklarını gösterir. Bu boruların komutun stdin, stdout ve sterr akışlarına bağlanmasıyla elde edilir ve Tüm çıktıları, tek sayfalık bir belgede görüntülenen sürekli bir akışta birleştirme kabul edilir.-v
: Komutun stderr'e yazdığı mesajları gösterir.
budama
repo prune [project-list]
Zaten birleştirilmiş olan konuları ayıklar (siler).
start
repo start branch-name [project-list]
Belirtilen düzeltmeden başlayarak geliştirme için yeni bir dalı başlatır. manifest'ini kullanabilirsiniz.
BRANCH_NAME
bağımsız değişkeni, yaptığınız değişikliğin kısa bir açıklamasını sağlar
ne kadar önemli olduğunu
görmeye başladım. Bilmiyorsanız şu adı kullanabilirsiniz:
default
project-list
bağımsız değişkeni, bu konuya hangi projelerin katıldığını belirtir
görebilirsiniz.
status
repo status [project-list]
Çalışma ağacını hazırlık alanı (dizin) ve en son kaydetmeyle karşılaştırır her projede bu dalda (HEAD) kullanabilirsiniz. Şunun için özet satırı görüntüler: her dosyada bu üç durum arasında fark bulunur.
Yalnızca mevcut dalın durumunu görmek için repo status .
komutunu çalıştırın. Durum
proje bazında listelenen bilgilerdir. Projedeki her bir dosya için iki harfli
emin olun.
İlk sütundaki büyük bir harf, hazırlık alanının nasıl farklı olduğunu gösterir geri bildirim alabilirsiniz.
Mektup | Anlamı | Açıklama |
---|---|---|
- | Değiştirmedi | HEAD ve dizinde aynı |
A | Eklendi | HEAD klasöründe, dizinde değil |
M | Değiştirilme tarihi | HEAD öğesinde, dizinde değiştirildi |
D | Silindi | HEAD öğesinde, dizinde değil |
K | Yeniden adlandırıldı | HEAD öğesinde değil, dizinde yol değişti |
C | Kopyalandı | HEAD klasöründe değil, dizindeki başka bir klasörden kopyalandı |
T | Mod değişti | HEAD ve dizinde aynı içerik, mod değiştirildi |
U | Birleştirilmemiş | HEAD ve dizin arasında çakışma var; çözünürlük gerekli |
İkinci sütundaki küçük harf, çalışma dizininin dizine ekler.
Mektup | Anlamı | Açıklama |
---|---|---|
- | Yeni/bilinmeyen | Dizinde değil, iş ağacında |
m | Değiştirilme tarihi | Dizinde, iş ağacında, değiştirilmiş |
g | Silindi | Dizinde, iş ağacında değil |
Depo hatalarını işleme
git commit -a # Commit local changes first so they aren't lost. repo start branch-name # Start the branch git reset --hard HEAD@{1} # And reset the branch so that it matches the commit before repo start repo upload .
repo: error: no branches ready for upload
hatası,
repo start
oturumun başında çalıştırılmadı. Kurtarmak için şunları kontrol edebilirsiniz:
yeni bir dal başlatıp birleştirin.