evilfactorylabsarchive / blog

blog by evilfactory team
https://blog.evilfactory.id
Creative Commons Attribution Share Alike 4.0 International
5 stars 0 forks source link

Beberapa tips bekerja dengan GitHub #11

Open faultables opened 5 years ago

faultables commented 5 years ago

Hampir 100% pekerjaan yang ada di evilfactory mengandalkan platform GitHub, yang artinya, bila suatu saat GitHub down selama satu hari, berarti kita gak kerja. Entah kamu menggunakan GitHub untuk project sampingan, untuk berkontribusi ke Open Source, dsb, berikut ada beberapa sedikit tips untuk kamu yang sering bermain di GitHub.

hub

Ini paling life-saver! Saya termasuk orang yang lumayan males pindah-pindah aplikasi, dan selalu mengandalkan keyboard di keseharian saya, maka dari itu hampir semua workflow saya berada di terminal. Semua bisa dilakukan di terminal, hanya imajinasimu yang membatasinya.

Mengurus repo project tentu tidak mudah. Issues, Pull Request pasti akan bertambah dan berkurang. Dengan menggunakan hub, kita bisa mempersingkat workflow kita, dari yang sebelumnya:

Hanya menjadi... Via terminal?

Screen Shot 2019-06-16 at 17 08 14

Yaya itu bukan issue sebenar-benarnya issue, hanyalah kumpulan "post" dari blog evilfactory. Siapa sangka, bahkan kita bisa membaca issue di terminal, sekaligus melihat komentar yang ada :))

Screen Shot 2019-06-16 at 17 10 23

atau... Kombinasi hub issue show {n} | mkd (alias for markdown-cli)?

Screen Shot 2019-06-16 at 17 18 05

Juga, untuk clone repo. Misal, bila kita ingin meng-clone repo dari https://github.com/facebook/react, daripada seperti ini:

git clone git@github.com:facebook/react.git

bisa dipersingkat menjadi seperti ini:

hub facebook/react

Dan masih banyak lagi fitur-fiturnya. Yang sering gue pakai sih cuma hub clone, hub issue dan hub pr list.

Untuk instalasi, bisa kunjungi repo ini.

Commit message

Mungkin kita mengerjakan fix bug, atau refactor, atau optimasi performa. Entah dari backlog, atau GitHub Issue. Anggap kita memiliki issue berjudul "Bug in Firefox" dengan issue id 666 dan intinya ada minor UI bug untuk border di browser firefox.

Lalu kita mulai mengerjakannya. Buat branch baru, commit, push. Lalu buat pull-request. Iklan, bisa via hub:

hub pull-request -m "PR Title" -r "@reviewer_username" -h "branch_name"

Setelah di push, dan ter-merge, reviewer/assignee bisa memutuskan apakah perubahan tersebut bisa meng-close issue terkait atau tidak. Jika iya, pilih issue, lalu close.

HEY

Kita bisa mempersingkatnya! Selain menggunakan hub, juga menggunakan commit message. Dengan menyertakan keyword:

Dilanjutkan dengan issue number nya. Misal:

git commit -m "fix: minor UI bug in firefox. close #666

Bila PR kita ter-merge, maka issue tersebut akan otomatis ter-close. Tanpa perlu proses manual klik tombol "close issue".

That's it

Sampai sekarang baru 2 hal tersebut yang sering digunakan. Thanks for stopping by.