Kamus kecil Karena istilah Git dan kata kunci pemrograman lainnya paling sering digunakan tanpa terjemahan, saya memutuskan untuk tidak menerjemahkannya. Saya akan memberikannya di sini, demi ketertiban, terjemahan singkat istilah-istilah dari artikel ini dengan "decoding". Garpu - "garpu". Pada dasarnya, Anda menyalin proyek untuk diri Anda sendiri untuk menyempurnakan sesuatu berdasarkan proyek tersebut. Permintaan tarik - permintaan perubahan. Mengirimkan perubahan Anda ke repositori untuk ditinjau (yaitu, kode ini akan ditambahkan ke proyek utama hanya setelah konfirmasi oleh pemilik repositori atau rekan kerja) Tarik – “tarik” (ke dalam IDE di komputer Anda, misalnya) sebuah proyek dari GitHub Dorong – “mendorong” proyek dari mesin lokal ke GitHub |
#1 Mengedit kode di GitHub.com
Saya akan mulai dengan apa yang menurut saya sudah diketahui semua orang (walaupun saya pribadi tidak mengetahuinya seminggu yang lalu). Saat melihat file teks apa pun di GitHub, di repositori mana pun, Anda dapat melihat pensil kecil di kanan atas. Jika Anda mengkliknya, Anda dapat mengedit file ini. Setelah selesai, klik Usulkan perubahan file dan GitHub akan membuat fork dan Pull Request. Luar biasa, bukan? Dia menciptakan garpu itu sendiri! Tidak perlu melakukan fork dan mengunggah kode ke diri Anda sendiri, membuat perubahan secara lokal dan mengirimkannya kembali ke GitHub dengan Permintaan Tarik. Sangat nyaman jika Anda perlu melakukan sedikit pengeditan.#2 Memasukkan gambar
Deskripsi masalah tidak terbatas pada komentar teks saja. Tahukah Anda bahwa Anda dapat menempelkan gambar langsung dari clipboard? Saat ditempel, Anda akan melihatnya diunggah (tidak diragukan lagi ke cloud) dan diubah menjadi markup untuk menampilkan gambar. Anggun!#3 Pemformatan kode
Jika Anda perlu menulis satu blok kode, mulailah dengan tiga backtick dan GitHub akan mencoba menebak bahasa pemrograman apa yang Anda gunakan. Namun jika Anda memposting sepotong kode dalam bahasa pemrograman seperti Vue, TypeScript, atau JSX, Anda dapat secara eksplisit menentukan bahasanya sehingga penyorotan sintaksisnya benar. Perhatikan ```jsx di baris pertama:#4 Menutup masalah menggunakan "kata ajaib" di Permintaan Tarik
Katakanlah Anda membuat Permintaan Tarik yang memperbaiki masalah #234. Anda dapat memasukkan teks "perbaikan masalah #234" ke dalam deskripsi permintaan Anda (atau di mana pun dalam komentar permintaan perubahan). Setelah ini, menggabungkan Permintaan Tarik akan “secara otomatis” menutup masalah. Keren, bukan? Berikut informasi lebih lanjut tentang ini di dokumentasi .#5 Tautan ke komentar
Pernahkah Anda perlu membuat tautan ke komentar tertentu dan tidak tahu caranya? Hari-hari itu sudah lama berlalu karena saya akan memberi tahu Anda sebuah rahasia: Untuk membuat tautan ke komentar, Anda cukup mengeklik tanggal/waktu di sebelah judul.#6 Tautan kode
Jadi, Anda ingin membuat tautan ke baris kode tertentu. Dalam hal ini, coba ini: Klik pada nomor baris di sebelah kode yang diinginkan dalam file yang terbuka. Wah, lihat? URL telah berubah, nomor baris sekarang terlihat di dalamnya! Jika Anda menahan tombol SHIFT dan mengklik nomor baris lain, voila! – URL akan berubah lagi dan rentang baris akan disorot. URL ini sekarang akan mengarah ke file ini dan rentang baris ini. Tapi tunggu, ini menunjuk ke thread saat ini. Bagaimana jika filenya berubah? Anda mungkin memerlukan, dalam hal ini, tautan permanen ke file dalam kondisi saat ini. Saya sangat malas, jadi saya mengambil satu tangkapan layar dari semua hal di atas:#7 Menggunakan URL GitHub sebagai Baris Perintah
Menavigasi melalui GitHub menggunakan UI diatur dengan sangat nyaman. Namun terkadang, untuk menuju lokasi tertentu, lebih cepat cukup mengetikkannya ke dalam URL. Misalnya, jika saya ingin pergi ke cabang yang sedang saya kerjakan dan melihat perbandingannya dengan master, saya cukup mengetikkan /compare/branchname setelah nama repositori. Ini akan membawa saya ke halaman berbeda untuk cabang itu:#8 Buat daftar untuk masalah
Apakah Anda ingin kotak centang di deskripsi masalah Anda?- [ ] Lebar layar (bilangan bulat)
- [x] Dukungan pekerja layanan
- [x] Dapatkan dukungan
- [ ] Dukungan kotak fleksibel CSS
- [ ] Elemen khusus
#9 Panel proyek di GitHub
Untuk proyek besar saya selalu menggunakan Jira. Dan untuk proyek pribadi saya, saya selalu menggunakan Trello. Saya sangat menyukai kedua alat ini. Ketika saya mengetahui beberapa minggu yang lalu bahwa GitHub menawarkan opsinya sendiri, tepat di tab Proyek di repositori, saya pikir masuk akal untuk menduplikasi kumpulan tugas yang sudah saya kerjakan di Trello.Kekurangan
Selama tiga minggu terakhir saya telah bereksperimen dengan melakukan segala sesuatu di GitHub, bukan di Jira (pada proyek kecil, semacam gaya Kanban) dan menyukainya. Tapi saya tidak bisa membayangkan hal ini untuk proyek Scrum di mana kecepatan pengembangan dan sejenisnya perlu dinilai dan dihitung dengan benar. Kabar baiknya adalah proyek GitHub hanya memiliki sedikit "fitur khusus" sehingga beralih ke sistem lain tidak akan memakan banyak waktu. Jadi cobalah dan lihat seberapa besar Anda menyukainya. Saya tidak tahu betapa pentingnya hal ini, tetapi saya mendengar tentang ZenHub dan membukanya pertama kali 10 menit yang lalu. Ini pada dasarnya merupakan perpanjangan dari GitHub tempat Anda dapat menilai masalah dan membuat "epik" dan ketergantungan. Ada grafik kecepatan pengembangan dan kelelahan; Sepertinya itu hal yang luar biasa. Bacaan lebih lanjut: Dokumentasi GitHub tentang Proyek.#10 Gwiki
Untuk kumpulan halaman yang tidak terstruktur—seperti Wikipedia—GitHub Wiki (yang akan saya sebut Gwiki mulai sekarang) sangat bagus. Untuk kumpulan halaman terstruktur - misalnya, seperti dokumentasi Anda - tidak terlalu banyak. Tidak ada cara untuk menunjukkan bahwa "halaman ini adalah turunan dari halaman itu"; tidak ada hal-hal praktis seperti tombol "Bagian selanjutnya" dan "Bagian sebelumnya". Hansel dan Gretel pasti akan tersesat di sini, karena tidak ada "remah roti" (operator debugging khusus - kira-kira trans.) di sini juga. (Catatan Penulis: Sudahkah Anda membaca cerita ini? Itu tidak manusiawi. Dua preman muda membunuh seorang wanita tua malang yang kelaparan, membakarnya hidup-hidup di ovennya sendiri . Dan tentu saja, meninggalkan kekacauan total yang tidak dapat dipahami oleh siapa pun. Saya pikir itu sebabnya anak-anak muda jaman sekarang sangat sensitif – cerita yang dibacakan kepada anak-anak sebelum tidur sekarang tidak cukup kejam!) Selanjutnya – untuk mencoba Gwiki secara nyata, saya memasukkan beberapa halaman dari NodeJS sebagai halaman wiki, lalu membuat custom sidebar untuk mensimulasikan struktur situs yang sebenarnya. Sidebar ini selalu ada, meskipun halaman saat ini tidak disorot. Tautan harus dipelihara secara manual, tetapi secara keseluruhan semuanya berfungsi dengan baik. Jika mau, Anda dapat melihat :#11 Halaman GitHub
Anda mungkin sudah mengetahui bahwa Halaman GitHub dapat digunakan untuk menghosting situs web statis. Dan jika Anda tidak mengetahuinya, maka Anda mengetahuinya sekarang. Namun, bagian ini didedikasikan untuk topik yang lebih spesifik: menggunakan Jekyll untuk membuat situs web. Dalam bentuknya yang paling sederhana, GitHub Pages + Jekyll dapat merender file README.md menggunakan tema yang terlihat bagus. Misalnya, lihat halaman readme saya dari about-github :Pendapat saya
Semakin saya melihat kombinasi Halaman GitHub + Jekyll (untuk artikel ini), semakin saya merasa keseluruhan idenya berbau aneh. Ide "membuat situs web Anda sendiri dengan sedikit usaha" sangat bagus. Namun untuk mengerjakannya, Anda masih memerlukan versi terkini di mesin lokal. Dan untuk sesuatu yang "sederhana" ada terlalu banyak perintah baris perintah. Saya membaca sekilas tujuh halaman di bagian Memulai dan merasa satu-satunya hal yang sederhana tentang hal itu adalah saya . Dan saya bahkan belum menemukan sintaks sederhana untuk halaman utama atau dasar-dasar “Mekanisme Templating berdasarkan bahasa Liquid.” Saya lebih suka menulis situs web sendiri! Sejujurnya, saya sedikit terkejut bahwa Facebook menggunakan ini untuk dokumentasi React ketika mereka mungkin dapat membangun halaman sistem bantuan mereka menggunakan React dan melakukan pra-render sebagai file HTML statis setiap hari . Yang perlu mereka lakukan hanyalah menemukan cara untuk menerima file markup yang ada seolah-olah berasal dari CMS. Bagaimana jika...#12 Menggunakan GitHub sebagai CMS
Katakanlah kita memiliki situs web dengan beberapa teks, namun kita tidak ingin menyimpan teks tersebut sebagai markup HTML. Sebaliknya, kami ingin menyimpan potongan teks di suatu tempat yang dapat dengan mudah diedit oleh pengguna non-pengembang. Lebih disukai dengan beberapa opsi versi. Mungkin bahkan dengan semacam proses tinjauan sejawat. Inilah yang saya sarankan: gunakan file markup yang disimpan di repositori untuk menyimpan teks. Dan gunakan komponen di sisi klien yang akan mengambil potongan teks ini dan menampilkannya di halaman. Saya penggemar React, jadi inilah contoh komponen <Markdown> yang tepat, yang, jika diberi jalur ke file penurunan harga, akan mengekstraknya, menguraikannya, dan merendernya sebagai HTML.class Markdown extends React.Component {
constructor(props) {
super(props);
// Конечно, вам нужно заменить это на свой URL
this.baseUrl = 'https://raw.githubusercontent.com/davidgilbertson/about-github/master/text-snippets';
this.state = {
markdown: '',
};
}
componentDidMount() {
fetch(`${this.baseUrl}/${this.props.url}`)
.then(response => response.text())
.then((markdown) => {
this.setState({markdown});
});
}
render() {
return (
<div dangerouslySetInnerHTML={{__html: marked(this.state.markdown)}} />
);
}
}
(Saya menggunakan paket bertanda npm di sini untuk mengurai markup dalam HTML) URL menunjuk ke repositori contoh saya, yang berisi file markup di direktori /text-snippets . (Anda juga dapat menggunakan API GitHub untuk mengambil konten , tetapi saya ragu Anda memerlukannya.) Anda dapat menggunakan komponen seperti ini:
const Page = () => (
<div className="page">
<div className="about-us">
<Markdown url="about-us.md" />
</div>
<div className="disclaimer">
<p>A very important disclaimer:</p>
<Markdown url="disclaimers/home-page-disclaimer.md" />
</div>
</div>
);
Jadi sekarang GitHub bertindak sebagai CMS Anda untuk potongan teks yang ingin Anda host. Contoh di atas hanya mengambil markup setelah komponen dimuat di browser. Jika Anda memerlukan situs statis, Anda harus merendernya di server. Kabar baik! Tidak ada yang menghentikan Anda untuk mengambil semua file markup di server (menggunakan strategi caching apa pun yang Anda suka). Jika Anda memutuskan untuk mengambil rute ini, masuk akal untuk menggunakan API GitHub untuk mendapatkan daftar semua file markup dalam sebuah direktori. Bonus - Utilitas GitHub! Saya telah menggunakan ekstensi Chrome Octotree selama beberapa waktu sekarang dan merekomendasikannya kepada Anda. Bukan tanpa syarat, tapi saya tetap merekomendasikannya. Ini menampilkan panel di sebelah kiri dengan tampilan hierarki dari repositori yang Anda jelajahi.
GO TO FULL VERSION