Bekerja dengan kode Android memerlukan penggunaan Git (sumber terbuka sistem kontrol versi) dan Repo (repositori yang dibuat Google manajemen proyek yang dijalankan di atas Git). Lihat Alat Kontrol Sumber untuk penjelasan tentang hubungan antara Repo dan Git serta link ke dokumentasi pendukung untuk setiap alat.
Aliran
Pengembangan Android melibatkan alur kerja dasar berikut:
- Mulai cabang topik baru menggunakan
repo start
. - Edit file.
- Perubahan tahap menggunakan
git add
. - Commit perubahan menggunakan
git commit
. - Upload perubahan ke server ulasan menggunakan
repo upload
.
Tasks
Bekerja dengan Git dan Repo di repositori kode Android melibatkan melakukan tugas-tugas umum berikut.
Perintah | Deskripsi |
---|---|
repo init |
Melakukan inisialisasi klien baru. |
repo sync |
Menyinkronkan klien ke repositori. |
repo start |
Memulai cabang baru. |
repo status |
Menampilkan status cabang saat ini. |
repo upload |
Mengunggah perubahan ke server tinjauan. |
git add |
Melakukan tahapan pada file. |
git commit |
Melakukan commit file bertahap. |
git branch |
Menampilkan cabang saat ini. |
git branch [branch] |
Membuat cabang topik baru. |
git checkout [branch] |
Mengalihkan HEAD ke cabang yang ditentukan. |
git merge [branch] |
Menggabungkan [branch] ke cabang saat ini. |
git diff |
Menampilkan perbedaan dari perubahan yang tidak bertahap. |
git diff --cached |
Menampilkan perbedaan dari perubahan bertahap. |
git log |
Menampilkan histori cabang saat ini. |
git log m/[codeline].. |
Menunjukkan commit yang tidak didorong. |
Untuk informasi tentang cara menggunakan Repo untuk mendownload sumber, lihat Mendownload Sumber dan Referensi Perintah Repo.
Menyinkronkan klien
Untuk menyinkronkan file untuk semua project yang tersedia:
repo sync
Untuk menyinkronkan file untuk project yang dipilih:
repo sync PROJECT0 PROJECT1 ... PROJECTN
Membuat cabang topik
Mulai cabang topik di lingkungan kerja lokal Anda setiap kali Anda memulai seperti saat Anda mulai menangani bug atau fitur baru. Cabang topik bukan salinan dari file asli; ini adalah penunjuk ke commit tertentu, yang membuat pembuatan cabang lokal dan beralih di antara operasi yang ringan. Dengan menggunakan cabang, Anda dapat mengisolasi satu aspek dari pekerjaan Anda dari orang lain. Untuk artikel menarik tentang penggunaan topik cabang, merujuk ke Memisahkan cabang topik.
Untuk memulai cabang topik menggunakan Repo, buka project dan jalankan:
repo start BRANCH_NAME .
Titik terakhir ( .
) menunjukkan project dalam status berjalan saat ini
saat ini.
Untuk memverifikasi bahwa cabang baru telah dibuat:
repo status .
Menggunakan cabang topik
Untuk menetapkan cabang ke project tertentu:
repo start BRANCH_NAME PROJECT_NAME
Untuk mengetahui daftar semua project, lihat android.googlesource.com. Jika Anda sudah menavigasi ke direktori proyek, cukup gunakan tanda titik 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 tersebut menampilkan daftar cabang yang ada dengan nama cabang saat ini yang diawali dengan tanda bintang (*).
File staging
Secara default, Git melihat tetapi tidak melacak perubahan yang Anda buat dalam sebuah project. Untuk memberi tahu Git agar menyimpan perubahan, Anda harus menandai atau menyusun perubahan tersebut perubahan untuk disertakan dalam commit.
Untuk melakukan perubahan bertahap:
git add
Perintah ini menerima argumen untuk file atau direktori dalam project
saat ini. Terlepas dari namanya, git add
tidak hanya menambahkan file ke
repositori Git; dapat juga digunakan untuk
melakukan modifikasi pada file dan
penghapusan data.
Melihat status klien
Untuk menampilkan daftar status file:
repo status
Untuk melihat edit yang tidak di-commit (edit lokal yang tidak ditandai untuk commit):
repo diff
Untuk melihat edit yang di-commit (lokasi edit yang ditandai untuk
commit), pastikan Anda berada di direktori project lalu jalankan git
diff
dengan argumen cached
:
cd ~/WORKING_DIRECTORY/PROJECT
git diff --cached
Melakukan perubahan
commit adalah unit dasar kontrol revisi di Git dan terdiri dari {i>snapshot<i} dari struktur direktori dan konten file untuk keseluruhan proyek. Gunakan perintah berikut untuk membuat commit di Git:
git commit
Saat diminta untuk pesan commit, berikan pesan singkat (tetapi membantu) untuk perubahan yang dikirim ke AOSP. Jika Anda tidak menambahkan pesan commit, commit akan gagal.
Mengupload perubahan ke Gerrit
Update ke revisi terbaru, lalu upload perubahan:
repo sync
repo upload
Perintah ini menampilkan daftar perubahan yang telah Anda lakukan dan meminta Anda untuk
pilih cabang yang akan
diunggah ke server ulasan. Jika hanya ada satu
, Anda akan melihat prompt y/n
sederhana.
Menyelesaikan konflik sinkronisasi
Jika perintah repo sync
menampilkan konflik sinkronisasi:
- Lihat file yang dipisahkan (kode status = U).
- Edit wilayah yang berkonflik seperlunya.
- Ubah ke direktori project yang relevan. Tambahkan dan commit yang terpengaruh
, lalu buat dasar ulang perubahan:
git add .
git commit
git rebase --continue
- Setelah rebase selesai, mulai seluruh sinkronisasi lagi:
repo sync PROJECT0 PROJECT1 ... PROJECTN
Membersihkan klien
Setelah menggabungkan perubahan pada Gerrit, perbarui direktori kerja lokal Anda, lalu gunakan
repo prune
untuk menghapus cabang topik yang sudah tidak berlaku dengan aman:
repo sync
repo prune
Menghapus klien
Karena semua informasi status disimpan di klien, Anda hanya perlu menghapus direktori dari sistem file Anda:
rm -rf WORKING_DIRECTORY
Menghapus klien akan menghapus secara permanen perubahan apa pun yang belum Anda diupload untuk ditinjau.