CSGE601021 Dasar-Dasar Pemrograman 2 @ Fakultas Ilmu Komputer Universitas Indonesia, Semester Genap 2020/2021
- Soal Tugas Pemrograman
- Memulai
- Mengerjakan Tugas Pemrograman
- Mendapatkan pembaruan dari upstream
- Menyelesaikan konflik
- Informasi kontak
- Atribusi
- Lisensi
-
Fork repositori ini ke akun GitLab kamu.
-
Ubah visibilitas repositori hasil fork tersebut menjadi private melalui Settings (di sebelah kiri bawah) > General > Visibility, project features, permissions > Project visibility > Private > Save changes.
-
Tambahkan
asdos kamu
dan@dekdepe
sebagai anggota di repositori kamu melalui Settings > Members dengan hak akses Maintainer. -
Kembali ke Project overview, klik tombol Clone yang ada di kanan atas.
-
Salin pranala (link) HTTPS (atau SSH jika kamu sudah mengaturnya) yang muncul.
-
Buka terminal/shell (misal:
cmd
,bash
) di komputer kamu dan lakukan navigasi ke direktori yang kamu inginkan untuk menyimpan pekerjaan kamu. -
Clone repositori kamu yang ada di GitLab ke komputer kamu menggunakan perintah
git clone
. Contoh:> git clone https://gitlab.com/DDP2-CSUI/2020-2021-genap/assignments.git tugas Cloning into 'tugas'...
Catatan: nama direktori
tugas
bisa diganti sesuai keinginan kamu, atau bisa juga dihapus apabila ingin menggunakan nama direktoriassignments
. -
Masuk ke direktori hasil clone yang baru saja selesai dan coba gunakan perintah
git status
. Contoh:> cd tugas tugas> git status On branch master nothing to commit, working tree clean
-
Tambahkan repositori remote bernama
upstream
yang mengarah ke repositori pusat (milik tim pengajar). Contoh:tugas> git remote add upstream https://gitlab.com/DDP2-CSUI/2020-2021-genap/assignments.git
Catatan: Sebuah git remote adalah sepasang alias dan pranala ke suatu repositori. Secara default, repositori yang baru saja kamu clone sudah punya sebuah remote bernama
origin
yang mengarah ke repositori kamu di GitLab. Contoh di atas memberitahu repositori git lokal kamu untuk melacak sebuah repositori git remote lainnya yang berada dihttps://gitlab.com/DDP2-CSUI/2020-2021-genap/assignments.git
dan menamainyaupstream
. -
Nantinya, akan ada pembaruan pada repositori pusat (misalnya ada soal tugas baru atau revisi). Kamu bisa mendapatkan commit terbaru dari
upstream
dan menggabungkannya ke repositori lokal kamu menggunakan perintahgit pull
. Contoh:tugas> git pull upstream master From gitlab.com:DDP2-CSUI/2020-2021-genap/assignments Merge made by the 'recursive' strategy.
-
Apabila kamu ingin menyimpan pekerjaan ke repositori GitLab kamu, gunakan perintah
git push
. Perintah ini akan mengirimkan semua commit yang ada pada repositori lokal ke repositori di GitLab (jika commit tersebut belum ada).tugas> git push origin master Counting objects: 42, done. Delta compression using up to 8 threads. Compressing objects: 100% (37/37), done. Writing objects: 100% (42/42), 36.12 KiB | 1.57 MiB/s, done. Total 42 (delta 7), reused 0 (delta 0) To gitlab.com:<YOURNAME>/assignments.git * [new branch] master -> master
Pastikan kamu melakukan
push
ke remoteorigin
, bukanupstream
! -
Kamu bisa memeriksa bahwa commit yang ada di repositori lokal kamu juga ada di repositori GitLab kamu.
-
Apabila kamu melakukan
push
dari komputer lain (atau repositori lokal lain), misalnya komputer lab, dan kamu ingin lanjut mengerjakan tugas di komputer kamu, kamu dapat menggunakan perintahgit pull origin master
untuk mendapatkan semua commit yang ada di GitLab dan belum ada di komputer kamu.
- Misalnya kamu ingin mengerjakan Tugas Pemrograman 1. Masuk ke direktori yang
berisi soal tugas tersebut (contoh:
assignment1
). - Baca berkas
README.md
di dalam direktoriassignment1
dengan teliti. - Kerjakan tugas tersebut.
- Gunakan
git add
ataugit reset
untuk stage/unstage berkas yang ingin di-commit ke repositori git kamu. - Ketika kamu ingin menyimpan progres, commit pekerjaan kamu ke repositori
dengan command
git commit -m "<sebuah pesan commit>"
. Usahakan untuk mengikuti panduan ini untuk menuliskan pesan commit yang baik. - Ulangi langkah 3-5 sampai kamu menyelesaikan tugas tersebut.
- Ketika kamu sudah siap untuk mengumpulkan pekerjaan kamu (atau ingin
menyimpan progres ke GitLab), lakukan
git push
seperti yang dicontohkan di atas.
Jika ada pembaruan dari upstream
, kamu bisa mendapatkan semua commit
terbaru dan menggabungkannya ke repositori git lokal kamu menggunakan perintah
git pull upstream master
seperti yang dicontohkan di atas.
Jika kamu belum mengubah teks editor default yang digunakan oleh git, yakni
vim
, akan muncul antarmuka vim
yang memungkinkan kamu untuk mengubah pesan
commit. Jangan khawatir! Kamu bisa keluar dari vim
dengan mengetik :q
lalu menekan Enter.
Jika kondisi vim
kamu sudah dalam mode INSERT
, kamu mungkin harus menekan
Esc terlebih dahulu. Jika kamu sudah mengubah isi pesan commit
dan ingin menyimpannya, kamu bisa mengetik :wq
untuk menyimpan dan keluar
dari vim
. Jika kamu tidak ingin menyimpan perubahan tersebut, kamu bisa
mengetik :q!
untuk memaksa keluar dari vim
.
Jika terjadi merge conflict, silakan selesaikan konflik yang ada dan lanjutkan proses merging. Kamu bisa cari panduan atau meminta bantuan asdos jika mengalami kesulitan.
Jika kamu punya pertanyaan atau umpan balik terkait soal tugas pemrograman, silakan gunakan GitLab Issues pada repositori pusat. Kamu juga bisa menghubungi tim pengajar secara langsung melalui informasi kontak yang tersedia di SCeLE.
Struktur Gradle multi-proyek dan isi berkas README utama diadaptasi dari repositori Tugas Pemrograman DDP2 2017/2018 Genap dan Tugas Pemrograman DDP2 2019/2020 Genap.
Hak cipta (c) 2021, Fakultas Ilmu Komputer Universitas Indonesia
Izin legal untuk menyalin, mengubah, dan membagikan pekerjaan dalam proyek ini diatur dalam dua lisensi: BSD 3-Clause dan Creative Commons Attribution-ShareAlike 4.0 (CC BY-SA 4.0). Kecuali disebutkan sebaliknya, lisensi BSD 3-Clause berlaku untuk kode sumber (contoh: Java, YML, berkas konfigurasi), sedangkan CC BY-SA 4.0 berlaku untuk dokumen teks dalam proyek ini.
Peraturan akademis, terutama terkait plagiarisme, tetap berlaku sebagaimana yang telah dijelaskan dalam perkuliahan.