GitLab adalah sebuah paket perangkat lunak DevOps yang mengkombinasikan kemampuan untuk membuat, mengamankan dan menjalankan perangkat lunak pada satu aplikasi. Pengembang perangkat lunak dapat menyimpan kode untuk dirinya sendiri atau dapat digunakan untuk berkolaborasi dengan pengembang lain, baik melalui SSH maupun HTTP.
Daftar Isi
Cloning Repository Gitlab via SSH atau HTTPS
Ada berbagai “jalan ninja” dalam berkolaborasi membangun sebuah aplikasi digital melalui Gitlab, antara lain dengan terminal atau text editor melalui jalur SSH atau HTTPS. Programmer 1 bisa saja memilih jalan yang berbeda dengan Programmer 2, tetapi keduanya tetap dapat berkolaborasi di dalam proyek yang sama tanpa hambatan.
— Cara Cloning Repository Gitlab via SSH (Terminal) atau HTTPS (Netbeans)
gitignore
Buat .gitignore pada root folder dengan isi
**/folder/**
**file-config
Apabila file atau folder tersebut masih muncul pada list commit, maka dapat di-cancel terlebih dahulu. Hapus indeks file atau folder (bukan hapus secara fisik, tetapi hanya menghapus indeks di git) yang ada di .gitignore tersebut dengan perintah
git rm --cached <path/files>
git add -u .
git commit -m "Record deletion from the index"
Pilih Jalan Clone Anda!
- via SSH
- via HTTPS
Buka git-bash
, kemudian jalankan instruksi di bawah ini
cd ~/.ssh
ssh-keygen -t rsa -C "youremail@example.com" -b 4096
#ganti youremail@example.com dengan email yang digunakan untuk mendaftar di Gitlab
#jika ada pertanyaan Enter file in which to save the key, maka isi dengan user Gitlab Anda, misalnya yourusername
#kosongi passphrase
cat yourusername.pub
#ganti yourusername dengan user Gitlab Anda
#salin hasil dari perintah di atas ke Gitlab di menu Settings > SSH Keys > Add an SSH Key seperti gambar di bawah ini
git clone git@gitlab.com:yourgroup/yourrepository.git
#ganti yourgroup dan yourrepository dengan grup dan repo yang ingin di clone
Di Gitlab
- Buka menu Settings > Access Tokens > Add a personal access token
- Isi
- Token name: uniquename
- Select scopes: pilih semua atau beberapa fitur yang dapat digunakan oleh token ini
- Klik Create personal access token
- Salin personal access token, karena hanya muncul sekali ini saja, tidak dapat dilihat kembali
Di Netbeans
- Buat proyek kosong dengan menu File > New Project…
- Pilih proyek baru tersebut setelah selesai dibuat, kemudian buka menu Team > Git > Clone…
- Isi
- Repository URL: https://gitlab.com/yourgroup/yourrepository.git
- User: yourusername
- Password: yourpersonalaccesstoken (bukan password gitlab)
- Klik Next >, kemudian pilih branch
- Klik Next >, review pengaturan
- Klik Finish
Update Activity
Apabila update aktivitas menggunakan email dirasa terlalu mengganggu email, maka Anda dapat menggunakan RSS untuk update aktivitas dan notifikasi melalui email dapat dimatikan.
- Buka https://gitlab.com/yourgroup/yourrepository/activity atau pada halaman proyek buka menu Project Information > Activity
- Tekan simbol RSS dengan tooltips “subscribe”, nanti akan mendownload atom
- Buka atom dengan
- RSS Reader, atau
- teks editor untuk disalin alamatnya ke RSS Reader
Tips Pull dan Push
Sebelum bekerja:
Pull
Sebelum Push:
- Add > Commit > Pull > Push (jika tidak konflik)
- Add > Commit > Pull > Resolve Conflict (otomatis Add) > Commit > Pull > Push (jika konflik)
Troubleshot
- Remote repository contains commits unmerged into the local branch (solusi: https://stackoverflow.com/questions/25027653/git-remote-repository-contains-commits-unmerged-into-the-local-branch)
- Klik kanan pada proyek, kemudian pilih menu Git > Repository > Repository Browser
- Klik kanan pada Remote, kemudian pilih Merge Revision…, klik tombol Merge. Cermati dan setujui perubahan yang diinginkan (accept and next) satu per satu. Bisa jadi kanan kiri bergantian, kanan saja atau kiri saja.
- Klik kanan pada proyek, kemudian pilih menu Git >Remote > Push…
- Merge of HEAD with origin/master failed because of these files
Klik kanan pada proyek, kemudian pilih menu- Git > Add
- Git > Commit…
- Git > Remote > Pull…, kemungkinan nanti ada proses merge
Demikian, semoga bermanfaat. [bst]