Alur Kerja Kontrol Sumber

Bekerja dengan kode Android memerlukan penggunaan Git (sistem kontrol versi sumber terbuka) 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. Mengedit file.
  3. Tahap perubahan menggunakan git add .
  4. Komit 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-tugas umum berikut.

Memerintah Keterangan
repo init Inisialisasi klien baru.
repo sync Menyinkronkan klien ke repositori.
repo start Memulai cabang baru.
repo status Menunjukkan status cabang saat ini.
repo upload Mengunggah perubahan ke server ulasan.
git add Tahapan file.
git commit Mengkomit file yang dipentaskan.
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] Menggabungkan [branch] ke dalam 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; itu adalah penunjuk ke komit tertentu, yang membuat pembuatan cabang lokal dan beralih di antara mereka menjadi operasi yang ringan. Dengan menggunakan cabang, Anda dapat mengisolasi 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 didahului dengan tanda bintang (*).

File pementasan

Secara default, Git memperhatikan tetapi tidak melacak perubahan yang Anda buat dalam sebuah proyek. Untuk memberi tahu Git untuk mempertahankan perubahan Anda, Anda harus menandai atau mengatur perubahan tersebut untuk dimasukkan dalam komit.

Untuk mengubah tahapan:

git add

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

Melihat status klien

Untuk membuat daftar status file:

repo status

Untuk melihat suntingan yang tidak dikomit (editan lokal yang tidak ditandai untuk komit):

repo diff

Untuk melihat suntingan yang dikomit (edit yang terletak yang ditandai untuk komit), 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 snapshot struktur direktori dan konten file untuk keseluruhan proyek. Gunakan perintah ini untuk membuat komit di Git:

git commit

Saat diminta untuk pesan komit, berikan pesan singkat (tetapi bermanfaat) untuk perubahan yang dikirimkan ke AOSP. Jika Anda tidak menambahkan pesan komit, komit gagal.

Mengunggah 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 untuk 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 tidak digabungkan (kode status = U).
  2. Edit daerah konflik seperlunya.
  3. Ubah ke direktori proyek yang relevan. Tambahkan dan komit file yang terpengaruh, lalu rebase perubahannya:
    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, lalu 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 semua perubahan yang belum Anda unggah untuk ditinjau.