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

Alur Kerja Kontrol Sumber

Bekerja dengan kode Android membutuhkan penggunaan Git (sistem kontrol versi open-source) dan Repo (alat manajemen repositori buatan Google yang berjalan di atas Git). Lihat Alat Kontrol Sumber untuk penjelasan tentang hubungan antara Repo dan Git dan tautan ke dokumentasi pendukung untuk setiap alat.

Mengalir

Pengembangan Android melibatkan alur kerja dasar berikut:

  1. Mulai cabang topik baru menggunakan repo start .
  2. Edit file.
  3. Perubahan git add menggunakan git add .
  4. Lakukan perubahan menggunakan git commit .
  5. Unggah perubahan ke server tinjauan menggunakan repo upload .

Tugas

Bekerja dengan Git dan Repo di repositori kode Android melibatkan melakukan tugas umum berikut.

Perintah Deskripsi
repo init Menginisialisasi klien baru.
repo sync Sinkronkan klien ke repositori.
repo start Memulai cabang baru.
repo status Menunjukkan status cabang saat ini.
repo upload Mengunggah perubahan ke server tinjauan.
git add Tahapan file.
git commit Melakukan file bertahap.
git branch Menunjukkan cabang saat ini.
git branch [branch] Membuat cabang topik baru.
git checkout [branch] Mengalihkan HEAD ke cabang yang ditentukan.
git merge [branch] Gabungkan [branch] menjadi cabang saat ini.
git diff Menunjukkan perbedaan dari perubahan yang tidak dipentaskan.
git diff --cached Menunjukkan perbedaan dari perubahan bertahap.
git log Menunjukkan sejarah cabang saat ini.
git log m/[codeline].. Menunjukkan komit yang tidak didorong.

Untuk informasi tentang menggunakan Repo untuk mengunduh sumber, lihat Mengunduh Sumber dan Referensi Perintah Repo .

Menyinkronkan klien

Untuk menyinkronkan file untuk semua proyek yang tersedia:

repo sync

Untuk menyinkronkan file untuk proyek yang dipilih:

repo sync PROJECT0 PROJECT1 ... PROJECTN

Membuat cabang topik

Mulai cabang topik di lingkungan kerja lokal Anda setiap kali Anda memulai perubahan, seperti saat Anda mulai mengerjakan bug atau fitur baru. Cabang topik bukanlah salinan dari file asli; ini adalah penunjuk ke komit tertentu, yang membuat pembuatan cabang lokal dan beralih di antaranya menjadi operasi ringan. Dengan menggunakan cabang, Anda dapat memisahkan satu aspek pekerjaan Anda dari yang lain. Untuk artikel menarik tentang penggunaan cabang topik, lihat Memisahkan cabang topik .

Untuk memulai cabang topik menggunakan Repo, navigasikan ke proyek dan jalankan:

repo start BRANCH_NAME .

Periode akhir (.) Mewakili proyek di direktori kerja saat ini.

Untuk memverifikasi bahwa cabang baru telah dibuat:

repo status .

Menggunakan cabang topik

Untuk menetapkan cabang ke proyek tertentu:

repo start BRANCH_NAME PROJECT_NAME

Untuk daftar semua proyek, lihat android.googlesource.com . Jika Anda sudah menavigasi ke direktori proyek, cukup gunakan titik untuk mewakili proyek saat ini.

Untuk beralih ke cabang lain di lingkungan kerja lokal Anda:

git checkout BRANCH_NAME

Untuk melihat daftar cabang yang ada:

git branch

atau

repo branches

Kedua perintah mengembalikan daftar cabang yang ada dengan nama cabang saat ini yang diawali dengan tanda bintang (*).

Pementasan file

Secara default, Git memperhatikan tetapi tidak melacak perubahan yang Anda buat dalam sebuah proyek. Untuk memberitahu Git untuk melestarikan perubahan, Anda harus menandai atau tahap perubahan-perubahan untuk dimasukkan dalam komit.

Untuk tahap perubahan:

git add

Perintah ini menerima argumen untuk file atau direktori di dalam direktori proyek. Terlepas dari namanya, git add tidak hanya menambahkan file ke repositori Git; itu juga dapat digunakan untuk modifikasi dan penghapusan file tahap.

Melihat status klien

Untuk membuat daftar status file:

repo status

Untuk melihat suntingan tanpa ikatan (suntingan lokal yang tidak ditandai untuk komit):

repo diff

Untuk melihat pengeditan yang dikomit (lokasi pengeditan yang ditandai untuk pengubahan), pastikan Anda berada di direktori proyek, lalu jalankan git diff dengan argumen yang di- cached :

cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached

Melakukan perubahan

Komit adalah unit dasar kontrol revisi di Git dan terdiri dari cuplikan struktur direktori dan konten file untuk keseluruhan proyek. Untuk membuat komit di Git:

git commit

Saat diminta untuk pesan komit, berikan pesan singkat (tapi membantu) untuk perubahan yang dikirimkan ke AOSP. Jika Anda tidak menambahkan pesan komit, komit dibatalkan.

Mengupload perubahan ke Gerrit

Perbarui ke revisi terbaru, lalu unggah perubahan:

repo sync
repo upload

Perintah ini mengembalikan daftar perubahan yang telah Anda lakukan dan meminta Anda memilih cabang yang akan diunggah ke server tinjauan. Jika hanya ada satu cabang, Anda akan melihat prompt y/n sederhana.

Menyelesaikan konflik sinkronisasi

Jika perintah repo sync mengembalikan konflik sinkronisasi:

  1. Lihat file yang dipisahkan (kode status = U).
  2. Edit daerah konflik seperlunya.
  3. Ubah ke direktori proyek yang relevan. Tambahkan dan komit file yang terpengaruh, lalu lakukan rebase perubahan:
    git add .
    git commit
    git rebase --continue
    
  4. Setelah rebase selesai, mulai seluruh sinkronisasi lagi:
    repo sync PROJECT0 PROJECT1 ... PROJECTN
    

Membersihkan klien

Setelah menggabungkan perubahan ke Gerrit, perbarui direktori kerja lokal Anda, kemudian gunakan repo prune untuk menghapus cabang topik basi dengan aman:

repo sync
repo prune

Menghapus klien

Karena semua informasi status disimpan di klien Anda, Anda hanya perlu menghapus direktori dari sistem file Anda:

rm -rf WORKING_DIRECTORY

Menghapus klien akan menghapus secara permanen setiap perubahan yang belum Anda unggah untuk ditinjau.