Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Halaman ini diterjemahkan oleh Cloud Translation API.
Switch to English

Referensi Perintah Repo

Repo melengkapi Git dengan menyederhanakan pekerjaan di banyak repositori. Lihat Alat Kontrol Sumber untuk penjelasan tentang hubungan antara Repo dan Git. Untuk detail lebih lanjut tentang Repo, lihat Repo README .

Penggunaan repo mengambil bentuk berikut:

repo command options

Elemen opsional ditampilkan dalam tanda kurung []. Misalnya, banyak perintah menggunakan project-list sebagai argumen. Anda dapat menentukan project-list sebagai daftar nama atau daftar jalur ke direktori sumber lokal untuk project tersebut:

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

Tolong

Halaman ini hanya menyoroti opsi-opsi utama. Lihat bantuan baris perintah untuk detail lengkapnya. Saat Repo diinstal, Anda dapat menemukan dokumentasi terbaru yang dimulai dengan ringkasan semua perintah dengan menjalankan:

repo help

Anda dapat melihat informasi rinci tentang perintah apa pun dengan menjalankan ini dalam pohon Repo:

repo help command

Misalnya, perintah berikut menghasilkan deskripsi dan daftar opsi untuk argumen init Repo, yang menginisialisasi Repo di direktori saat ini. (Lihat init untuk detailnya.)

repo help init

Atau untuk hanya melihat daftar opsi yang tersedia, jalankan:

repo command --help
Misalnya:
repo init --help

init

repo init -u url [options]

Menginstal Repo di direktori saat ini. Tindakan ini membuat direktori .repo/ dengan repositori Git untuk kode sumber Repo dan file manifes Android standar.

Pilihan:

  • -u : Tentukan URL untuk mengambil repositori manifes. Manifes umum dapat ditemukan di https://android.googlesource.com/platform/manifest .
  • -m : Pilih file manifes dalam repositori. Jika tidak ada nama manifes yang dipilih, defaultnya adalah default.xml .
  • -b : Tentukan revisi, yaitu manifest-branch tertentu.

Catatan: Untuk semua perintah Repo yang tersisa, direktori kerja saat ini harus berupa direktori induk .repo/ atau subdirektori dari direktori induk.

sinkronisasi

repo sync [project-list]

Mendownload perubahan baru dan mengupdate file yang berfungsi di lingkungan lokal Anda, yang pada dasarnya menyelesaikan git fetch di semua repositori Git. Jika Anda menjalankan repo sync tanpa argumen, ini akan menyinkronkan file untuk semua proyek.

Saat Anda menjalankan repo sync , inilah yang terjadi:

  • Jika proyek belum pernah disinkronkan, sinkronisasi repo sync sama dengan git clone . Semua cabang di repositori jarak jauh disalin ke direktori proyek lokal.

  • Jika proyek telah disinkronkan sebelumnya, repo sync setara dengan:

    git remote update
    git rebase origin/branch
    

    di mana branch adalah branch yang saat ini diperiksa di direktori proyek lokal. Jika cabang lokal tidak melacak cabang di repositori jarak jauh, maka tidak ada sinkronisasi yang terjadi untuk proyek tersebut.

  • Jika operasi Git rebase mengakibatkan konflik penggabungan, gunakan perintah Git normal (misalnya, git rebase --continue ) untuk menyelesaikan konflik.

Setelah repo sync berhasil dijalankan, kode dalam proyek yang ditentukan akan menjadi yang terbaru dan disinkronkan dengan kode di repositori jarak jauh.

Berikut adalah opsi utama. Lihat repo help sync untuk lebih lanjut:

  • -c : Ambil hanya cabang manifes saat ini dari server.

  • -d : Mengalihkan proyek yang ditentukan kembali ke revisi manifes. Ini berguna jika proyek saat ini berada di cabang topik, tetapi revisi manifes diperlukan untuk sementara.

  • -f : Lanjutkan dengan menyinkronkan proyek lain meskipun proyek gagal disinkronkan.

  • -j threadcount : Pisahkan sinkronisasi di semua utas untuk penyelesaian lebih cepat. Pastikan untuk tidak membebani mesin Anda dengan membiarkan beberapa CPU dicadangkan untuk tugas lain. Untuk melihat jumlah CPU yang tersedia, pertama-tama jalankan: nproc --all

  • -q : Jalankan secara diam-diam dengan menekan pesan status.

  • -s : Sinkronkan ke build bagus yang diketahui seperti yang ditentukan oleh elemen manifest-server dalam manifes saat ini.

unggah

repo upload [project-list]

Untuk proyek tertentu, Repo membandingkan cabang lokal dengan cabang jarak jauh yang diperbarui selama sinkronisasi Repo terakhir. Repo meminta Anda untuk memilih satu atau lebih cabang yang belum diunggah untuk ditinjau.

Semua komit di cabang yang dipilih kemudian dikirim ke Gerrit melalui koneksi HTTPS. Anda perlu mengonfigurasi sandi HTTPS untuk mengaktifkan otorisasi unggahan. Kunjungi Penghasil Kata Sandi untuk membuat pasangan nama pengguna / kata sandi baru untuk digunakan melalui HTTPS.

