GitHub telah menjadi batu penjuru untuk semua software open source. Para pengembang menyukainya, berkolaborasi, dan terus-menerus membangun proyek-proyek hebat melaluinya. Terlepas dari hosting kode kita, daya tarik utama GitHub menggunakannya sebagai alat kolaboratif. Dalam tutorial ini, mari kita jelajahi beberapa fitur GitHub yang paling berguna, terutama untuk bekerja dalam tim, menjadikannya semua lebih efisien, produktif, dan yang paling penting, menyenangkan!
Kolaborasi Github dan Software
Satu hal yang saya anggap sangat berguna adalah mengintegrasikan Github Wiki ke dalam proyek kode sumber utama.
Tutorial ini mengasumsikan bahwa Anda sudah akrab dengan Git, sistem kontrol versi open source terdistribusi, dibuat oleh Linus Torvalds pada tahun 2005. Jika Anda memerlukan revisi atau pencarian di Git, jangan kunjungi kursus screencast sebelumnya atau bahkan beberapa posting. Juga, Anda seharusnya sudah memiliki akun Github dan melakukan beberapa fungsi dasar seperti membuat repositori dan mendorong perubahan ke Github. Jika tidak, kunjungilah lebih banyak tutorial yang lalu tentang itu.
Di dunia proyek software, tidak dapat dihindari bahwa kita akan menemukan diri kita bekerja dalam tim untuk menghasilkan proyek. Untuk tutorial tentang Github dan kolaborasi tim ini, kita akan menjelajahi beberapa alat paling umum yang biasanya dibutuhkan saat bekerja dengan tim software. Alat-alat yang dibahas adalah:
- Menambahkan Anggota Tim - Organisasi & Kolaborator
- Permintaan tarik - mengirim & penggabungan
- Pelacakan Bug - Masalah Github
- Analytics - Grafik & Jaringan
- Manajemen Proyek - Trello & Pivotal Tracker
- Integrasi Berkelanjutan - Travis CI
- Ulasan Kode - Penulisan Baris & pertanyaan URL
- Dokumentasi - Wiki & Hubot
Lebih suka Screencast?
Jika Anda lebih memilih screencast untuk visual walk-through, lompati sedikit di bawah untuk melihatnya dan lihat tutorial ini sebagai catatan samping:
Alat 1: Menambahkan Anggota Tim
Biasanya ada dua cara menyiapkan Github untuk kolaborasi tim:
- Organizations - Pemilik organisasi dapat membuat banyak tim dengan tingkat izin yang berbeda untuk berbagai repositori
- Collaborators - Pemilik repositori dapat menambahkan kolaborator dengan akses Baca + Tulis untuk satu repositori
Organizations
Jika Anda mengawasi beberapa tim dan ingin menetapkan tingkat izin yang berbeda untuk setiap tim dengan berbagai anggota dan menambahkan setiap anggota ke repositori yang berbeda, maka Organization akan menjadi pilihan terbaik. Akun pengguna Github apa pun sudah dapat membuat Organizations gratis untuk repositori kode sumber terbuka. Untuk membuat Organization, cukup telusuri ke halaman pengaturan organisasi Anda:
Untuk mengakses halaman tim untuk Organization Anda, Anda cukup pergi ke http://github.com/organizations/[organization-name]/teams
untuk melihatnya atau bahkan mengunjungi https://github.com/organizations/[organization-name]/teams/new
untuk membuat tim baru dengan anggota dari 3 tingkat izin yang berbeda seperti:
- Pull Only: Fetch and Merge dengan repositori lain atau salinan lokal. Akses hanya baca.
- Push and Pull: (1) bersama dengan pembaruan reparasi jarak jauh. Baca + Akses tulis.
- Push, Pull & Administrative: (1), (2) bersama dengan hak atas info penagihan, membuat tim serta membatalkan akun Organization. Baca + Tulis + akses Admin
Collaborators
Collaborators digunakan untuk memberikan akses Read + Write access ke satu repositori yang dimiliki oleh akun pribadi. Untuk menambahkan Collaborators, (akun pribadi Github lainnya), cukup buka https://github.com/[username]/[repo-name]/settings/collaboration:
Setelah
itu selesai, masing-masing Collaborator kemudian akan melihat perubahan
dalam status akses pada halaman repositori. Setelah kita memiliki akses
Write ke repositori, kita dapat melakukan git clone
, bekerja pada perubahan, membuat git pull
untuk mengambil dan menggabungkan setiap perubahan dalam repositori jarak jauh dan akhirnya git push
, untuk memperbarui repositori jarak jauh dengan perubahan kita sendiri:
Alat 2: Pull Requests
Pull Requests adalah cara yang mengagumkan untuk berkontribusi pada repositori secara mandiri dengan fork itu. Pada akhirnya, jika kita mau, kita dapat mengirim permintaan tarik ke pemilik repositori untuk menggabungkan perubahan kode kita. Pull request itu sendiri dapat memicu diskusi untuk kualitas kode, fitur atau bahkan strategi umum.
Sekarang mari kita melalui langkah-langkah dasar untuk pull request.
Memulai Pull Request
Ada dua model pull request di Github:
- Fork & Pull Model - Digunakan di repositori publik yang tidak memiliki akses push
- Share Repository Model - Digunakan dalam repositori pribadi yang kita miliki akses push. Fork tidak diperlukan adalah case ini.
Di sini kita melihat alur kerja antara dua pengguna (repo-owner
dan forked-repo-owner
) untuk model Fork and Pull:
- Identifikasi Github Repository yang ingin Anda kontribusikan, dan klik tombol "Fork" untuk membuat tiruan dari repositori di akun Github Anda sendiri:
- Ini akan membuat salinan persis dari repositori di akun Anda sendiri
- Pilih URL SSH sehingga akan meminta kata kunci SSH Anda, bukan nama pengguna dan kata sandi setiap kali Anda
git push
ataugit pull
. Selanjutnya, kita akan mengkloning repositori ini ke komputer lokal:12$ git clone [
ssh
-url] [folder-name]
$
cd
[folder-name]
- Secara
umum, kita akan membuat cabang git baru untuk setiap fitur baru. Ini
adalah praktik yang baik karena di masa depan jika kita memperbarui
cabang lebih lanjut setelah beberapa diskusi, pull request akan diperbarui secara otomatis. Mari buat cabang baru untuk membuat perubahan yang sangat sederhana untuk mengubah file:
readme.md
1$ git checkout -b [new-feature]
- Setelah
membuat penambahan yang relevan untuk membangun fitur-fitur baru, kita
hanya akan melakukan perubahan baru dan checkout ke git master branch: 123
$ git add .
$ git commit -m
"information added in readme"
$ git checkout master
- Pada
titik ini, kita akan mendorong cabang ke repositori jarak jauh. Untuk
ini kita akan memeriksa nama cabang dengan fitur baru serta alias git
remote repository. Lalu kita akan mendorong perubahan menggunakan
git push [git-remote-alias] [branch-name]
:1234567$ git branch
* master
readme
$ git remote -
v
origin git@github.com:[forked-repo-owner-username]/[repo-name].git (fetch)
origin git@github.com:[forked-repo-owner-username]/[repo-name].git (push)
$ git push origin readme
- Di halaman Github repositori bercabang, kita akan beralih ke cabang dengan fitur baru dan kemudian tekan tombol "Pull Request".
- Setelah mengirimkan pull request, itu akan langsung membawa kita ke halaman pull request repositori asli. Kita akan melihat pull request, baik sebagai masalah baru maupun pull request baru.
- Setelah diskusi, mungkin pemilik repositori bercabang mungkin ingin menambahkan perubahan pada fitur baru. Dalam hal ini, kita akan melakukan pembayaran ke cabang yang sama di komputer lokal, menjalankannya, dan mendorongnya kembali ke Github. Ketika kita mengunjungi halaman pull request dari repositori asli, itu akan secara otomatis diperbarui!
Penggabungan Pull Request
Jika Anda adalah pemilik repositori asli, ada dua cara menggabungkan pull request masuk:
- Merging directly on Github: Jika kita menggabungkan langsung di Github, maka pastikan bahwa tidak ada konflik dan siap untuk digabungkan ke dalam cabang master. Pemilik repositori asli cukup mengeklik tombol hijau "Merge Pull Request" untuk melakukannya:
- Merging in our local machines: Di lain waktu, mungkin ada konflik gabungan, dan saat mengklik tombol "info", Github akan memiliki instruksi yang jelas tentang bagaimana kita dapat menggabungkan cabang di mesin lokal dengan menarik perubahan dari cabang kontributor:
Ada berbagai model percabangan yang digunakan untuk versi dalam tim pengembangan software. Berikut adalah dua model alur kerja git yang populer: (1) Alur kerja Github yang memiliki model percabangan sederhana dan menggunakan pull requests dan (2) Gitflow yang memiliki percabangan yang lebih luas. Model yang akhirnya dipilih pasti akan bervariasi tergantung pada tim, proyek dan situasinya.
Alat 3: Pelacakan Bug
Pull Requests adalah cara yang mengagumkan untuk berkontribusi pada repositori secara mandiri dengan fork itu.
Di Github, pusat untuk semua pelacakan bug adalah Masalah. Meskipun terutama untuk pelacakan bug, juga berguna untuk menggunakan Masalah dengan cara berikut:
- Bug: Hal-hal yang jelas rusak dan perlu diperbaiki
- Features: Mengagumkan ide-ide baru yang keren untuk diterapkan
- To do list: Daftar periksa barang untuk diselesaikan
Mari jelajahi beberapa fitur Masalah:
- Labels: Mereka adalah kategori berwarna untuk setiap masalah. Mereka sangat membantu untuk memfilter masalah yang sesuai.
- Milestones: Mereka adalah kategori yang dapat dikaitkan dengan setiap masalah dan berguna untuk mengidentifikasi masalah apa yang perlu dikerjakan untuk rilis berikutnya. Juga karena Milestones terhubung ke masalah, secara otomatis memperbarui bilah kemajuan setelah menutup setiap masalah terkait.
- Search: Pencarian otomatis lengkap untuk kedua masalah dan tonggak
- Assignment: Setiap masalah dapat ditugaskan kepada orang yang bertanggung jawab untuk memperbaiki masalah tersebut. Ini adalah fitur lain yang berguna untuk melihat apa yang seharusnya kita kerjakan.
- Auto-close: Komit pesan dengan
Fixes/Fixed or Close/Closes/Closed #[issue-number]
akan secara otomatis menutup masalah.123$ git add .
$ git commit -m
"corrected url. fixes #2"
$ git push origin master
- Mentions: Siapa pun juga dapat meninggalkan catatan hanya dengan menunjukkan
#[issue-number]
di pesannya. Karena nomor penerbitannya hyperlink, ini membuatnya sangat mudah untuk menyebutkan masalah terkait selama diskusi.
Alat 4: Analytics
Sangat jelas bahwa kita bisa memasangkan daftar tugas kita dan memperbarui komitmen kode kita.
Ada dua alat yang memberi wawasan tentang repositori - Grafik dan Jaringan. Github Graphs memberikan wawasan tentang kolaborator dan komitmen di balik setiap repositori kode, sementara Github Network menyediakan visualisasi pada setiap kontributor dan komitmennya di seluruh repositori bercabang. Analisis dan grafik ini menjadi sangat kuat, terutama ketika bekerja dalam tim.
Graphs
Grafik menyediakan analisis rinci seperti:
- Contributors: Siapa yang kontributor? Dan berapa banyak baris kode yang mereka tambahkan atau hapus?
- Commit Activity: Minggu-minggu mana komit berlangsung dalam setahun terakhir?
- Code Frequency: Berapa banyak baris kode yang dilakukan sepanjang siklus hidup proyek?
- Punchcard: Selama waktu apa waktu melakukan biasanya dilakukan?
Network
Github Network adalah alat canggih yang memungkinkan Anda melihat setiap komitmen kontributor dan bagaimana mereka terkait satu sama lain. Ketika kita melihat visualizer secara keseluruhan, kita melihat setiap commit pada setiap cabang dari setiap repositori yang dimiliki jaringan. Insightful!
Alat 5: Manajemen Proyek
Meskipun Masalah Github memiliki kemampuan manajemen proyek dengan Masalah dan Milestones, beberapa tim mungkin lebih memilih alat lain karena fitur lain atau alur kerja yang ada. Pada bagian ini, kita akan melihat bagaimana kita dapat menghubungkan Github dengan dua alat manajemen proyek populer lainnya - Trello dan Pivotal Tracker. Dengan kait layanan Github, kita dapat mengotomatiskan tugas pembaruan dengan komit, masalah, dan banyak aktivitas lainnya. Otomatisasi ini membantu tidak hanya menghemat waktu, tetapi juga meningkatkan akurasi dalam pembaruan untuk setiap tim pengembangan perangkat lunak.
GitHub dan Trello
Trello menyediakan cara visual yang sederhana untuk mengelola tugas. Dengan menggunakan metodologi Agile Software Development, kartu Trello dapat meniru Papan Kanban virtual sederhana. Sebagai contoh, kita akan secara otomatis membuat kartu Trello setiap kali Pull Request dibuat menggunakan Github Service Hooks. Mari melalui langkah-langkahnya!
- Buka akun di Trello jika Anda belum memilikinya dan buat Papan Trello baru.
- Pergi ke repositori repository > Settings > Service Hooks > Trello
- Dapatkan
TOKEN
di bawah Instal Note#1 dengan hyperlink yang disediakan untuk otentikasi. - Di bawah Instal Note# 2, gunakan URL yang diberikan untuk menghasilkan struktur berformat json yang memberi kita
list id
untuk setiap kartu Trello.BOARDID
adalah bagian dari URL ketika kami mengunjungi papan dihttps://trello.com/board/[BOARD-NAME]/[BOARDID]
.TOKEN
dapat dibuat dengan hyperlink yang diberikan di bawah Install Notes #1. - Kembali ke hook layanan Github, masukkan
list id
dantoken
. Periksa Aktif, Uji Kait dan kita siap untuk mendapatkan pembaruan otomatis setiap kali ada Pull Request. - Saat berikutnya ada Pull Request, kartu Trello Pull Request akan secara otomatis memiliki item baru!
Github dan Pivotal Tracker
Pivotal Tracker adalah alat manajemen proyek ringan ringan lainnya di mana perencanaan berdasarkan cerita memungkinkan tim untuk berkolaborasi dengan mudah dengan segera bereaksi terhadap berbagai perubahan dan kemajuan proyek. Berdasarkan kemajuan tim saat ini, itu juga dapat membuat bagan untuk menganalisis kecepatan tim, iterasi yang membakar, melepaskan burn-down, dll. Dalam contoh singkat ini, kita akan secara otomatis menyampaikan kisah dengan menautkannya ke komitmen Github!
- Buat proyek baru di Pivotal Tracker dengan Kisah baru yang perlu disampaikan.
- Pergi ke Profil > API Token (kanan di bagian bawah). Salin token API yang diberikan.
- Kembali ke Github repository > Settings > Service Hooks > Pivotal Tracker. Tempel token, centang Aktif dan klik Update Settings. Kita siap untuk secara otomatis memberikan Pivotal Tracker Stories dengan Github Commits!
- Akhirnya kita akan melakukan perubahan dan menambahkan id tracker ke pesan commit dengan format
git commit -m "message [delivers #tracker_id]"
123$ git add .
$ git commit -m
"Github and Pivotal Tracker hooks implemented [delivers #43903595]"
$ git push
- Sekarang, ketika kita kembali ke Pivotal Tracker, kita akan melihat bahwa cerita telah secara otomatis disampaikan dengan tautan ke komit Github yang tepat yang menunjukkan perubahan file!
Dengan contoh Trello dan Pivotal Tracker ini, jelas bahwa kita dapat dengan erat memasangkan daftar tugas kita dan memperbarui kode kita. Ini adalah penghemat waktu yang luar biasa saat bekerja dalam tim, dan ini meningkatkan akurasi saat menautkan tugas ke komitmen yang tepat. Kabar baiknya adalah, jika Anda sudah menggunakan alat manajemen proyek lain seperti Asana, Basecamp, dan lainnya, Anda juga dapat membuat Kait Layanan dengan cara yang sama. Jika tidak adaService Hooks yang ada untuk alat manajemen proyek Anda saat ini, Anda bahkan dapat membuatnya!
Alat 6: Continuous Integration
Continuous Integration (CI) adalah bagian penting dari semua proyek pengembangan software yang bekerja dengan tim. CI memastikan bahwa, ketika seorang pengembang memeriksa dalam kode mereka, sebuah build otomatis (termasuk tes) mendeteksi kesalahan integrasi secepat mungkin. Ini jelas mengurangi kesalahan integrasi dan membuat iterasi cepat jauh lebih efisien. Dalam contoh ini, kita akan melihat bagaimana Travis CI dapat digunakan dengan Github untuk CI untuk mendeteksi kesalahan serta merekomendasikan penggabungan ketika melewati semua tes.
Menyiapkan Travis CI
Kita akan menggunakan proyek "hello-world" sederhana untuk node.js dengan grunt.js sebagai alat pembangunan untuk menyiapkan proyek Travis CI. Berikut ini file-file dalam proyek:
- File
hello.js
adalah proyek node. Di sini kita dengan sengaja akan meninggalkan titik koma sehingga tidak akan lulus alat penggiling mendengus untuk linting:123456var
http = require(
'http'
);
http.createServer(
function
(req, res) {
res.writeHead(200, {
'Content-Type'
:
'text/plain'
});
res.end(
'Hello World in Node!\n'
)
// without semicolon, this will not pass linting
}).listen(1337,
'127.0.0.1'
);
-
package.json
menunjukkan dependensi:010203040506070809101112{
"name"
:
"hello-team"
,
"description"
:
"A demo for github and travis ci for team collaboration"
,
"author"
:
"name <email@email.com>"
,
"version"
:
"0.0.1"
,
"devDependencies"
: {
"grunt"
:
"~0.3.17"
},
"scripts"
: {
"test"
:
"grunt travis --verbose"
}
}
- Build tool
gruntjs
hanya memiliki satu tugas (linting) hanya untuk kesederhanaan:123456789module.exports =
function
(grunt) {
grunt.initConfig({
lint: {
files: [
'hello.js'
]
}
});
grunt.registerTask(
'default'
,
'lint'
);
grunt.registerTask(
'travis'
,
'lint'
);
};
-
.travis.yml
adalah file konfigurasi Travis yang akan membuat Travis menjalankan pengujian kita:123language: node_js
node_js:
- 0.8
- Selanjutnya, masuk ke Travis dengan Akun Github Anda dan nyalakan hook repositori di bawah tab repositori.
- Jika langkah sebelumnya tidak memicu build, maka kita harus mengatur hook service secara manual. Untuk mengaturnya secara manual, salin Token di bawah tab profil.
- Kembali ke repositori Github untuk mengatur layanan Github Travis kait dengan token.
- Untuk pertama kalinya, kita perlu melakukan
git push
manual untuk memicu Travis pertama dan jika semuanya baik-baik saja, kunjungihttp://travis-ci.org/[username]/[repo-name]
untuk melihat build status berlalu!
Travis CI dengan Pull Requests
Sebelumnya, tanpa CI dalam proses permintaan tarik, langkah-langkahnya seperti ini (1) mengirim pull request (2) menggabungkan (3) pengujian untuk melihat apakah lulus/gagal. Dengan Travis CI terhubung dengan pull requests, kita akan dapat membalikkan langkah 2 dan 3, semakin cepat membuat keputusan tentang apakah atau tidak itu baik untuk bergabung dengan Travis memberi kita status dengan setiap pull requests. Mari kita lihat cara mewujudkannya.
- Kirim Pull Request dengan membangun lewat dan Travis akan melakukan sihir untuk memberi tahu Anda bahwa itu baik untuk menggabungkan bahkan sebelum menggabungkan
- Jika Pull Request gagal membangun, Travis juga akan memperingatkan Anda.
- Jika kita mengklik tombol tanda merah, itu juga akan menghubungkan ke halaman travis untuk menunjukkan kepada kita rincian dari build.
Travis CI dengan Github sangat berguna untuk tim karena membangun otomatis dan pemberitahuan segera. Ini tentu membuat siklus koreksi correction cycle lebih pendek. Jika Anda menggunakan Jenkins, CI tool lain yang populer, ya Anda dapat mengatur hook layanan Github sangat mirip juga.
Alat 7: Code Review
Dengan setiap commit, Github memungkinkan interface yang bersih untuk komentar umum atau bahkan komentar khusus pada baris kode. Kemampuan untuk mengajukan komentar atau pertanyaan pada setiap baris kode sangat berguna dalam melakukan tinjauan kode baris demi baris. Untuk melihat komentar inline, aktifkan kotak centang di kanan atas setiap commit.
Mari jelajahi beberapa pola URL yang dapat digunakan untuk membantu kami dalam peninjauan kode dengan memberi kita perbedaan antara komit dengan cepat:
- Compare branches / tags / SHA1: gunakan pola URL
https://github.com/[username]/[repo-name]/compare/[starting-SHA1]...[ending-SHA1]
. Anda dapat melakukan hal yang sama dengan cabang atau tag. - Compare without whitespace: tambahkan?
w= 1
ke url pembanding - Diff: tambahkan
.diff
ke URL pembanding untuk mendapatkan informasigit diff
dalam teks biasa. Ini bisa berguna untuk tujuan scripting. - Patch : tambahkan
.patch
ke URL pembanding untuk mendapatkan informasigit diff
yang diformat untuk pengiriman patch email. - Line Linking: Ketika mengklik nomor baris pada file apa saja, Github akan menambahkan
#line
di bagian akhir URL dan menjadikan seluruh warna background berwarna kuning. Ini rapi untuk menunjukkan garis yang tepat. Ini juga menerima rentang baris dengan menambahkan#start-end
. Berikut adalah contoh penautan garis dan tautan rentang garis.
Alat 8: Documenting
Di bagian ini, kita akan mengeksplorasi dua metode dokumentasi:
- Formal Documentation: Github Wiki untuk membuat dokumentasi untuk kode sumber
- Informal Documentation: Github Hubot untuk mendokumentasikan diskusi di antara anggota tim dan mengotomatiskan pengambilan informasi dengan berinteraksi dengan bot obrolan yang menyenangkan!
- Mentions, Shortcuts & Emoji
GitHub Wiki
Wiki Github dapat dibuat dengan masing-masing repositori, dan ini bisa sangat berguna untuk menempatkan kedua kode sumber dan dokumentasi di bawah repositori yang sama. Untuk membuat Wiki, cukup akses tab Wiki di header utama dan Anda diatur untuk membuat halaman dengan informasi. Wiki sendiri memiliki versi sendiri, dan datanya dapat dikloning ke mesin lokal untuk pembaruan atau bahkan akses offline.
Satu
hal yang saya anggap sangat berguna adalah mengintegrasikan Github Wiki
ke dalam proyek kode sumber utama sehingga saya tidak perlu
mempertahankan dua proyek git yang terpisah. Untuk melakukan ini, saya
menambahkan repo Wiki git sebagai submodule dari cabang master. Jika Anda menggunakan Travis CI atau CI lainnya, pastikan bahwa alat build mengabaikan submodul wiki. Untuk file Travis CI .travis.yml
, tambahkan yang berikut:
1 2 | git: submodules: false |
Kemudian tambahkan wiki submitul git ke repositori kode utama:
1 2 3 4 5 6 7 8 9 | $ git submodule add git@github.com:[username]/[repo-name].wiki.git Cloning into 'hello-team.wiki' ... remote: Counting objects: 6, done . remote: Compressing objects: 100% (3 /3 ), done . remote: Total 6 (delta 0), reused 0 (delta 0) Receiving objects: 100% (6 /6 ), done . $ git add . $ git commit -m "added wiki as submodule" $ git push origin master |
Sekarang Wiki akan tampil rapi sebagai submodul dalam proyek kode sumber utama.
GitHub Hubot
Hubot, singkatnya, dapat sangat menambah banyak kesenangan dalam mendokumentasikan dan memberi tahu diskusi tim tentang komitmen penting.
Hubot hanyalah sebuah obrolan bot yang dapat mengambil informasi atau memberikan pemberitahuan ketika terhubung ke github commit, masalah atau kegiatan. Dalam sebuah tim yang berusaha mengurangi rapat secara signifikan atau bahkan menghilangkannya sama sekali, Hubot dengan antarmuka obrolan di antara anggota tim membantu mendokumentasikan setiap diskusi. Ini tentu mempromosikan waktu kerja yang fleksibel, karena tidak ada yang hadir pada saat yang sama untuk diskusi berlangsung. Peringatan: Hubot sangat membuat ketagihan!
Dengan ini, mari mulai dengan mengatur Hubot yang dihosting di Heroku dan sebagai bot dengan antarmuka obrolan Campfire! Untuk Heroku dan Campfire, ada versi gratis untuk memulai.
- Kita akan menggunakan versi Github's Campfire dari Hubot. Jika Anda ingin, Anda dapat memeriksa adaptor untuk obrolan lain seperti Skype, IRC, Gtalk, dll.
- Buka akun Campfire baru hanya untuk Hubot dan akun ini akan membuat ruang obrolan baru yang akan diundang orang lain nantinya.
- Terapkan Hubot ke Heroku dengan instruksi yang diberikan di Hubot Wiki. Jangan khawatir jika url aplikasi heroku memberikan
Cannot GET /
karena tidak ada yang didapatkan secara default. - Dari akun Campfire Hubot, undang dirimu sendiri. Sekarang, masuk ke akun Campfire Anda sendiri dan jalankan
Hubot help
. Ini akan memberi Anda semua perintah yang tersedia untuk hubot. - Cobalah, seperti
hubot ship it
atauhubot map me CERN
. - Selanjutnya, kita akan menambahkan skrip Hubot. Ada banyak tersedia dengan ilustrasi perintah.
- Sebagai contoh, kita akan menambahkan skrip github-commit sehingga setiap kali ada commit, Hubot akan memberi tahu di ruang obrolan. Masukkan file
github-commits.coffee
di dalam folderscripts
. - Perbarui file
package.json
dengan dependensi yang relevan seperti yang diperintahkan di atas setiap file skrip hubot di bawah komentar. - Menyebarkan perubahan ke Heroku sekali lagi dengan
git push heroku master
. - Arahkan
ke repositori di Github yang pemberitahuan commitnya akan ditampilkan
dalam obrolan. Tambahkan di hook web di bawah pengaturan repo. Dalam
kasus tulisan "github-commit", webhook akan menjadi
[HUBOT_URL]:[PORT]/hubot/gh-commits?room=[ROOM_ID]
- Saat berikutnya repositori memiliki komit, Hubot akan mengobrol dan mengatakannya!
Checkout Gitub lain terkait skrip Hubot, atau jika Anda ingin menulis satu ada tutorial keren tentang itu juga! Hubot, singkatnya, dapat sangat menambah banyak kesenangan dalam mendokumentasikan dan memberi tahu diskusi tim tentang komitmen penting, masalah dan kegiatan yang terjadi dengan repositori Github. Cobalah!
Sebagai catatan terakhir untuk bekerja dengan tim di Github, berikut beberapa kiat produktivitas:
- Mentions - Di area teks apa pun, kita dapat menyebutkan pengguna github lain dengan
@user
dan pengguna akan diberi tahu tentang komentar tersebut - Shortcuts Keys - Tekan
[shift] + ?
untuk mengakses tombol pintas Github di halaman mana pun. - Emoji - Menggunakan contekan Emoji, Github textareas juga mendukung penyisipan ikon. Pergi ke depan dan bersenang-senang dengan teman tim Anda!
Kolaborasi Non-Software di Github
Sebagian besar dari kita akan berpikir untuk menggunakan Github hanya untuk proyek software. Setelah semua, Github dimulai untuk "coding" sosial. Namun, ada beberapa repositori Github yang keren yang digunakan untuk proyek-proyek non-coding, dan mereka sama-sama mengagumkan untuk kolaborasi dan diskusi. Karena proyek ini juga open source dan siapa saja dapat berkontribusi, cepat memperbaiki kesalahan, mudah melaporkan bug dan efektif untuk berkolaborasi dengan orang yang berpikiran sama. Hanya untuk bersenang-senang, inilah beberapa di antaranya:
- Home Fixes: Pelacakan masalah sebagai alat pemantauan
- Books: Buku MongoDB Kecil, Dasar-Dasar Backbone
- Lyrics: JSConfEU Lyrics
- Find Boyfriend: boyfriend_require
- Mentoring: Wiki
- Genomic Data: Ash Dieback epidemi
- Blogs: CSS Wizardry
Dan bertanya-tanya apa yang tim Github pikirkan tentang itu?
"Kita menggali penggunaan GitHub yang menyenangkan seperti ini"
Sumber Lainnya
- Pengkodean Sosial di GitHub, makalah penelitian oleh Carnegie Mellon University
- Cara Github menggunakan Github untuk membangun Github oleh Zac Holman
- Rahasia Git dan Github oleh Zac Holman
- Fitur baru di Github dari Blog Github
- Github Help: pull requests, Fork a Repo
- Github fitur untuk kolaborasi
- Nettuts+ Tutorial: Git dan Github
- Lord of the Flies: Bagaimana Github Tamed Software gratis (dan lebih banyak) oleh Wired
Lebih Menyenangkan Berkolaborasi!
Jadi itu adalah kumpulan beberapa tool kolaboratif di Github. Sebagian besar berfungsi sebagai toolsanalitis cepat, atau bahkan otomatisasi yang membantu menghemat waktu ketika bekerja dengan dua atau lebih anggota tim. Apakah Anda memiliki lebih banyak kiat Github untuk tim? Mari berbagi di bawah ini!