Ketika Gerrit menerima data objek melalui servernya, itu mengubah setiap komit menjadi perubahan sehingga peninjau dapat mengomentari komit tertentu. Untuk menggabungkan beberapa komit checkpoint menjadi satu komit, gunakan git rebase -i sebelum Anda menjalankan unggahan.

Jika Anda menjalankan repo upload tanpa argumen, itu mencari semua proyek untuk perubahan yang akan diunggah.

Untuk mengedit perubahan setelah diunggah, gunakan alat seperti git rebase -i atau git commit --amend untuk memperbarui komit lokal Anda. Setelah pengeditan Anda selesai:

  • Verifikasi bahwa cabang yang diperbarui adalah cabang yang saat ini diperiksa.
  • Untuk setiap komit dalam rangkaian, masukkan ID perubahan Gerrit di dalam tanda kurung:
    # 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.
    

Setelah pengunggahan selesai, perubahan memiliki set tambalan tambahan.

Jika Anda hanya ingin mengunggah cabang Git yang saat ini diperiksa, gunakan flag --current-branch (atau --cbr singkatnya).

beda

repo diff [project-list]

Menunjukkan perubahan luar biasa antara komit dan pohon kerja menggunakan git diff .

unduh

repo download target change

Mendownload perubahan yang ditentukan dari sistem review dan membuatnya tersedia di direktori kerja lokal proyek Anda.

Misalnya, untuk mendownload perubahan 23823 ke direktori platform / build Anda:

repo download platform/build 23823

Menjalankan repo sync menghapus komit yang diambil dengan repo download . Atau Anda dapat memeriksa cabang jarak jauh menggunakan git checkout m/master .

Catatan: Ada penundaan replikasi untuk semua server di seluruh dunia, jadi ada sedikit jeda pencerminan antara saat perubahan terlihat di web di Gerrit dan saat repo download dapat menemukan perubahan untuk semua pengguna.

untuk semua

repo forall [project-list] -c command

Menjalankan perintah shell yang diberikan di setiap proyek. Variabel lingkungan tambahan berikut disediakan oleh repo forall :

  • REPO_PROJECT disetel ke nama unik proyek.

  • REPO_PATH adalah jalur yang berhubungan dengan akar klien.

  • REPO_REMOTE adalah nama sistem jarak jauh dari manifes.

  • REPO_LREV adalah nama revisi dari manifes, diterjemahkan ke cabang pelacakan lokal. Gunakan ini jika Anda perlu meneruskan revisi manifes ke perintah Git yang dijalankan secara lokal.

  • REPO_RREV adalah nama revisi dari manifes, persis seperti yang tertulis di manifes.

Pilihan:

  • -c : Perintah dan argumen untuk dieksekusi. Perintah dievaluasi melalui /bin/sh dan setiap argumen setelah diteruskan sebagai parameter posisi shell.

  • -p : Menampilkan tajuk proyek sebelum keluaran dari perintah yang ditentukan. Ini dicapai dengan mengikat pipa ke aliran stdin, stdout, dan sterr perintah, dan menyalurkan semua output ke aliran berkelanjutan yang ditampilkan dalam sesi halaman tunggal.

  • -v : Menampilkan pesan yang ditulis oleh perintah ke stderr.

memangkas

repo prune [project-list]

Memangkas (menghapus) topik yang sudah digabungkan.

Mulailah

repo start
branch-name [project-list]

Memulai cabang baru untuk pengembangan, dimulai dari revisi yang ditentukan dalam manifes.

Argumen BRANCH_NAME memberikan deskripsi singkat tentang perubahan yang Anda coba lakukan pada proyek. Jika Anda tidak tahu, pertimbangkan untuk menggunakan nama default .

Argumen project-list proyek menentukan proyek mana yang berpartisipasi dalam cabang topik ini.

Catatan: Titik (.) Adalah singkatan dari proyek di direktori kerja saat ini.

status

repo status [project-list]

Membandingkan pohon kerja dengan staging area (indeks) dan komit terbaru pada cabang ini (HEAD) di setiap proyek yang ditentukan. Menampilkan garis ringkasan untuk setiap file yang terdapat perbedaan antara ketiga status ini.

Untuk melihat status cabang saat ini saja, jalankan repo status . Informasi status dicantumkan menurut proyek. Untuk setiap file dalam proyek, kode dua huruf digunakan.

Di kolom pertama, huruf besar menunjukkan bagaimana area pementasan berbeda dari status komitmen terakhir.

Surat Berarti Deskripsi
- Tidak ada perubahan Sama di HEAD dan index
SEBUAH Ditambahkan Bukan di HEAD, di indeks
M Diubah Di HEAD, diubah dalam indeks
D Dihapus Di HEAD, bukan di indeks
R Berganti nama Bukan di HEAD, jalur diubah di indeks
C Disalin Bukan di HEAD, disalin dari yang lain di indeks
T Mode berubah Konten yang sama di HEAD dan indeks, mode berubah
U Tidak digabungkan Konflik antara HEAD dan indeks; resolusi diperlukan

Di kolom kedua, huruf kecil menunjukkan bagaimana direktori kerja berbeda dari indeks.

Surat Berarti Deskripsi
- Baru / tidak diketahui Bukan di indeks, di pohon kerja
m Diubah Dalam indeks, di pohon kerja, dimodifikasi
d Dihapus Di indeks, bukan di pohon kerja