@ -13,7 +13,7 @@ Hai, calon pengembang! 👋 Siap bergabung dengan jutaan coder di seluruh dunia?
Yang benar-benar membuat saya kagum: setiap aplikasi di ponsel Anda, setiap situs web yang Anda kunjungi, dan sebagian besar alat yang akan Anda pelajari dibuat oleh tim pengembang yang berkolaborasi di platform seperti GitHub. Aplikasi musik yang Anda sukai? Seseorang seperti Anda berkontribusi padanya. Game yang tidak bisa Anda tinggalkan? Ya, mungkin dibangun dengan kolaborasi GitHub. Dan sekarang ANDA akan belajar bagaimana menjadi bagian dari komunitas luar biasa itu!
Saya tahu ini mungkin terasa banyak pada awalnya – saya ingat saat pertama kali melihat halaman GitHub saya dan berpikir, "Apa maksud semua ini?" Tapi begini: setiap pengembang memulai persis di tempat Anda berada sekarang. Pada akhir pelajaran ini, Anda akan memiliki repositori GitHub Anda sendiri (anggap saja sebagai etalase proyek pribadi Anda di cloud), dan Anda akan tahu cara menyimpan pekerjaan Anda, membagikannya dengan orang lain, dan bahkan berkontribusi pada proyek yang digunakan jutaan orang.
Saya tahu ini mungkin terasa banyak pada awalnya – saya ingat saat pertama kali melihat halaman GitHub saya dan berpikir "Apa maksud semua ini?" Tapi begini: setiap pengembang memulai persis di tempat Anda berada sekarang. Pada akhir pelajaran ini, Anda akan memiliki repositori GitHub Anda sendiri (anggap saja sebagai etalase proyek pribadi Anda di cloud), dan Anda akan tahu cara menyimpan pekerjaan Anda, membagikannya dengan orang lain, dan bahkan berkontribusi pada proyek yang digunakan jutaan orang.
Kita akan menjalani perjalanan ini bersama, langkah demi langkah. Tidak perlu terburu-buru, tidak ada tekanan – hanya Anda, saya, dan beberapa alat keren yang akan menjadi sahabat baru Anda!
@ -42,9 +42,9 @@ journey
## Pengantar
Sebelum kita masuk ke hal-hal yang benar-benar menarik, mari siapkan komputer Anda untuk keajaiban GitHub! Anggap ini seperti mengatur perlengkapan seni Anda sebelum membuat karya masterpiece– memiliki alat yang tepat membuat segalanya lebih lancar dan jauh lebih menyenangkan.
Sebelum kita masuk ke hal-hal yang benar-benar menarik, mari siapkan komputer Anda untuk keajaiban GitHub! Anggap ini seperti mengatur perlengkapan seni Anda sebelum membuat mahakarya – memiliki alat yang tepat membuat segalanya lebih lancar dan jauh lebih menyenangkan.
Saya akan memandu Anda melalui setiap langkah pengaturan secara pribadi, dan saya janji ini tidak akan terlihat menakutkan seperti yang mungkin Anda pikirkan. Jika ada yang tidak langsung klik, itu sangat normal! Saya ingat saat pertama kali mengatur lingkungan pengembangan saya dan merasa seperti mencoba membaca hieroglif kuno. Setiap pengembang pernah berada di tempat Anda sekarang, bertanya-tanya apakah mereka melakukannya dengan benar. Spoiler: jika Anda di sini belajar, Anda sudah melakukannya dengan benar! 🌟
Saya akan memandu Anda melalui setiap langkah pengaturan secara pribadi, dan saya janji ini tidak sesulit yang terlihat pada pandangan pertama. Jika ada yang tidak langsung klik, itu sangat normal! Saya ingat saat pertama kali mengatur lingkungan pengembangan saya dan merasa seperti mencoba membaca hieroglif kuno. Setiap pengembang pernah berada di tempat Anda sekarang, bertanya-tanya apakah mereka melakukannya dengan benar. Spoiler: jika Anda di sini belajar, Anda sudah melakukannya dengan benar! 🌟
Dalam pelajaran ini, kita akan membahas:
@ -61,7 +61,7 @@ Baiklah, mari kita mulai dengan dasar-dasarnya! Pertama, kita perlu memeriksa ap
Mari kita lihat apakah Git sudah terinstal dengan mengetikkan perintah ajaib ini di terminal Anda:
`git --version`
Jika Git belum ada, jangan khawatir! Cukup kunjungi [download Git](https://git-scm.com/downloads) dan unduh. Setelah Anda menginstalnya, kita perlu memperkenalkan Git kepada Anda dengan benar:
Jika Git belum ada, tidak masalah! Cukup kunjungi [download Git](https://git-scm.com/downloads) dan unduh. Setelah Anda menginstalnya, kita perlu memperkenalkan Git kepada Anda dengan benar:
> 💡 **Pengaturan Pertama Kali**: Perintah ini memberi tahu Git siapa Anda. Informasi ini akan dilampirkan pada setiap commit yang Anda buat, jadi pilih nama dan email yang nyaman untuk dibagikan secara publik.
@ -77,7 +77,7 @@ git config --list
Anda juga memerlukan akun GitHub, editor kode (seperti Visual Studio Code), dan Anda perlu membuka terminal Anda (atau: command prompt).
Kunjungi [github.com](https://github.com/) dan buat akun jika Anda belum memilikinya, atau masuk dan lengkapi profil Anda.
Navigasikan ke [github.com](https://github.com/) dan buat akun jika Anda belum memilikinya, atau masuk dan lengkapi profil Anda.
💡 **Tip Modern**: Pertimbangkan untuk mengatur [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) atau menggunakan [GitHub CLI](https://cli.github.com/) untuk autentikasi yang lebih mudah tanpa kata sandi.
Oke, INI adalah bagian yang benar-benar menarik! 🎉 Kita akan belajar bagaimana melacak dan mengelola kode Anda seperti para profesional, dan jujur saja, ini adalah salah satu hal favorit saya untuk diajarkan karena ini benar-benar mengubah permainan.
Bayangkan ini: Anda sedang menulis cerita yang luar biasa, dan Anda ingin melacak setiap draf, setiap edit brilian, dan setiap momen "tunggu, itu jenius!" sepanjang jalan. Itulah yang dilakukan Git untuk kode Anda! Ini seperti memiliki buku catatan perjalanan waktu yang luar biasa yang mengingat SEGALANYA – setiap ketikan, setiap perubahan, setiap momen "oops, itu merusak segalanya" yang dapat Anda batalkan secara instan.
Bayangkan ini: Anda sedang menulis cerita yang luar biasa, dan Anda ingin melacak setiap draf, setiap edit brilian, dan setiap momen "tunggu, itu jenius!" sepanjang jalan. Itulah yang dilakukan Git untuk kode Anda! Ini seperti memiliki buku catatan perjalanan waktu yang luar biasa yang mengingat SEGALANYA – setiap ketikan, setiap perubahan, setiap momen "oops, itu merusak segalanya" yang dapat Anda batalkan seketika.
Saya akan jujur – ini mungkin terasa membingungkan pada awalnya. Ketika saya mulai, saya berpikir "Mengapa saya tidak bisa menyimpan file saya seperti biasa?" Tapi percayalah pada ini: begitu Git klik untuk Anda (dan itu akan!), Anda akan memiliki momen lampu yang membuat Anda berpikir "Bagaimana saya PERNAH coding tanpa ini?" Ini seperti menemukan Anda bisa terbang ketika Anda telah berjalan ke mana-mana sepanjang hidup Anda!
Saya akan jujur – ini mungkin terasa membingungkan pada awalnya. Ketika saya mulai, saya berpikir "Kenapa saya tidak bisa menyimpan file saya seperti biasa?" Tapi percayalah pada ini: begitu Git klik untuk Anda (dan itu akan!), Anda akan memiliki momen lampu yang membuat Anda berpikir "Bagaimana saya PERNAH coding tanpa ini?" Ini seperti menemukan Anda bisa terbang ketika Anda telah berjalan ke mana-mana sepanjang hidup Anda!
Misalnya, Anda memiliki folder lokal dengan proyek kode dan Anda ingin mulai melacak kemajuan Anda menggunakan git - sistem kontrol versi. Beberapa orang membandingkan menggunakan git dengan menulis surat cinta untuk diri Anda di masa depan. Membaca pesan commit Anda beberapa hari, minggu, atau bulan kemudian, Anda akan dapat mengingat mengapa Anda membuat keputusan, atau "rollback" perubahan – yaitu, ketika Anda menulis pesan commit yang baik.
Misalnya, Anda memiliki folder lokal dengan proyek kode dan Anda ingin mulai melacak kemajuan Anda menggunakan git - sistem kontrol versi. Beberapa orang membandingkan menggunakan git dengan menulis surat cinta untuk diri Anda di masa depan. Membaca pesan commit Anda beberapa hari, minggu, atau bulan kemudian, Anda akan dapat mengingat mengapa Anda membuat keputusan, atau "rollback" perubahan – yaitu, ketika Anda menulis pesan "commit" yang baik.
```mermaid
flowchart TD
@ -156,22 +156,22 @@ flowchart TD
> 🎯 **Misi Anda (dan saya sangat bersemangat untuk Anda!)**: Kita akan membuat repositori GitHub pertama Anda bersama-sama! Pada saat kita selesai di sini, Anda akan memiliki sudut kecil internet Anda sendiri tempat kode Anda tinggal, dan Anda akan membuat "commit" pertama Anda (itu istilah pengembang untuk menyimpan pekerjaan Anda dengan cara yang sangat cerdas).
>
> Ini benar-benar momen yang spesial– Anda akan secara resmi bergabung dengan komunitas pengembang global! Saya masih ingat kegembiraan membuat repo pertama saya dan berpikir "Wow, saya benar-benar melakukannya!"
> Ini benar-benar momen yang istimewa– Anda akan secara resmi bergabung dengan komunitas pengembang global! Saya masih ingat kegembiraan membuat repo pertama saya dan berpikir "Wow, saya benar-benar melakukannya!"
Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan waktu Anda di setiap bagian – tidak ada hadiah untuk terburu-buru, dan saya janji setiap langkah akan masuk akal. Ingat, setiap bintang coding yang Anda kagumi pernah duduk persis di tempat Anda berada, akan membuat repositori pertama mereka. Betapa kerennya itu?
Mari kita jalani petualangan ini bersama, langkah demi langkah. Luangkan waktu Anda di setiap bagian – tidak ada hadiah untuk terburu-buru, dan saya janji setiap langkah akan masuk akal. Ingat, setiap bintang coding yang Anda kagumi pernah duduk persis di tempat Anda berada, akan membuat repositori pertama mereka. Betapa kerennya itu?
> Tonton video
> Lihat video
>
> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
**Mari Lakukan Ini Bersama-sama:**
**Mari Lakukan Bersama:**
1. **Buat repositori Anda di GitHub**. Kunjungi GitHub.com dan cari tombol hijau cerah **New** (atau tanda **+** di sudut kanan atas). Klik dan pilih **New repository**.
1. **Buat repositori Anda di GitHub**. Pergi ke GitHub.com dan cari tombol hijau cerah **New** (atau tanda **+** di sudut kanan atas). Klik dan pilih **New repository**.
Berikut yang harus dilakukan:
1. Beri nama repositori Anda – buatlah sesuatu yang berarti bagi Anda!
1. Beri nama repositori Anda – buat sesuatu yang berarti bagi Anda!
1. Tambahkan deskripsi jika Anda mau (ini membantu orang lain memahami tentang apa proyek Anda)
1. Tentukan apakah Anda ingin repositori tersebut publik (semua orang bisa melihatnya) atau privat (hanya untuk Anda)
1. Tentukan apakah Anda ingin repositori itu publik (semua orang bisa melihatnya) atau privat (hanya untuk Anda)
1. Saya sarankan mencentang kotak untuk menambahkan file README – ini seperti halaman depan proyek Anda
1. Klik **Create repository** dan rayakan – Anda baru saja membuat repo pertama Anda! 🎉
@ -195,7 +195,7 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
**Inilah yang baru saja terjadi (hal yang cukup keren!):**
- Git baru saja membuat folder tersembunyi `.git` di proyek Anda – Anda tidak akan melihatnya, tetapi itu ada!
- Folder biasa Anda sekarang menjadi "repositori" yang dapat melacak setiap perubahan yang Anda buat
- Anggap ini seperti memberi folder Anda kekuatan super untuk mengingat segalanya
- Anggap saja seperti memberi folder Anda kekuatan super untuk mengingat segalanya
4. **Periksa apa yang sedang terjadi**. Mari kita lihat apa yang Git pikirkan tentang proyek Anda saat ini:
@ -218,7 +218,7 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
**Jangan panik! Inilah artinya:**
- File dalam **merah** adalah file yang memiliki perubahan tetapi belum siap untuk disimpan
- File dalam **hijau** (ketika Anda melihatnya) sudah siap untuk disimpan
- File dalam **hijau** (ketika Anda melihatnya) siap untuk disimpan
- Git membantu dengan memberi tahu Anda persis apa yang bisa Anda lakukan selanjutnya
> 💡 **Tip pro**: Perintah `git status` adalah sahabat Anda! Gunakan kapan saja Anda bingung tentang apa yang sedang terjadi. Ini seperti bertanya kepada Git "Hei, apa situasinya sekarang?"
@ -234,7 +234,7 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
- `.` seperti mengatakan "semua dalam folder ini"
- Sekarang file Anda "staged" dan siap untuk langkah berikutnya
**Ingin lebih selektif?** Anda dapat menambahkan hanya file tertentu:
**Ingin lebih selektif?** Anda bisa menambahkan hanya file tertentu:
```bash
git add [file or folder name]
@ -245,7 +245,7 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
- Ini membantu Anda mengatur pekerjaan Anda ke dalam bagian logis
- Membuatnya lebih mudah untuk memahami apa yang berubah dan kapan
**Berubah pikiran?** Tidak masalah! Anda dapat menghapus file dari tahap seperti ini:
**Berubah pikiran?** Tidak masalah! Anda bisa menghapus file dari tahap seperti ini:
```bash
# Unstage everything
@ -268,12 +268,12 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
**Inilah yang baru saja terjadi:**
- Git mengambil "snapshot" dari semua file yang telah Anda stage pada saat ini
- Pesan commit Anda "first commit" menjelaskan tentang apa titik penyimpanan ini
- Git memberikan snapshot ini ID unik sehingga Anda selalu dapat menemukannya nanti
- Git memberikan snapshot ini ID unik sehingga Anda selalu bisa menemukannya nanti
- Anda secara resmi mulai melacak sejarah proyek Anda!
> 💡 **Pesan commit di masa depan**: Untuk commit berikutnya, jadilah lebih deskriptif! Alih-alih "updated stuff", coba "Tambahkan formulir kontak ke halaman utama" atau "Perbaiki bug menu navigasi". Diri Anda di masa depan akan berterima kasih!
7. **Hubungkan proyek lokal Anda ke GitHub**. Saat ini, proyek Anda hanya ada di komputer Anda. Mari kita hubungkan ke repositori GitHub Anda sehingga Anda dapat membagikannya dengan dunia!
7. **Hubungkan proyek lokal Anda ke GitHub**. Saat ini, proyek Anda hanya ada di komputer Anda. Mari kita hubungkan ke repositori GitHub Anda sehingga Anda bisa membagikannya dengan dunia!
Pertama, pergi ke halaman repositori GitHub Anda dan salin URL-nya. Lalu kembali ke sini dan ketik:
@ -282,12 +282,13 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
```
(Ganti URL itu dengan URL repositori Anda yang sebenarnya!)
**Apa yang baru saja kita lakukan:**
- Kita telah membuat koneksi antara proyek lokal Anda dan repositori GitHub Anda
- "Origin" hanyalah nama panggilan untuk repositori GitHub Anda – seperti menambahkan kontak ke ponsel Anda
- Sekarang Git lokal Anda tahu ke mana harus mengirim kode Anda saat Anda siap membagikannya
💡 **Cara lebih mudah**: Jika Anda memiliki GitHub CLI terinstal, Anda bisa melakukannya dengan satu perintah:
**Apa yang baru saja kita lakukan:**
- Kami telah membuat koneksi antara proyek lokal Anda dan repositori GitHub Anda
- "Origin" hanyalah nama panggilan untuk repositori GitHub Anda – seperti menambahkan kontak ke ponsel Anda
- Sekarang Git lokal Anda tahu ke mana harus mengirim kode Anda saat Anda siap membagikannya
💡 **Cara lebih mudah**: Jika Anda memiliki GitHub CLI terinstal, Anda dapat melakukannya dengan satu perintah:
```bash
gh repo create my-repo --public --push --source=.
```
@ -298,19 +299,19 @@ Mari kita jalani petualangan ini bersama-sama, langkah demi langkah. Luangkan wa
git push -u origin main
```
**🚀 Ini dia! Anda sedang mengunggah kode Anda ke GitHub!**
**Apa yang sedang terjadi:**
- Komit Anda sedang "berjalan" dari komputer Anda ke GitHub
- Flag `-u` membuat koneksi permanen sehingga pengiriman berikutnya lebih mudah
- "main" adalah nama cabang utama Anda (seperti folder utama)
- Setelah ini, Anda hanya perlu mengetik `git push` untuk unggahan berikutnya!
**🚀 Ini dia! Anda sedang mengunggah kode Anda ke GitHub!**
**Apa yang sedang terjadi:**
- Komit Anda sedang dikirim dari komputer Anda ke GitHub
- Flag `-u` membuat koneksi permanen sehingga pengiriman berikutnya lebih mudah
- "main" adalah nama cabang utama Anda (seperti folder utama)
- Setelah ini, Anda hanya perlu mengetik `git push` untuk pengunggahan berikutnya!
💡 **Catatan cepat**: Jika cabang Anda memiliki nama lain (seperti "master"), gunakan nama itu. Anda bisa memeriksanya dengan `git branch --show-current`.
💡 **Catatan cepat**: Jika cabang Anda memiliki nama lain (seperti "master"), gunakan nama tersebut. Anda dapat memeriksanya dengan `git branch --show-current`.
9. **Ritme coding harian baru Anda** (di sinilah semuanya menjadi adiktif!):
Mulai sekarang, setiap kali Anda membuat perubahan pada proyek Anda, Anda memiliki tiga langkah sederhana ini:
Mulai sekarang, setiap kali Anda membuat perubahan pada proyek Anda, Anda memiliki tiga langkah sederhana ini:
```bash
git add .
@ -318,16 +319,16 @@ Mulai sekarang, setiap kali Anda membuat perubahan pada proyek Anda, Anda memili
git push
```
**Ini menjadi detak jantung coding Anda:**
- Buat beberapa perubahan keren pada kode Anda ✨
- Stage perubahan dengan `git add` ("Hei Git, perhatikan perubahan ini!")
- Simpan dengan `git commit` dan pesan deskriptif (masa depan Anda akan berterima kasih!)
- Bagikan dengan dunia menggunakan `git push` 🚀
- Ulangi terus – serius, ini menjadi semudah bernapas!
**Ini menjadi detak jantung coding Anda:**
- Buat beberapa perubahan keren pada kode Anda ✨
- Stage perubahan dengan `git add` ("Hei Git, perhatikan perubahan ini!")
- Simpan dengan `git commit` dan pesan deskriptif (masa depan Anda akan berterima kasih!)
- Bagikan ke dunia menggunakan `git push` 🚀
- Ulangi terus – serius, ini menjadi sealamiah bernapas!
Saya suka alur kerja ini karena seperti memiliki beberapa titik penyimpanan dalam permainan video. Membuat perubahan yang Anda sukai? Komit! Ingin mencoba sesuatu yang berisiko? Tidak masalah – Anda selalu bisa kembali ke komit terakhir jika ada masalah!
Saya suka alur kerja ini karena seperti memiliki beberapa titik penyimpanan dalam permainan video. Membuat perubahan yang Anda sukai? Komit! Ingin mencoba sesuatu yang berisiko? Tidak masalah – Anda selalu dapat kembali ke komit terakhir jika ada masalah!
> 💡 **Tip**: Anda mungkin juga ingin menggunakan file `.gitignore` untuk mencegah file yang tidak ingin Anda lacak muncul di GitHub - seperti file catatan yang Anda simpan di folder yang sama tetapi tidak cocok untuk repositori publik. Anda dapat menemukan template untuk file `.gitignore` di [.gitignore templates](https://github.com/github/gitignore) atau membuatnya menggunakan [gitignore.io](https://www.toptal.com/developers/gitignore).
> 💡 **Tip**: Anda mungkin juga ingin menggunakan file `.gitignore` untuk mencegah file yang tidak ingin Anda lacak muncul di GitHub - seperti file catatan yang Anda simpan di folder yang sama tetapi tidak cocok untuk repositori publik. Anda dapat menemukan template untuk file `.gitignore` di [.gitignore templates](https://github.com/github/gitignore) atau membuatnya menggunakan [gitignore.io](https://www.toptal.com/developers/gitignore).
> **Ingat**: Bahkan pengembang berpengalaman kadang-kadang lupa perintah yang tepat. Membuat alur kerja ini menjadi memori otot membutuhkan latihan - Anda sudah melakukan yang hebat!
#### Alur kerja Git modern
#### Alur Kerja Git Modern
Pertimbangkan untuk mengadopsi praktik modern ini:
- **Conventional Commits**: Gunakan format pesan komit yang standar seperti `feat:`, `fix:`, `docs:`, dll. Pelajari lebih lanjut di [conventionalcommits.org](https://www.conventionalcommits.org/)
- **Komit atomik**: Buat setiap komit mewakili satu perubahan logis
- **Komit sering**: Komit sering dengan pesan deskriptif daripada komit besar yang jarang
- **Atomic commits**: Buat setiap komit mewakili satu perubahan logis
- **Frequent commits**: Komit sering dengan pesan deskriptif daripada komit besar yang jarang
#### Pesan komit
#### Pesan Komit
Baris subjek pesan komit Git yang hebat melengkapi kalimat berikut:
Jika diterapkan, komit ini akan <barissubjekAndadisini>
Untuk subjek gunakan bentuk imperatif, waktu sekarang: "ubah" bukan "diubah" atau "mengubah".
Seperti pada subjek, di badan (opsional) juga gunakan bentuk imperatif, waktu sekarang. Badan harus mencakup motivasi untuk perubahan dan kontras ini dengan perilaku sebelumnya. Anda menjelaskan `mengapa`, bukan `bagaimana`.
Seperti pada subjek, di badan (opsional) juga gunakan bentuk imperatif, waktu sekarang. Badan harus mencakup motivasi untuk perubahan dan membandingkan ini dengan perilaku sebelumnya. Anda menjelaskan `mengapa`, bukan `bagaimana`.
✅ Luangkan beberapa menit untuk menjelajahi GitHub. Bisakah Anda menemukan pesan komit yang benar-benar hebat? Bisakah Anda menemukan yang sangat minimal? Informasi apa yang menurut Anda paling penting dan berguna untuk disampaikan dalam pesan komit?
## Bekerja dengan Orang Lain (Bagian Seru!)
## Bekerja dengan Orang Lain (Bagian yang Menyenangkan!)
Pegang topi Anda karena INI adalah saat GitHub menjadi benar-benar ajaib! 🪄 Anda telah menguasai pengelolaan kode Anda sendiri, tetapi sekarang kita akan menyelami bagian favorit saya – berkolaborasi dengan orang-orang luar biasa dari seluruh dunia.
Bayangkan ini: Anda bangun besok dan melihat seseorang di Tokyo meningkatkan kode Anda saat Anda tidur. Kemudian seseorang di Berlin memperbaiki bug yang membuat Anda buntu. Pada sore hari, seorang pengembang di São Paulo menambahkan fitur yang bahkan tidak pernah Anda pikirkan. Itu bukan fiksi ilmiah – itu hanya hari Selasa di dunia GitHub!
Bayangkan ini: Anda bangun besok dan melihat seseorang di Tokyo meningkatkan kode Anda saat Anda tidur. Kemudian seseorang di Berlin memperbaiki bug yang Anda hadapi. Pada sore hari, seorang pengembang di São Paulo menambahkan fitur yang bahkan tidak pernah Anda pikirkan. Itu bukan fiksi ilmiah – itu hanya hari Selasa di dunia GitHub!
Yang membuat saya sangat bersemangat adalah keterampilan kolaborasi yang akan Anda pelajari? Ini adalah alur kerja YANG SAMA persis yang digunakan tim di Google, Microsoft, dan startup favorit Anda setiap hari. Anda tidak hanya belajar alat yang keren – Anda belajar bahasa rahasia yang membuat seluruh dunia perangkat lunak bekerja bersama.
Yang membuat saya sangat bersemangat adalah keterampilan kolaborasi yang akan Anda pelajari? Ini adalah alur kerja YANG SAMA persis yang digunakan tim di Google, Microsoft, dan startup favorit Anda setiap hari. Anda tidak hanya belajar alat yang keren – Anda belajar bahasa rahasia yang membuat seluruh dunia perangkat lunak bekerja bersama.
Serius, begitu Anda merasakan sensasi seseorang menggabungkan pull request pertama Anda, Anda akan mengerti mengapa pengembang sangat bersemangat tentang open source. Rasanya seperti menjadi bagian dari proyek tim terbesar dan paling kreatif di dunia!
Serius, begitu Anda merasakan sensasi seseorang menggabungkan permintaan tarik pertama Anda, Anda akan mengerti mengapa pengembang sangat bersemangat tentang open source. Rasanya seperti menjadi bagian dari proyek tim terbesar dan paling kreatif di dunia!
> Tonton video
>
@ -411,7 +412,7 @@ flowchart LR
Di repositori Anda, navigasikan ke `Insights > Community` untuk melihat bagaimana proyek Anda dibandingkan dengan standar komunitas yang direkomendasikan.
Ingin membuat repositori Anda terlihat profesional dan ramah? Pergi ke repositori Anda dan klik `Insights > Community`. Fitur keren ini menunjukkan bagaimana proyek Anda dibandingkan dengan apa yang dianggap sebagai "praktik repositori yang baik" oleh komunitas GitHub.
Ingin membuat repositori Anda terlihat profesional dan ramah? Pergi ke repositori Anda dan klik `Insights > Community`. Fitur keren ini menunjukkan kepada Anda bagaimana proyek Anda dibandingkan dengan apa yang dianggap sebagai "praktik repositori yang baik" oleh komunitas GitHub.
> 🎯 **Membuat Proyek Anda Bersinar**: Repositori yang terorganisir dengan baik dan dokumentasi yang baik seperti memiliki etalase yang bersih dan ramah. Ini menunjukkan bahwa Anda peduli dengan pekerjaan Anda dan membuat orang lain ingin berkontribusi!
@ -420,13 +421,13 @@ Ingin membuat repositori Anda terlihat profesional dan ramah? Pergi ke repositor
| Apa yang Ditambahkan | Mengapa Penting | Apa yang Dilakukan untuk Anda |
| **Deskripsi** | Kesan pertama itu penting! | Orang tahu langsung apa yang dilakukan proyek Anda |
| **README** | Halaman depan proyek Anda | Seperti pemandu wisata yang ramah untuk pengunjung baru |
| **Panduan Kontribusi** | Menunjukkan Anda menyambut bantuan | Orang tahu persis bagaimana mereka bisa membantu Anda |
| **README** | Halaman depan proyek Anda | Seperti pemandu wisata ramah untuk pengunjung baru |
| **Panduan Kontribusi** | Menunjukkan Anda menyambut bantuan | Orang tahu persis bagaimana mereka dapat membantu Anda |
| **Kode Etik** | Menciptakan ruang yang ramah | Semua orang merasa diterima untuk berpartisipasi |
| **Lisensi** | Kejelasan hukum | Orang lain tahu bagaimana mereka bisa menggunakan kode Anda |
| **Lisensi** | Kejelasan hukum | Orang lain tahu bagaimana mereka dapat menggunakan kode Anda |
| **Kebijakan Keamanan** | Menunjukkan Anda bertanggung jawab | Menunjukkan praktik profesional |
> 💡 **Pro Tip**: GitHub menyediakan template untuk semua file ini. Saat membuat repositori baru, centang kotak untuk secara otomatis menghasilkan file-file ini.
> 💡 **Tip Pro**: GitHub menyediakan template untuk semua file ini. Saat membuat repositori baru, centang kotak untuk secara otomatis menghasilkan file-file ini.
**Fitur Modern GitHub untuk Dijelajahi:**
@ -441,24 +442,24 @@ Ingin membuat repositori Anda terlihat profesional dan ramah? Pergi ke repositor
Semua sumber daya ini akan bermanfaat untuk onboarding anggota tim baru. Dan ini biasanya adalah hal-hal yang dilihat oleh kontributor baru sebelum bahkan melihat kode Anda, untuk mengetahui apakah proyek Anda adalah tempat yang tepat bagi mereka untuk menghabiskan waktu mereka.
✅ File README, meskipun memerlukan waktu untuk disiapkan, sering diabaikan oleh pemelihara yang sibuk. Bisakah Anda menemukan contoh yang sangat deskriptif? Catatan: ada beberapa [alat untuk membantu membuat README yang baik](https://www.makeareadme.com/) yang mungkin ingin Anda coba.
✅ File README, meskipun membutuhkan waktu untuk disiapkan, sering diabaikan oleh pemelihara yang sibuk. Bisakah Anda menemukan contoh yang sangat deskriptif? Catatan: ada beberapa [alat untuk membantu membuat README yang baik](https://www.makeareadme.com/) yang mungkin ingin Anda coba.
### Tugas: Gabungkan beberapa kode
Dokumen kontribusi membantu orang berkontribusi pada proyek. Ini menjelaskan jenis kontribusi apa yang Anda cari dan bagaimana prosesnya bekerja. Kontributor perlu melalui serangkaian langkah untuk dapat berkontribusi pada repo Anda di GitHub:
Dokumen kontribusi membantu orang berkontribusi pada proyek. Ini menjelaskan jenis kontribusi apa yang Anda cari dan bagaimana prosesnya bekerja. Kontributor perlu melalui serangkaian langkah untuk dapat berkontribusi pada repositori Anda di GitHub:
1. **Forking repo Anda** Anda mungkin ingin orang-orang _fork_ proyek Anda. Forking berarti membuat replika repositori Anda di profil GitHub mereka.
1. **Clone**. Dari sana mereka akan mengkloning proyek ke mesin lokal mereka.
1. **Buat cabang**. Anda ingin meminta mereka membuat _cabang_ untuk pekerjaan mereka.
1. **Forking repositori Anda** Anda mungkin ingin orang-orang _fork_ proyek Anda. Forking berarti membuat replika repositori Anda di profil GitHub mereka.
1. **Clone**. Dari sana mereka akan mengkloning proyek ke mesin lokal mereka.
1. **Buat cabang**. Anda akan ingin meminta mereka membuat _cabang_ untuk pekerjaan mereka.
1. **Fokuskan perubahan mereka pada satu area**. Minta kontributor untuk memusatkan kontribusi mereka pada satu hal pada satu waktu - dengan cara itu peluang Anda untuk _menggabungkan_ pekerjaan mereka lebih tinggi. Bayangkan mereka menulis perbaikan bug, menambahkan fitur baru, dan memperbarui beberapa tes - bagaimana jika Anda ingin, atau hanya dapat menerapkan 2 dari 3, atau 1 dari 3 perubahan?
✅ Bayangkan situasi di mana cabang sangat penting untuk menulis dan mengirimkan kode yang baik. Kasus penggunaan apa yang bisa Anda pikirkan?
✅ Bayangkan situasi di mana cabang sangat penting untuk menulis dan mengirimkan kode yang baik. Kasus penggunaan apa yang dapat Anda pikirkan?
> Catatan, jadilah perubahan yang ingin Anda lihat di dunia, dan buat cabang untuk pekerjaan Anda sendiri juga. Komit apa pun yang Anda buat akan dibuat di cabang tempat Anda saat ini "checked out". Gunakan `git status` untuk melihat cabang mana itu.
Mari kita melalui alur kerja kontributor. Anggaplah kontributor telah _forked_ dan _cloned_ repo sehingga mereka memiliki repo Git yang siap untuk dikerjakan, di mesin lokal mereka:
Mari kita melalui alur kerja kontributor. Anggaplah kontributor telah _forked_ dan _cloned_ repositori sehingga mereka memiliki repositori Git yang siap untuk dikerjakan, di mesin lokal mereka:
1. **Buat cabang**. Gunakan perintah `git branch` untuk membuat cabang yang akan berisi perubahan yang ingin mereka kontribusikan:
1. **Buat cabang**. Gunakan perintah `git branch` untuk membuat cabang yang akan berisi perubahan yang mereka maksudkan untuk berkontribusi:
```bash
git branch [branch-name]
@ -484,7 +485,7 @@ Mari kita melalui alur kerja kontributor. Anggaplah kontributor telah _forked_ d
git commit -m "my changes"
```
> ⚠️ **Kualitas Pesan Komit**: Pastikan Anda memberikan nama yang baik untuk komit Anda, baik untuk kepentingan Anda maupun pemelihara repo yang Anda bantu. Jadilah spesifik tentang apa yang Anda ubah!
> ⚠️ **Kualitas Pesan Komit**: Pastikan Anda memberikan nama yang baik untuk komit Anda, baik untuk kepentingan Anda maupun pemelihara repositori yang Anda bantu. Jadilah spesifik tentang apa yang Anda ubah!
1. **Gabungkan pekerjaan Anda dengan cabang `main`**. Pada suatu saat Anda selesai bekerja dan Anda ingin menggabungkan pekerjaan Anda dengan cabang `main`. Cabang `main` mungkin telah berubah sementara itu jadi pastikan Anda pertama-tama memperbaruinya ke yang terbaru dengan perintah berikut:
@ -502,19 +503,19 @@ Mari kita melalui alur kerja kontributor. Anggaplah kontributor telah _forked_ d
Perintah `git merge main` akan membawa semua perubahan dari `main` ke cabang Anda. Semoga Anda bisa langsung melanjutkan. Jika tidak, VS Code akan memberi tahu Anda di mana Git _bingung_ dan Anda hanya perlu mengubah file yang terpengaruh untuk mengatakan konten mana yang paling akurat.
💡 **Alternatif modern**: Pertimbangkan menggunakan `git rebase` untuk riwayat yang lebih bersih:
💡 **Alternatif Modern**: Pertimbangkan menggunakan `git rebase` untuk sejarah yang lebih bersih:
```bash
git rebase main
```
Ini memutar ulang komit Anda di atas cabang utama terbaru, menciptakan riwayat yang linear.
Ini memutar ulang komit Anda di atas cabang utama terbaru, menciptakan sejarah yang linear.
1. **Kirim pekerjaan Anda ke GitHub**. Mengirim pekerjaan Anda ke GitHub berarti dua hal. Mendorong cabang Anda ke repo Anda dan kemudian membuka PR, Pull Request.
1. **Kirim pekerjaan Anda ke GitHub**. Mengirim pekerjaan Anda ke GitHub berarti dua hal. Mendorong cabang Anda ke repositori Anda dan kemudian membuka PR, Pull Request.
```bash
git push --set-upstream origin [branch-name]
```
Perintah di atas membuat cabang di repo yang Anda fork.
Perintah di atas membuat cabang di repositori yang Anda fork.
### 🤝 **Pemeriksaan Keterampilan Kolaborasi: Siap Bekerja dengan Orang Lain?**
@ -540,9 +541,9 @@ mindmap
Good documentation
```
> **Peningkat kepercayaan diri**: Setiap pengembang yang Anda kagumi pernah merasa gugup tentang pull request pertama mereka. Komunitas GitHub sangat ramah kepada pendatang baru!
> **Peningkat kepercayaan diri**: Setiap pengembang yang Anda kagumi pernah merasa gugup tentang permintaan tarik pertama mereka. Komunitas GitHub sangat menyambut pendatang baru!
1. **Buka PR**. Selanjutnya, Anda ingin membuka PR. Anda melakukannya dengan menavigasi ke repo yang di-fork di GitHub. Anda akan melihat indikasi di GitHub di mana ia bertanya apakah Anda ingin membuat PR baru, Anda klik itu dan Anda dibawa ke antarmuka di mana Anda dapat mengubah judul pesan komit, memberikan deskripsi yang lebih sesuai. Sekarang pemelihara repo yang Anda fork akan melihat PR ini dan _semoga_ mereka akan menghargai dan _menggabungkan_ PR Anda. Anda sekarang adalah kontributor, yay :)
1. **Buka PR**. Selanjutnya, Anda ingin membuka PR. Anda melakukannya dengan menavigasi ke repositori yang di-fork di GitHub. Anda akan melihat indikasi di GitHub di mana ia bertanya apakah Anda ingin membuat PR baru, Anda klik itu dan Anda dibawa ke antarmuka di mana Anda dapat mengubah judul pesan komit, memberikan deskripsi yang lebih sesuai. Sekarang pemelihara repositori yang Anda fork akan melihat PR ini dan _semoga_ mereka menghargai dan _menggabungkan_ PR Anda. Anda sekarang adalah kontributor, yay :)
💡 **Tip Modern**: Anda juga dapat membuat PR menggunakan GitHub CLI:
```bash
@ -552,20 +553,20 @@ mindmap
🔧 **Praktik terbaik untuk PR**:
- Tautkan ke masalah terkait menggunakan kata kunci seperti "Fixes #123"
- Tambahkan tangkapan layar untuk perubahan UI
- Minta reviewer tertentu
- Minta pengulas tertentu
- Gunakan PR draft untuk pekerjaan yang sedang berlangsung
- Pastikan semua pemeriksaan CI lulus sebelum meminta review
1. **Bersihkan**. Merupakan praktik yang baik untuk _membersihkan_ setelah Anda berhasil menggabungkan PR. Anda perlu membersihkan cabang lokal Anda dan cabang yang Anda dorong ke GitHub. Pertama, hapus cabang lokal dengan perintah berikut:
- Pastikan semua pemeriksaan CI lulus sebelum meminta ulasan
1. **Bersihkan**. Merupakan praktik yang baik untuk _membersihkan_ setelah Anda berhasil menggabungkan PR. Anda perlu membersihkan cabang lokal Anda dan cabang yang Anda unggah ke GitHub. Pertama, hapus cabang lokal dengan perintah berikut:
```bash
git branch -d [branch-name]
```
Pastikan Anda pergi ke halaman GitHub untuk repo yang telah di-fork dan hapus cabang remote yang baru saja Anda dorong.
Pastikan Anda pergi ke halaman GitHub untuk repo yang di-fork dan hapus cabang remote yang baru saja Anda unggah.
`Pull request` mungkin terdengar seperti istilah yang aneh karena sebenarnya Anda ingin mendorong perubahan Anda ke proyek. Namun, pemelihara (pemilik proyek) atau tim inti perlu mempertimbangkan perubahan Anda sebelum menggabungkannya dengan cabang "main" proyek, jadi Anda sebenarnya meminta keputusan perubahan dari pemelihara.
`Pull request` mungkin terdengar seperti istilah yang aneh karena sebenarnya Anda ingin mendorong perubahan Anda ke proyek. Namun, pemilik proyek atau tim inti perlu mempertimbangkan perubahan Anda sebelum menggabungkannya dengan cabang "utama" proyek, jadi Anda sebenarnya meminta keputusan perubahan dari pemilik proyek.
Pull request adalah tempat untuk membandingkan dan mendiskusikan perbedaan yang diperkenalkan pada cabang dengan ulasan, komentar, tes terintegrasi, dan lainnya. Pull request yang baik mengikuti aturan yang kurang lebih sama seperti pesan commit. Anda dapat menambahkan referensi ke sebuah isu di pelacak isu, misalnya ketika pekerjaan Anda memperbaiki sebuah isu. Ini dilakukan dengan menggunakan `#` diikuti oleh nomor isu Anda. Contohnya `#97`.
Pull request adalah tempat untuk membandingkan dan mendiskusikan perbedaan yang diperkenalkan pada sebuah cabang dengan ulasan, komentar, pengujian terintegrasi, dan lainnya. Pull request yang baik mengikuti aturan yang kurang lebih sama dengan pesan commit. Anda dapat menambahkan referensi ke sebuah issue di pelacak issue, misalnya ketika pekerjaan Anda memperbaiki sebuah issue. Ini dilakukan dengan menggunakan `#` diikuti oleh nomor issue Anda. Contohnya `#97`.
🤞Semoga semua pemeriksaan lulus dan pemilik proyek menggabungkan perubahan Anda ke dalam proyek🤞
@ -575,13 +576,13 @@ Perbarui cabang kerja lokal Anda saat ini dengan semua commit baru dari cabang r
## Berkontribusi pada Open Source (Kesempatan Anda untuk Memberi Dampak!)
Siap untuk sesuatu yang akan benar-benar mengejutkan Anda? 🤯 Mari kita bicara tentang berkontribusi pada proyek open source – dan saya merinding hanya memikirkan untuk berbagi ini dengan Anda!
Apakah Anda siap untuk sesuatu yang akan benar-benar membuat Anda takjub? 🤯 Mari kita bicara tentang berkontribusi pada proyek open source – dan saya merinding hanya memikirkan untuk berbagi ini dengan Anda!
Ini adalah kesempatan Anda untuk menjadi bagian dari sesuatu yang benar-benar luar biasa. Bayangkan memperbaiki alat yang digunakan jutaan pengembang setiap hari, atau memperbaiki bug di aplikasi yang disukai teman-teman Anda. Itu bukan hanya mimpi – itulah yang dimaksud dengan kontribusi open source!
Inilah yang membuat saya merinding setiap kali memikirkannya: setiap alat yang Anda pelajari – editor kode Anda, framework yang akan kita eksplorasi, bahkan browser tempat Anda membaca ini – dimulai dengan seseorang persis seperti Anda yang membuat kontribusi pertama mereka. Pengembang brilian yang membangun ekstensi VS Code favorit Anda? Mereka dulu pemula yang mengklik "create pull request" dengan tangan gemetar, persis seperti yang akan Anda lakukan.
Inilah yang selalu membuat saya merinding: setiap alat yang Anda pelajari – editor kode Anda, framework yang akan kita jelajahi, bahkan browser tempat Anda membaca ini – dimulai dengan seseorang seperti Anda yang membuat kontribusi pertama mereka. Pengembang brilian yang membangun ekstensi VS Code favorit Anda? Mereka dulu adalah pemula yang mengklik "create pull request" dengan tangan gemetar, seperti yang akan Anda lakukan.
Dan inilah bagian yang paling indah: komunitas open source seperti pelukan terbesar di internet. Sebagian besar proyek secara aktif mencari pendatang baru dan memiliki isu yang diberi label "good first issue" khusus untuk orang seperti Anda! Pemelihara benar-benar bersemangat ketika mereka melihat kontributor baru karena mereka ingat langkah pertama mereka sendiri.
Dan inilah bagian terindahnya: komunitas open source seperti pelukan grup terbesar di internet. Sebagian besar proyek secara aktif mencari pendatang baru dan memiliki issue yang diberi label "good first issue" khusus untuk orang seperti Anda! Para pemilik proyek benar-benar bersemangat ketika mereka melihat kontributor baru karena mereka ingat langkah pertama mereka sendiri.
```mermaid
flowchart TD
@ -603,15 +604,15 @@ flowchart TD
style M fill:#fff59d
```
Anda tidak hanya belajar kode di sini – Anda sedang mempersiapkan diri untuk bergabung dengan keluarga global pembangun yang bangun setiap hari dengan berpikir "Bagaimana kita bisa membuat dunia digital sedikit lebih baik?" Selamat datang di klub! 🌟
Anda tidak hanya belajar coding di sini – Anda sedang mempersiapkan diri untuk bergabung dengan keluarga global pembangun yang bangun setiap hari dengan berpikir "Bagaimana kita bisa membuat dunia digital sedikit lebih baik?" Selamat datang di klub! 🌟
Pertama, mari kita temukan repositori (atau **repo**) di GitHub yang menarik bagi Anda dan ingin Anda kontribusikan perubahan. Anda akan ingin menyalin kontennya ke mesin Anda.
Pertama, mari kita temukan repositori (atau **repo**) di GitHub yang menarik bagi Anda dan ingin Anda kontribusikan perubahan. Anda akan ingin menyalin isinya ke mesin Anda.
✅ Cara yang baik untuk menemukan repo yang 'ramah pemula' adalah dengan [mencari berdasarkan tag 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
✅ Cara yang baik untuk menemukan repo 'ramah pemula' adalah dengan [mencari berdasarkan tag 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).

Ada beberapa cara untuk menyalin kode. Salah satu caranya adalah "mengkloning" konten repositori, menggunakan HTTPS, SSH, atau menggunakan GitHub CLI (Command Line Interface).
Ada beberapa cara untuk menyalin kode. Salah satunya adalah dengan "mengkloning" isi repositori, menggunakan HTTPS, SSH, atau menggunakan GitHub CLI (Command Line Interface).
Buka terminal Anda dan kloning repositori seperti ini:
```bash
@ -634,55 +635,55 @@ Anda juga dapat membuka seluruh proyek menggunakan:
- **[GitHub.dev](https://github.dev)** - Tekan tombol `.` pada repo GitHub mana pun untuk membuka VS Code di browser
- **VS Code** dengan ekstensi GitHub Pull Requests
Terakhir, Anda dapat mengunduh kode dalam folder yang dikompresi.
Terakhir, Anda dapat mengunduh kode dalam folder zip.
### Beberapa hal menarik tentang GitHub
### Beberapa hal menarik lainnya tentang GitHub
Anda dapat memberi bintang, menonton, dan/atau "fork" repositori publik mana pun di GitHub. Anda dapat menemukan repositori yang Anda beri bintang di menu drop-down kanan atas. Ini seperti menandai, tetapi untuk kode.
Proyek memiliki pelacak isu, biasanya di GitHub di tab "Issues" kecuali dinyatakan lain, tempat orang-orang mendiskusikan isu terkait proyek. Dan tab Pull Requests adalah tempat orang-orang mendiskusikan dan meninjau perubahan yang sedang berlangsung.
Proyek memiliki pelacak issue, biasanya di GitHub di tab "Issues" kecuali dinyatakan lain, tempat orang mendiskusikan masalah terkait proyek. Dan tab Pull Requests adalah tempat orang mendiskusikan dan meninjau perubahan yang sedang berlangsung.
Proyek mungkin juga memiliki diskusi di forum, milis, atau saluran obrolan seperti Slack, Discord, atau IRC.
🔧 **Fitur modern GitHub**:
- **GitHub Discussions** - Forum bawaan untuk percakapan komunitas
- **GitHub Sponsors** - Mendukung pemelihara secara finansial
- **Tab Security** - Laporan kerentanan dan saran keamanan
- **Tab Actions** - Lihat alur kerja otomatis dan pipeline CI/CD
- **Tab Insights** - Analitik tentang kontributor, commit, dan kesehatan proyek
- **Tab Projects** - Alat manajemen proyek bawaan GitHub
- **GitHub Sponsors** - Mendukung pemilik proyek secara finansial
- **Security tab** - Laporan kerentanan dan saran keamanan
- **Actions tab** - Melihat alur kerja otomatis dan pipeline CI/CD
- **Insights tab** - Analitik tentang kontributor, commit, dan kesehatan proyek
- **Projects tab** - Alat manajemen proyek bawaan GitHub
✅ Jelajahi repo GitHub baru Anda dan coba beberapa hal, seperti mengedit pengaturan, menambahkan informasi ke repo Anda, membuat proyek (seperti papan Kanban), dan mengatur GitHub Actions untuk otomatisasi. Ada banyak yang bisa Anda lakukan!
✅ Jelajahi repo GitHub baru Anda dan coba beberapa hal, seperti mengedit pengaturan, menambahkan informasi ke repo Anda, membuat proyek (seperti papan Kanban), dan mengatur GitHub Actions untuk otomatisasi. Ada banyak hal yang bisa Anda lakukan!
---
## 🚀 Tantangan
Baiklah, saatnya menguji kekuatan GitHub baru Anda! 🚀 Berikut adalah tantangan yang akan membuat semuanya terasa sangat memuaskan:
Baiklah, saatnya menguji kemampuan GitHub baru Anda! 🚀 Berikut adalah tantangan yang akan membuat semuanya terasa lebih nyata:
Ajak seorang teman (atau anggota keluarga yang selalu bertanya apa yang Anda lakukan dengan semua "hal komputer" ini) dan lakukan petualangan coding kolaboratif bersama! Di sinilah keajaiban nyata terjadi – buat proyek, biarkan mereka fork, buat beberapa cabang, dan gabungkan perubahan seperti profesional yang sedang Anda menjadi.
Ajak seorang teman (atau anggota keluarga yang selalu bertanya apa yang Anda lakukan dengan semua "hal komputer" ini) dan mulailah petualangan coding kolaboratif bersama! Di sinilah keajaiban nyata terjadi – buat proyek, biarkan mereka fork, buat beberapa cabang, dan gabungkan perubahan seperti profesional yang sedang Anda wujudkan.
Saya tidak akan berbohong – Anda mungkin akan tertawa di suatu saat (terutama ketika Anda berdua mencoba mengubah baris yang sama), mungkin menggaruk kepala Anda karena bingung, tetapi Anda pasti akan memiliki momen "aha!" yang luar biasa yang membuat semua pembelajaran ini berharga. Plus, ada sesuatu yang istimewa tentang berbagi penggabungan pertama yang sukses dengan orang lain – ini seperti perayaan kecil atas seberapa jauh Anda telah melangkah!
Saya tidak akan berbohong – Anda mungkin akan tertawa di beberapa titik (terutama ketika Anda berdua mencoba mengubah baris yang sama), mungkin menggaruk kepala karena bingung, tetapi Anda pasti akan memiliki momen "aha!" yang luar biasa yang membuat semua pembelajaran terasa sepadan. Plus, ada sesuatu yang istimewa tentang berbagi penggabungan pertama yang sukses dengan orang lain – ini seperti perayaan kecil tentang seberapa jauh Anda telah melangkah!
Belum punya teman coding? Tidak masalah sama sekali! Komunitas GitHub penuh dengan orang-orang yang sangat ramah yang ingat bagaimana rasanya menjadi baru. Cari repositori dengan label "good first issue" – mereka pada dasarnya mengatakan "Hei pemula, mari belajar bersama kami!" Betapa kerennya itu?
Belum punya teman coding? Tidak masalah sama sekali! Komunitas GitHub penuh dengan orang-orang yang sangat ramah yang ingat bagaimana rasanya menjadi baru. Cari repositori dengan label "good first issue" – mereka pada dasarnya berkata "Hei pemula, belajar bersama kami!" Betapa kerennya itu?
Wah! 🎉 Lihat Anda – Anda baru saja menaklukkan dasar-dasar GitHub seperti seorang juara sejati! Jika otak Anda terasa sedikit penuh sekarang, itu sepenuhnya normal dan jujur merupakan tanda yang baik. Anda baru saja mempelajari alat yang membutuhkan waktu berminggu-minggu untuk saya merasa nyaman saat saya mulai.
Wah! 🎉 Lihat Anda – Anda baru saja menaklukkan dasar-dasar GitHub seperti seorang juara sejati! Jika otak Anda terasa sedikit penuh sekarang, itu sepenuhnya normal dan jujur adalah tanda yang baik. Anda baru saja mempelajari alat yang membutuhkan waktu berminggu-minggu untuk saya pahami saat saya mulai.
Git dan GitHub sangat kuat (serius, sangat kuat), dan setiap pengembang yang saya kenal – termasuk yang sekarang terlihat seperti penyihir – harus berlatih dan tersandung sedikit sebelum semuanya klik. Fakta bahwa Anda telah menyelesaikan pelajaran ini berarti Anda sudah dalam perjalanan untuk menguasai beberapa alat terpenting dalam toolkit pengembang.
Git dan GitHub sangat kuat (seperti, benar-benar kuat), dan setiap pengembang yang saya kenal – termasuk yang sekarang terlihat seperti penyihir – harus berlatih dan tersandung sedikit sebelum semuanya terasa klik. Fakta bahwa Anda telah menyelesaikan pelajaran ini berarti Anda sudah dalam perjalanan untuk menguasai beberapa alat terpenting dalam toolkit pengembang.
Berikut adalah beberapa sumber daya yang sangat fantastis untuk membantu Anda berlatih dan menjadi lebih hebat lagi:
Berikut adalah beberapa sumber daya luar biasa untuk membantu Anda berlatih dan menjadi lebih hebat lagi:
- [Panduan berkontribusi pada perangkat lunak open source](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Peta jalan Anda untuk membuat perbedaan
- [Cheatsheet Git](https://training.github.com/downloads/github-git-cheat-sheet/) – Simpan ini untuk referensi cepat!
Dan ingat: latihan membuat kemajuan, bukan kesempurnaan! Semakin sering Anda menggunakan Git dan GitHub, semakin alami rasanya. GitHub telah membuat beberapa kursus interaktif yang luar biasa yang memungkinkan Anda berlatih di lingkungan yang aman:
**Deskripsi:** Buat proyek pengembangan web kolaboratif yang menunjukkan alur kerja GitHub lengkap yang telah Anda pelajari dalam pelajaran ini. Tantangan ini akan membantu Anda berlatih pembuatan repositori, fitur kolaborasi, dan alur kerja Git modern dalam skenario dunia nyata.
**Prompt:** Buat repositori GitHub publik baru untuk proyek "Sumber Daya Pengembangan Web" sederhana. Repositori harus mencakup file README.md yang terstruktur dengan baik yang mencantumkan alat dan sumber daya pengembangan web yang berguna, diorganisasikan berdasarkan kategori (HTML, CSS, JavaScript, dll.). Atur repositori dengan standar komunitas yang tepat termasuk lisensi, panduan kontribusi, dan kode etik. Buat setidaknya dua cabang fitur: satu untuk menambahkan sumber daya CSS dan satu lagi untuk sumber daya JavaScript. Lakukan commit ke setiap cabang dengan pesan commit yang deskriptif, lalu buat pull request untuk menggabungkan perubahan kembali ke main. Aktifkan fitur GitHub seperti Issues, Discussions, dan atur alur kerja GitHub Actions dasar untuk pemeriksaan otomatis.
**Prompt:** Buat repositori GitHub publik baru untuk proyek "Sumber Daya Pengembangan Web" sederhana. Repositori harus mencakup file README.md yang terstruktur dengan baik yang mencantumkan alat dan sumber daya pengembangan web yang berguna, diorganisir berdasarkan kategori (HTML, CSS, JavaScript, dll.). Atur repositori dengan standar komunitas yang tepat termasuk lisensi, pedoman kontribusi, dan kode etik. Buat setidaknya dua cabang fitur: satu untuk menambahkan sumber daya CSS dan satu lagi untuk sumber daya JavaScript. Lakukan commit ke setiap cabang dengan pesan commit yang deskriptif, lalu buat pull request untuk menggabungkan perubahan kembali ke main. Aktifkan fitur GitHub seperti Issues, Discussions, dan atur alur kerja GitHub Actions dasar untuk pemeriksaan otomatis.
## Tugas
Misi Anda, jika Anda memilih untuk menerimanya: Selesaikan kursus [Pengantar GitHub](https://github.com/skills/introduction-to-github) di GitHub Skills. Kursus interaktif ini akan memungkinkan Anda berlatih semua yang telah Anda pelajari di lingkungan yang aman dan terarah. Plus, Anda akan mendapatkan lencana keren saat selesai! 🏅
Misi Anda, jika Anda memilih untuk menerimanya: Selesaikan kursus [Pengenalan ke GitHub](https://github.com/skills/introduction-to-github) di GitHub Skills. Kursus interaktif ini akan memungkinkan Anda berlatih semua yang telah Anda pelajari di lingkungan yang aman dan terarah. Plus, Anda akan mendapatkan lencana keren saat selesai! 🏅
**Merasa siap untuk tantangan lebih lanjut?**
- Atur otentikasi SSH untuk akun GitHub Anda (tidak perlu lagi kata sandi!)
- Atur otentikasi SSH untuk akun GitHub Anda (tidak perlu kata sandi lagi!)
- Coba gunakan GitHub CLI untuk operasi Git harian Anda
- Buat repositori dengan alur kerja GitHub Actions
- Jelajahi GitHub Codespaces dengan membuka repositori ini di editor berbasis cloud
@ -715,21 +716,21 @@ Misi Anda, jika Anda memilih untuk menerimanya: Selesaikan kursus [Pengantar Git
## 🚀 Garis Waktu Penguasaan GitHub Anda
### ⚡ **Apa yang Dapat Anda Lakukan dalam 5 Menit Berikutnya**
### ⚡ **Apa yang Bisa Anda Lakukan dalam 5 Menit Berikutnya**
- [ ] Beri bintang pada repositori ini dan 3 proyek lain yang menarik bagi Anda
- [ ] Atur otentikasi dua faktor pada akun GitHub Anda
- [ ] Buat README sederhana untuk repositori pertama Anda
- [ ] Ikuti 5 pengembang yang pekerjaannya menginspirasi Anda
### 🎯 **Apa yang Dapat Anda Capai dalam Satu Jam**
- [ ] Selesaikan kuis pasca-pelajaran dan refleksikan perjalanan GitHub Anda
### 🎯 **Apa yang Bisa Anda Capai dalam Satu Jam**
- [ ] Selesaikan kuis pasca-pelajaran dan renungkan perjalanan GitHub Anda
- [ ] Atur kunci SSH untuk otentikasi GitHub tanpa kata sandi
- [ ] Buat commit pertama Anda yang bermakna dengan pesan commit yang hebat
- [ ] Jelajahi tab "Explore" GitHub untuk menemukan proyek yang sedang tren
- [ ] Latih fork repositori dan buat perubahan kecil
- [ ] Latih forking repositori dan membuat perubahan kecil
### 📅 **Petualangan GitHub Anda Selama Seminggu**
- [ ] Selesaikan kursus GitHub Skills (Pengantar GitHub, Markdown)
- [ ] Selesaikan kursus GitHub Skills (Pengenalan ke GitHub, Markdown)
- [ ] Buat pull request pertama Anda ke proyek open source
- [ ] Atur situs GitHub Pages untuk memamerkan pekerjaan Anda
- [ ] Bergabunglah dengan Diskusi GitHub pada proyek yang Anda minati
@ -738,19 +739,19 @@ Misi Anda, jika Anda memilih untuk menerimanya: Selesaikan kursus [Pengantar Git
### 🌟 **Transformasi Anda Selama Sebulan**
- [ ] Berkontribusi pada 3 proyek open source yang berbeda
- [ ] Mentor seseorang yang baru di GitHub (berikan kembali!)
- [ ] Menjadi mentor bagi seseorang yang baru di GitHub (berbagi ilmu!)
- [ ] Atur alur kerja otomatis dengan GitHub Actions
- [ ] Bangun portofolio yang menampilkan kontribusi GitHub Anda
- [ ] Ikuti Hacktoberfest atau acara komunitas serupa
- [ ] Menjadi pemelihara proyek Anda sendiri yang dikontribusikan oleh orang lain
- [ ] Ikut serta dalam Hacktoberfest atau acara komunitas serupa
- [ ] Menjadi pemilik proyek Anda sendiri yang dikontribusikan orang lain
### 🎓 **Pemeriksaan Akhir Penguasaan GitHub Anda**
**Rayakan sejauh mana Anda telah melangkah:**
**Rayakan seberapa jauh Anda telah melangkah:**
- Apa hal favorit Anda tentang menggunakan GitHub?
- Fitur kolaborasi mana yang paling membuat Anda bersemangat?
- Seberapa percaya diri Anda merasa tentang berkontribusi pada open source sekarang?
- Proyek pertama apa yang ingin Anda kontribusikan?
- Seberapa percaya diri Anda tentang berkontribusi pada open source sekarang?
- Proyek apa yang ingin Anda kontribusikan pertama kali?
```mermaid
journey
@ -775,5 +776,7 @@ Ingat: setiap ahli dulunya adalah pemula. Anda pasti bisa! 💪
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan layanan penerjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk memberikan hasil yang akurat, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang otoritatif. Untuk informasi yang penting, disarankan menggunakan jasa penerjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau interpretasi yang keliru yang timbul dari penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Meskipun kami berupaya untuk memberikan hasil yang akurat, harap diperhatikan bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang berwenang. Untuk informasi yang bersifat kritis, disarankan menggunakan jasa terjemahan manusia profesional. Kami tidak bertanggung jawab atas kesalahpahaman atau interpretasi yang keliru yang timbul dari penggunaan terjemahan ini.
そして、これが最も美しい部分です。オープンソースコミュニティはインターネット最大のグループハグのようなものです。ほとんどのプロジェクトは新しい参加者を積極的に探しており、「good first issue」とタグ付けされた問題を持っています。これはまさにあなたのような人のためのものです!メンテナーは新しい貢献者を見ると本当に興奮します。なぜなら、彼ら自身の最初の一歩を覚えているからです。
そして最も美しい部分はこれです:オープンソースコミュニティはインターネット最大のグループハグのようなものです。ほとんどのプロジェクトは新人を積極的に探しており、「good first issue」とタグ付けされた問題を持っています。これはまさにあなたのような人のためのものです!メンテナーは新しい貢献者を見ると本当に興奮します。なぜなら彼ら自身の最初の一歩を思い出すからです。
まだコーディング仲間がいない?全く問題ありません!GitHubコミュニティには、初心者だった頃を覚えている非常に歓迎的な人々がたくさんいます。「good first issue」ラベルの付いたリポジトリを探してみてください。それは基本的に「初心者の皆さん、一緒に学びましょう!」と言っているようなものです。素晴らしいですね!
まだコーディング仲間がいない?全く問題ありません!GitHubコミュニティには新しい人を歓迎する素晴らしい人々がたくさんいます。「good first issue」ラベルの付いたリポジトリを探してみてください。それは基本的に「初心者の皆さん、一緒に学びましょう!」と言っているようなものです。素晴らしいですね!
**プロンプト:** シンプルな「Web Development Resources」プロジェクトのための新しい公開GitHubリポジトリを作成してください。リポジトリには、カテゴリ(HTML、CSS、JavaScriptなど)ごとに整理された便利なウェブ開発ツールとリソースをリストした構造化されたREADME.mdファイルを含めてください。ライセンス、貢献ガイドライン、行動規範を含む適切なコミュニティ標準でリポジトリを設定してください。CSSリソースを追加するための1つの機能ブランチとJavaScriptリソースを追加するためのもう1つの機能ブランチを作成してください。各ブランチに説明的なコミットメッセージを付けてコミットを行い、変更をmainにマージするためのプルリクエストを作成してください。Issues、DiscussionsなどのGitHub機能を有効にし、基本的なGitHub Actionsワークフローを設定して自動チェックを行ってください。
Hai di sana, bakal pembangun! 👋 Bersedia untuk menyertai jutaan pengaturcara di seluruh dunia? Saya sangat teruja untuk memperkenalkan anda kepada GitHub – anggap ia sebagai platform media sosial untuk pengaturcara, tetapi bukannya berkongsi gambar makan tengah hari, kita berkongsi kod dan membina perkara yang luar biasa bersama-sama!
Hai, bakal pembangun! 👋 Bersedia untuk menyertai jutaan pengaturcara di seluruh dunia? Saya sangat teruja untuk memperkenalkan anda kepada GitHub – anggap ia sebagai platform media sosial untuk pengaturcara, tetapi bukannya berkongsi gambar makan tengah hari, kita berkongsi kod dan membina perkara yang luar biasa bersama-sama!
Apa yang benar-benar mengagumkan saya: setiap aplikasi di telefon anda, setiap laman web yang anda lawati, dan kebanyakan alat yang anda akan pelajari untuk digunakan dibangunkan oleh pasukan pembangun yang bekerjasama di platform seperti GitHub. Aplikasi muzik yang anda suka? Seseorang seperti anda menyumbang kepadanya. Permainan yang anda tidak boleh berhenti main? Ya, mungkin dibina dengan kerjasama GitHub. Dan sekarang ANDA akan belajar bagaimana menjadi sebahagian daripada komuniti yang hebat itu!
Saya tahu ini mungkin terasa banyak pada mulanya – malah, saya masih ingat menatap halaman GitHub pertama saya sambil berfikir "Apa maksud semua ini?" Tetapi inilah perkara: setiap pembangun bermula tepat di tempat anda berada sekarang. Pada akhir pelajaran ini, anda akan mempunyai repositori GitHub anda sendiri (anggap ia sebagai pameran projek peribadi anda di awan), dan anda akan tahu bagaimana untuk menyimpan kerja anda, berkongsi dengan orang lain, dan bahkan menyumbang kepada projek yang digunakan oleh jutaan orang.
Saya tahu ini mungkin terasa banyak pada mulanya – malah, saya masih ingat menatap halaman GitHub pertama saya sambil berfikir "Apa maksud semua ini?" Tetapi inilah perkara: setiap pembangun bermula tepat di tempat anda berada sekarang. Menjelang akhir pelajaran ini, anda akan mempunyai repositori GitHub anda sendiri (anggap ia sebagai pameran projek peribadi anda di awan), dan anda akan tahu bagaimana untuk menyimpan kerja anda, berkongsi dengan orang lain, dan bahkan menyumbang kepada projek yang digunakan oleh jutaan orang.
Kita akan melalui perjalanan ini bersama-sama, satu langkah pada satu masa. Tiada tergesa-gesa, tiada tekanan – hanya anda, saya, dan beberapa alat yang sangat hebat yang akan menjadi sahabat baru anda!
@ -44,7 +44,7 @@ journey
Sebelum kita terjun ke perkara yang benar-benar menarik, mari kita siapkan komputer anda untuk sedikit keajaiban GitHub! Anggap ini seperti mengatur bekalan seni anda sebelum mencipta karya agung – mempunyai alat yang betul membuat segalanya lebih lancar dan jauh lebih menyeronokkan.
Saya akan membimbing anda melalui setiap langkah persediaan secara peribadi, dan saya janji ia tidaklah menakutkan seperti yang mungkin kelihatan pada pandangan pertama. Jika sesuatu tidak masuk akal dengan segera, itu adalah normal sepenuhnya! Saya masih ingat ketika pertama kali menyediakan persekitaran pembangunan saya dan merasa seperti cuba membaca hieroglif kuno. Setiap pembangun telah berada tepat di tempat anda sekarang, tertanya-tanya jika mereka melakukannya dengan betul. Spoiler: jika anda di sini belajar, anda sudah melakukannya dengan betul! 🌟
Saya akan membimbing anda melalui setiap langkah persediaan secara peribadi, dan saya janji ia tidaklah menakutkan seperti yang mungkin kelihatan pada pandangan pertama. Jika sesuatu tidak masuk akal dengan segera, itu adalah normal sepenuhnya! Saya masih ingat ketika saya mula-mula menyediakan persekitaran pembangunan saya dan merasa seperti cuba membaca hieroglif kuno. Setiap pembangun telah berada tepat di tempat anda sekarang, tertanya-tanya jika mereka melakukannya dengan betul. Spoiler: jika anda di sini belajar, anda sudah melakukannya dengan betul! 🌟
Dalam pelajaran ini, kita akan meliputi:
@ -56,14 +56,14 @@ Dalam pelajaran ini, kita akan meliputi:
Mari kita siapkan komputer anda untuk sedikit keajaiban GitHub! Jangan risau – persediaan ini hanya perlu dilakukan sekali, dan kemudian anda akan bersedia untuk seluruh perjalanan pengkodan anda.
Baiklah, mari kita mulakan dengan asas! Pertama, kita perlu memeriksa jika Git sudah ada di komputer anda. Git pada dasarnya seperti mempunyai pembantu yang sangat pintar yang mengingati setiap perubahan yang anda buat pada kod anda – jauh lebih baik daripada menekan Ctrl+S dengan panik setiap dua saat (kita semua pernah melakukannya!).
Baiklah, mari kita mulakan dengan asas! Pertama, kita perlu memeriksa jika Git sudah ada di komputer anda. Git pada dasarnya seperti mempunyai pembantu yang sangat pintar yang mengingati setiap perubahan yang anda buat pada kod anda – jauh lebih baik daripada menekan Ctrl+S setiap dua saat (kita semua pernah melakukannya!).
Mari kita lihat jika Git sudah dipasang dengan menaip arahan ajaib ini di terminal anda:
Mari kita lihat jika Git sudah dipasang dengan menaip perintah ajaib ini di terminal anda:
`git --version`
Jika Git belum ada, jangan risau! Pergi sahaja ke [muat turun Git](https://git-scm.com/downloads) dan dapatkannya. Setelah anda memasangnya, kita perlu memperkenalkan Git kepada anda dengan betul:
> 💡 **Persediaan Kali Pertama**: Arahan ini memberitahu Git siapa anda. Maklumat ini akan dilampirkan pada setiap komit yang anda buat, jadi pilih nama dan e-mel yang anda selesa untuk dikongsi secara umum.
> 💡 **Persediaan Kali Pertama**: Perintah ini memberitahu Git siapa anda. Maklumat ini akan dilampirkan pada setiap komit yang anda buat, jadi pilih nama dan e-mel yang anda selesa untuk dikongsi secara umum.
```bash
git config --global user.name "your-name"
@ -91,7 +91,7 @@ Anda memerlukan folder dengan projek kod pada mesin tempatan anda (laptop atau P
Mari kita bercakap tentang keselamatan sekejap – tetapi jangan risau, kita tidak akan membebankan anda dengan perkara yang menakutkan! Anggap amalan keselamatan ini seperti mengunci kereta atau rumah anda. Ia adalah tabiat mudah yang menjadi kebiasaan dan menjaga kerja keras anda dilindungi.
Kami akan menunjukkan kepada anda cara moden dan selamat untuk bekerja dengan GitHub dari awal. Dengan cara ini, anda akan membentuk tabiat baik yang akan berguna sepanjang kerjaya pengkodan anda.
Kami akan menunjukkan kepada anda cara moden dan selamat untuk bekerja dengan GitHub dari awal. Dengan cara ini, anda akan membangunkan tabiat baik yang akan membantu anda sepanjang kerjaya pengkodan anda.
Apabila bekerja dengan GitHub, adalah penting untuk mengikuti amalan keselamatan terbaik:
@ -99,10 +99,10 @@ Apabila bekerja dengan GitHub, adalah penting untuk mengikuti amalan keselamatan
| **Pengesahan** | Gunakan kunci SSH atau Token Akses Peribadi | Kata laluan kurang selamat dan sedang dihentikan |
| **Pengesahan Dua Faktor** | Aktifkan 2FA pada akaun GitHub anda | Menambah lapisan perlindungan tambahan pada akaun |
| **Keselamatan Repositori** | Jangan sekali-kali komit maklumat sensitif | Kunci API dan kata laluan tidak sepatutnya berada dalam repositori awam |
| **Keselamatan Repositori** | Jangan pernah komit maklumat sensitif | Kunci API dan kata laluan tidak sepatutnya berada dalam repositori awam |
| **Pengurusan Kebergantungan** | Aktifkan Dependabot untuk kemas kini | Menjaga kebergantungan anda selamat dan terkini |
> ⚠️ **Peringatan Keselamatan Kritikal**: Jangan sekali-kali komit kunci API, kata laluan, atau maklumat sensitif lain ke mana-mana repositori. Gunakan pembolehubah persekitaran dan fail `.gitignore` untuk melindungi data sensitif.
> ⚠️ **Peringatan Keselamatan Kritikal**: Jangan pernah komit kunci API, kata laluan, atau maklumat sensitif lain ke mana-mana repositori. Gunakan pembolehubah persekitaran dan fail `.gitignore` untuk melindungi data sensitif.
Baiklah, INI adalah di mana perkara menjadi sangat menarik! 🎉 Kita akan belajar bagaimana untuk menjejaki dan menguruskan kod anda seperti profesional, dan sejujurnya, ini adalah salah satu perkara kegemaran saya untuk diajar kerana ia benar-benar mengubah permainan.
Baiklah, INI adalah di mana perkara menjadi sangat menarik! 🎉 Kita akan belajar bagaimana untuk menjejaki dan menguruskan kod anda seperti profesional, dan sejujurnya, ini adalah salah satu perkara kegemaran saya untuk diajar kerana ia benar-benar mengubah cara anda bekerja.
Bayangkan ini: anda sedang menulis cerita yang menakjubkan, dan anda mahu menjejaki setiap draf, setiap suntingan cemerlang, dan setiap "tunggu, itu genius!" sepanjang perjalanan. Itulah yang Git lakukan untuk kod anda! Ia seperti mempunyai buku nota perjalanan masa yang paling luar biasa yang mengingati SEGALANYA – setiap ketikan, setiap perubahan, setiap "oops, itu merosakkan segalanya" yang anda boleh batalkan dengan serta-merta.
Bayangkan ini: anda sedang menulis cerita yang menakjubkan, dan anda mahu menjejaki setiap draf, setiap suntingan cemerlang, dan setiap "tunggu, itu genius!" sepanjang perjalanan. Itulah yang Git lakukan untuk kod anda! Ia seperti mempunyai buku nota perjalanan masa yang paling luar biasa yang mengingati SEGALANYA – setiap ketukan kekunci, setiap perubahan, setiap "oops, itu merosakkan segalanya" yang anda boleh batalkan dengan serta-merta.
Saya akan jujur – ini mungkin terasa mengelirukan pada mulanya. Ketika saya mula, saya fikir "Kenapa saya tidak boleh hanya menyimpan fail saya seperti biasa?" Tetapi percayalah kepada saya: apabila Git klik untuk anda (dan ia akan!), anda akan mempunyai momen lampu di mana anda berfikir "Bagaimana saya PERNAH mengkod tanpa ini?" Ia seperti menemui anda boleh terbang apabila anda telah berjalan ke mana-mana sepanjang hidup anda!
Saya akan jujur – ini mungkin terasa mengelirukan pada mulanya. Ketika saya mula, saya fikir "Kenapa saya tidak boleh hanya menyimpan fail saya seperti biasa?" Tetapi percayalah kepada saya: apabila Git mula masuk akal untuk anda (dan ia akan!), anda akan mempunyai momen lampu terang di mana anda berfikir "Bagaimana saya PERNAH mengkod tanpa ini?" Ia seperti menemui anda boleh terbang apabila anda telah berjalan ke mana-mana sepanjang hidup anda!
Katakan anda mempunyai folder secara tempatan dengan beberapa projek kod dan anda mahu mula menjejaki kemajuan anda menggunakan git - sistem kawalan versi. Sesetengah orang membandingkan menggunakan git dengan menulis surat cinta kepada diri anda di masa depan. Membaca mesej komit anda beberapa hari, minggu, atau bulan kemudian, anda akan dapat mengingat mengapa anda membuat keputusan, atau "rollback" perubahan - iaitu, apabila anda menulis mesej "commit" yang baik.
@ -154,9 +154,9 @@ flowchart TD
### Tugas: Cipta Repositori Pertama Anda!
> 🎯 **Misi Anda (dan saya sangat teruja untuk anda!)**: Kita akan mencipta repositori GitHub pertama anda bersama-sama! Pada akhir ini, anda akan mempunyai sudut kecil anda sendiri di internet di mana kod anda tinggal, dan anda akan membuat "commit" pertama anda (itu istilah pembangun untuk menyimpan kerja anda dengan cara yang sangat pintar).
> 🎯 **Misi Anda (dan saya sangat teruja untuk anda!)**: Kita akan mencipta repositori GitHub pertama anda bersama-sama! Menjelang akhir sesi ini, anda akan mempunyai sudut kecil anda sendiri di internet di mana kod anda tinggal, dan anda akan membuat "commit" pertama anda (itu adalah istilah pembangun untuk menyimpan kerja anda dengan cara yang sangat pintar).
>
> Ini benar-benar saat yang istimewa – anda akan secara rasmi menyertai komuniti pembangun global! Saya masih ingat kegembiraan mencipta repo pertama saya dan berfikir "Wow, saya benar-benar melakukannya!"
> Ini adalah saat yang sangat istimewa – anda akan secara rasmi menyertai komuniti global pembangun! Saya masih ingat kegembiraan mencipta repo pertama saya dan berfikir "Wow, saya benar-benar melakukannya!"
Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa anda dengan setiap bahagian – tiada hadiah untuk tergesa-gesa, dan saya janji setiap langkah akan masuk akal. Ingat, setiap bintang pengkodan yang anda kagumi pernah duduk tepat di tempat anda berada, bersedia untuk mencipta repositori pertama mereka. Betapa hebatnya itu?
@ -175,7 +175,7 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
1. Saya cadangkan menandakan kotak untuk menambah fail README – ia seperti halaman depan projek anda
1. Klik **Create repository** dan raikan – anda baru sahaja mencipta repo pertama anda! 🎉
2. **Navigasi ke folder projek anda**. Sekarang mari kita buka terminal anda (jangan risau, ia tidaklah menakutkan seperti yang kelihatan!). Kita perlu memberitahu komputer anda di mana fail projek anda berada. Taip arahan ini:
2. **Navigasi ke folder projek anda**. Sekarang mari kita buka terminal anda (jangan risau, ia tidaklah menakutkan seperti yang kelihatan!). Kita perlu memberitahu komputer anda di mana fail projek anda berada. Taip perintah ini:
```bash
cd [name of your folder]
@ -183,7 +183,7 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
**Apa yang kita lakukan di sini:**
- Kita pada dasarnya berkata "Hei komputer, bawa saya ke folder projek saya"
- Ini seperti membuka folder tertentu di desktop anda, tetapi kita melakukannya dengan arahan teks
- Ini seperti membuka folder tertentu di desktop anda, tetapi kita melakukannya dengan perintah teks
- Gantikan `[name of your folder]` dengan nama sebenar folder projek anda
3. **Ubah folder anda menjadi repositori Git**. Di sinilah keajaiban berlaku! Taip:
@ -221,7 +221,7 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
- Fail dalam **hijau** (apabila anda melihatnya) sudah bersedia untuk disimpan
- Git sedang membantu dengan memberitahu anda dengan tepat apa yang boleh anda lakukan seterusnya
> 💡 **Tip pro**: Arahan`git status` adalah sahabat terbaik anda! Gunakannya bila-bila masa anda keliru tentang apa yang sedang berlaku. Ia seperti bertanya kepada Git "Hei, apa situasi sekarang?"
> 💡 **Tip pro**: Perintah`git status` adalah sahabat terbaik anda! Gunakannya bila-bila masa anda keliru tentang apa yang sedang berlaku. Ia seperti bertanya kepada Git "Hei, apa situasi sekarang?"
5. **Sediakan fail anda untuk disimpan** (ini dipanggil "staging"):
@ -230,8 +230,8 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
```
**Apa yang kita baru lakukan:**
- Kita memberitahu Git "Hei, saya mahu memasukkan SEMUA fail saya dalam simpanan seterusnya"
- `.` adalah seperti berkata "semua dalam folder ini"
- Kita memberitahu Git "Hei, saya mahu sertakan SEMUA fail saya dalam simpanan seterusnya"
- `.` adalah seperti berkata "segala-galanya dalam folder ini"
- Sekarang fail anda "staged" dan bersedia untuk langkah seterusnya
**Mahukan lebih selektif?** Anda boleh menambah hanya fail tertentu:
@ -240,9 +240,9 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
git add [file or folder name]
```
**Kenapa anda mungkin mahu melakukan ini?**
- Kadang-kadang anda mahu menyimpan perubahan berkaitan bersama-sama
- Ia membantu anda mengatur kerja anda ke dalam bahagian logik
**Mengapa anda mungkin mahu melakukan ini?**
- Kadang-kadang anda mahu menyimpan perubahan yang berkaitan bersama-sama
- Ia membantu anda mengatur kerja anda ke dalam bahagian yang logik
- Memudahkan untuk memahami apa yang berubah dan bila
**Berubah fikiran?** Jangan risau! Anda boleh membatalkan "stage" fail seperti ini:
@ -255,7 +255,7 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
git reset [file name]
```
Jangan risau – ini tidak memadamkan kerja anda, ia hanya mengeluarkan fail dari "staging".
Jangan risau – ini tidak memadamkan kerja anda, ia hanya mengeluarkan fail daripada "staged".
6. **Simpan kerja anda secara kekal** (membuat komit pertama anda!):
@ -267,9 +267,9 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
**Inilah yang baru berlaku:**
- Git mengambil "snapshot" semua fail yang telah "staged" pada saat ini
- Mesej komit anda "first commit" menerangkan tentang apa titik simpanan ini
- Mesej komit anda "first commit" menerangkan tentang apa simpanan ini
- Git memberikan snapshot ini ID unik supaya anda sentiasa boleh mencarinya kemudian
- Anda secara rasmi mula menjejaki sejarah projek anda!
- Anda secara rasmi telah mula menjejaki sejarah projek anda!
> 💡 **Mesej komit masa depan**: Untuk komit seterusnya, jadilah lebih deskriptif! Daripada "updated stuff", cuba "Tambah borang hubungan ke halaman utama" atau "Betulkan bug menu navigasi". Diri anda di masa depan akan berterima kasih!
@ -282,17 +282,18 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
```
(Gantikan URL itu dengan URL repositori sebenar anda!)
**Apa yang baru kita lakukan:**
- Kita telah mencipta sambungan antara projek tempatan anda dan repositori GitHub anda
**Apa yang kita baru lakukan:**
- Kami telah mencipta sambungan antara projek tempatan anda dan repositori GitHub anda
- "Origin" hanyalah nama panggilan untuk repositori GitHub anda – ia seperti menambah kenalan ke telefon anda
- Kini Git tempatan anda tahu ke mana untuk menghantar kod anda apabila anda bersedia untuk berkongsi
💡 **Cara lebih mudah**: Jika anda telah memasang GitHub CLI, anda boleh melakukan ini dengan satu arahan:
💡 **Cara lebih mudah**: Jika anda mempunyai GitHub CLI dipasang, anda boleh melakukannya dengan satu arahan:
```bash
gh repo create my-repo --public --push --source=.
```
8. **Hantar kod anda ke GitHub** (saat yang dinanti-nantikan!):
8. **Hantar kod anda ke GitHub** (saat yang besar!):
```bash
git push -u origin main
@ -302,15 +303,15 @@ Mari kita lalui pengembaraan ini bersama-sama, langkah demi langkah. Ambil masa
**Apa yang sedang berlaku:**
- Komit anda sedang bergerak dari komputer anda ke GitHub
- Flag `-u` menetapkan sambungan kekal supaya push di masa depan lebih mudah
- "main" adalah nama cawangan utama anda (seperti folder utama)
- Selepas ini, anda hanya perlu menaip `git push` untuk muat naik seterusnya!
- Bendera `-u` menetapkan sambungan kekal supaya penghantaran masa depan lebih mudah
- "main" adalah nama cabang utama anda (seperti folder utama)
- Selepas ini, anda hanya perlu menaip `git push` untuk muat naik masa depan!
💡 **Nota ringkas**: Jika cawangan anda dipanggil sesuatu yang lain (seperti "master"), gunakan nama itu. Anda boleh semak dengan `git branch --show-current`.
💡 **Nota ringkas**: Jika cabang anda dipanggil sesuatu yang lain (seperti "master"), gunakan nama itu. Anda boleh semak dengan `git branch --show-current`.
9. **Ritma pengkodan harian anda yang baru** (di sinilah ia menjadi ketagihan!):
9. **Ritma pengkodan harian baharu anda** (di sinilah ia menjadi ketagihan!):
Mulai sekarang, setiap kali anda membuat perubahan pada projek anda, anda hanya perlu melakukan tiga langkah mudah ini:
Mulai sekarang, setiap kali anda membuat perubahan pada projek anda, anda mempunyai tiga langkah mudah ini:
```bash
git add .
@ -318,14 +319,14 @@ Mulai sekarang, setiap kali anda membuat perubahan pada projek anda, anda hanya
git push
```
**Ini menjadi nadi pengkodan anda:**
**Ini menjadi denyut nadi pengkodan anda:**
- Buat beberapa perubahan hebat pada kod anda ✨
- Stage mereka dengan `git add` ("Hei Git, beri perhatian pada perubahan ini!")
- Simpan mereka dengan `git commit` dan mesej deskriptif (masa depan anda akan berterima kasih!)
- Kongsi mereka dengan dunia menggunakan `git push` 🚀
- Susun dengan `git add` ("Hei Git, beri perhatian pada perubahan ini!")
- Simpan dengan `git commit` dan mesej deskriptif (anda di masa depan akan berterima kasih!)
- Kongsi dengan dunia menggunakan `git push` 🚀
- Ulangi – serius, ini menjadi semudah bernafas!
Saya suka aliran kerja ini kerana ia seperti mempunyai beberapa titik simpanan dalam permainan video. Buat perubahan yang anda suka? Komit! Mahu mencuba sesuatu yang berisiko? Tiada masalah – anda sentiasa boleh kembali ke komit terakhir anda jika keadaan menjadi tidak terkawal!
Saya suka aliran kerja ini kerana ia seperti mempunyai beberapa titik simpanan dalam permainan video. Buat perubahan yang anda suka? Komit! Mahu mencuba sesuatu yang berisiko? Tiada masalah – anda sentiasa boleh kembali ke komit terakhir anda jika keadaan tidak berjalan lancar!
> 💡 **Tip**: Anda mungkin juga mahu menggunakan fail `.gitignore` untuk mengelakkan fail yang anda tidak mahu jejak daripada muncul di GitHub - seperti fail nota yang anda simpan dalam folder yang sama tetapi tidak sesuai untuk repositori awam. Anda boleh mencari templat untuk fail `.gitignore` di [.gitignore templates](https://github.com/github/gitignore) atau mencipta satu menggunakan [gitignore.io](https://www.toptal.com/developers/gitignore).
@ -353,33 +354,33 @@ stateDiagram-v2
end note
```
> **Ingat**: Walaupun pembangun berpengalaman kadang-kadang lupa arahan yang tepat. Menjadikan aliran kerja ini sebagai memori otot memerlukan latihan - anda sedang melakukan dengan baik!
> **Ingat**: Walaupun pembangun berpengalaman kadang-kadang lupa arahan yang tepat. Menjadikan aliran kerja ini sebagai ingatan otot memerlukan latihan - anda sedang melakukan dengan baik!
#### Aliran kerja Git moden
#### Aliran Kerja Git Moden
Pertimbangkan untuk mengamalkan amalan moden ini:
- **Conventional Commits**: Gunakan format mesej komit yang standard seperti `feat:`, `fix:`, `docs:`, dll. Ketahui lebih lanjut di [conventionalcommits.org](https://www.conventionalcommits.org/)
- **Komit atom**: Pastikan setiap komit mewakili satu perubahan logik
- **Komit kerap**: Komit dengan kerap dengan mesej deskriptif daripada komit besar dan jarang
- **Komit Konvensional**: Gunakan format mesej komit yang standard seperti `feat:`, `fix:`, `docs:`, dll. Ketahui lebih lanjut di [conventionalcommits.org](https://www.conventionalcommits.org/)
- **Komit Atomik**: Pastikan setiap komit mewakili satu perubahan logik
- **Komit Kerap**: Komit dengan kerap dengan mesej deskriptif daripada komit besar dan jarang
#### Mesej komit
#### Mesej Komit
Baris subjek mesej komit Git yang hebat melengkapkan ayat berikut:
Jika digunakan, komit ini akan <barissubjekandadisini>
Jika diterapkan, komit ini akan <barissubjekandadisini>
Untuk subjek gunakan bentuk perintah, masa kini: "ubah" bukan "diubah" atau "mengubah".
Seperti dalam subjek, dalam badan (pilihan) juga gunakan bentuk perintah, masa kini. Badan harus merangkumi motivasi untuk perubahan dan bandingkan ini dengan tingkah laku sebelumnya. Anda menerangkan `mengapa`, bukan `bagaimana`.
Seperti dalam subjek, dalam badan (pilihan) juga gunakan bentuk perintah, masa kini. Badan harus termasuk motivasi untuk perubahan dan bandingkan ini dengan tingkah laku sebelumnya. Anda menerangkan `mengapa`, bukan `bagaimana`.
✅ Luangkan beberapa minit untuk melayari GitHub. Bolehkah anda menemui mesej komit yang sangat hebat? Bolehkah anda menemui yang sangat minimal? Maklumat apa yang anda fikir paling penting dan berguna untuk disampaikan dalam mesej komit?
✅ Luangkan beberapa minit untuk melayari GitHub. Bolehkah anda mencari mesej komit yang sangat hebat? Bolehkah anda mencari yang sangat minimal? Maklumat apa yang anda fikir paling penting dan berguna untuk disampaikan dalam mesej komit?
## Bekerjasama dengan Orang Lain (Bahagian Seronok!)
## Bekerjasama dengan Orang Lain (Bahagian yang Menyeronokkan!)
Pegang topi anda kerana INILAH di mana GitHub menjadi sangat ajaib! 🪄 Anda telah menguasai pengurusan kod anda sendiri, tetapi sekarang kita akan menyelami bahagian kegemaran saya – bekerjasama dengan orang hebat dari seluruh dunia.
Pegang topi anda kerana INILAH di mana GitHub menjadi sangat ajaib! 🪄 Anda telah menguasai pengurusan kod anda sendiri, tetapi sekarang kita akan menyelami bahagian kegemaran saya – bekerjasama dengan orang-orang hebat dari seluruh dunia.
Bayangkan ini: anda bangun esok dan melihat seseorang di Tokyo telah memperbaiki kod anda semasa anda tidur. Kemudian seseorang di Berlin membetulkan bug yang anda tidak dapat selesaikan. Menjelang petang, seorang pembangun di São Paulo telah menambah ciri yang anda tidak pernah fikirkan. Itu bukan fiksyen sains – itu hanya hari Selasa di alam semesta GitHub!
Bayangkan ini: anda bangun esok dan melihat seseorang di Tokyo telah memperbaiki kod anda semasa anda tidur. Kemudian seseorang di Berlin membetulkan pepijat yang anda tidak dapat selesaikan. Menjelang petang, seorang pembangun di São Paulo telah menambah ciri yang anda tidak pernah fikirkan. Itu bukan fiksyen sains – itu hanya hari Selasa dalam alam semesta GitHub!
Apa yang benar-benar membuatkan saya teruja ialah kemahiran kolaborasi yang akan anda pelajari? Ini adalah aliran kerja YANG SAMA yang digunakan oleh pasukan di Google, Microsoft, dan syarikat permulaan kegemaran anda setiap hari. Anda bukan sahaja belajar alat yang hebat – anda sedang belajar bahasa rahsia yang membuat seluruh dunia perisian bekerjasama.
Apa yang benar-benar membuat saya teruja ialah kemahiran kolaborasi yang akan anda pelajari? Ini adalah aliran kerja YANG SAMA yang digunakan oleh pasukan di Google, Microsoft, dan syarikat permulaan kegemaran anda setiap hari. Anda bukan sahaja belajar alat yang hebat – anda sedang belajar bahasa rahsia yang membuat seluruh dunia perisian bekerjasama.
Serius, apabila anda mengalami keseronokan apabila seseorang menggabungkan permintaan tarik pertama anda, anda akan memahami mengapa pembangun begitu bersemangat tentang sumber terbuka. Ia seperti menjadi sebahagian daripada projek pasukan terbesar dan paling kreatif di dunia!
@ -413,35 +414,35 @@ Dalam repositori anda, navigasi ke `Insights > Community` untuk melihat bagaiman
Mahukan repositori anda kelihatan profesional dan mesra? Pergi ke repositori anda dan klik pada `Insights > Community`. Ciri hebat ini menunjukkan kepada anda bagaimana projek anda dibandingkan dengan apa yang dianggap sebagai "amalan repositori yang baik" oleh komuniti GitHub.
> 🎯 **Menjadikan Projek Anda Bersinar**: Repositori yang teratur dengan dokumentasi yang baik adalah seperti mempunyai kedai yang bersih dan mesra. Ia menunjukkan kepada orang bahawa anda peduli dengan kerja anda dan membuatkan orang lain ingin menyumbang!
> 🎯 **Menjadikan Projek Anda Bersinar**: Repositori yang teratur dengan dokumentasi yang baik adalah seperti mempunyai kedai yang bersih dan mesra. Ia menunjukkan kepada orang bahawa anda peduli dengan kerja anda dan membuat orang lain ingin menyumbang!
**Inilah yang menjadikan repositori hebat:**
**Inilah yang membuat repositori hebat:**
| Apa yang Perlu Ditambah | Mengapa Ia Penting | Apa yang Ia Lakukan untuk Anda |
| **Deskripsi** | Kesan pertama penting! | Orang tahu dengan segera apa yang projek anda lakukan |
| **README** | Halaman depan projek anda | Seperti pemandu pelancong mesra untuk pelawat baru |
| **Panduan Penyumbangan** | Menunjukkan anda mengalu-alukan bantuan | Orang tahu dengan tepat bagaimana mereka boleh membantu anda |
| **Panduan Menyumbang** | Menunjukkan anda mengalu-alukan bantuan | Orang tahu dengan tepat bagaimana mereka boleh membantu anda |
| **Kod Etika** | Mewujudkan ruang mesra | Semua orang merasa dialu-alukan untuk menyertai |
| **Lesen** | Kejelasan undang-undang | Orang lain tahu bagaimana mereka boleh menggunakan kod anda |
| **Dasar Keselamatan** | Menunjukkan anda bertanggungjawab | Menunjukkan amalan profesional |
> 💡 **Tip Pro**: GitHub menyediakan templat untuk semua fail ini. Apabila mencipta repositori baru, tandakan kotak untuk menjana fail-fail ini secara automatik.
**Ciri GitHub Moden untuk Diterokai:**
**Ciri Moden GitHub untuk Diterokai:**
🤖 **Automasi & CI/CD:**
- **GitHub Actions** untuk ujian dan penyebaran automatik
- **Dependabot** untuk kemas kini kebergantungan automatik
💬 **Komuniti & Pengurusan Projek:**
- **GitHub Discussions** untuk perbincangan komuniti di luar isu
- **GitHub Discussions** untuk perbualan komuniti di luar isu
- **GitHub Projects** untuk pengurusan projek gaya kanban
- **Peraturan perlindungan cawangan** untuk menegakkan standard kualiti kod
- **Peraturan perlindungan cabang** untuk menegakkan standard kualiti kod
Semua sumber ini akan memberi manfaat kepada onboarding ahli pasukan baru. Dan ini biasanya perkara yang dilihat oleh penyumbang baru sebelum mereka melihat kod anda, untuk mengetahui sama ada projek anda adalah tempat yang sesuai untuk mereka meluangkan masa.
Semua sumber ini akan memberi manfaat kepada onboarding ahli pasukan baru. Dan ini biasanya adalah perkara yang dilihat oleh penyumbang baru sebelum melihat kod anda, untuk mengetahui sama ada projek anda adalah tempat yang sesuai untuk mereka meluangkan masa mereka.
✅ Fail README, walaupun memerlukan masa untuk disediakan, sering diabaikan oleh penyelenggara yang sibuk. Bolehkah anda menemui contoh yang sangat deskriptif? Nota: terdapat beberapa [alat untuk membantu mencipta README yang baik](https://www.makeareadme.com/) yang mungkin anda ingin cuba.
✅ Fail README, walaupun memerlukan masa untuk disediakan, sering diabaikan oleh penyelenggara yang sibuk. Bolehkah anda mencari contoh yang sangat deskriptif? Nota: terdapat beberapa [alat untuk membantu mencipta README yang baik](https://www.makeareadme.com/) yang mungkin anda ingin cuba.
### Tugas: Gabungkan beberapa kod
@ -449,33 +450,33 @@ Dokumen penyumbangan membantu orang menyumbang kepada projek. Ia menerangkan jen
1. **Fork repo anda** Anda mungkin mahu orang _fork_ projek anda. Fork bermaksud mencipta replika repositori anda di profil GitHub mereka.
1. **Clone**. Dari situ mereka akan clone projek ke mesin tempatan mereka.
1. **Cipta cawangan**. Anda akan mahu meminta mereka mencipta _cawangan_ untuk kerja mereka.
1. **Fokuskan perubahan mereka pada satu kawasan**. Minta penyumbang untuk menumpukan sumbangan mereka pada satu perkara pada satu masa - dengan cara itu peluang untuk anda _gabungkan_ kerja mereka adalah lebih tinggi. Bayangkan mereka menulis pembaikan bug, menambah ciri baru, dan mengemas kini beberapa ujian - bagaimana jika anda mahu, atau hanya boleh melaksanakan 2 daripada 3, atau 1 daripada 3 perubahan?
1. **Cipta cabang**. Anda mahu meminta mereka mencipta _cabang_ untuk kerja mereka.
1. **Fokuskan perubahan mereka pada satu kawasan**. Minta penyumbang untuk menumpukan sumbangan mereka pada satu perkara pada satu masa - dengan cara itu peluang untuk anda _gabungkan_ kerja mereka adalah lebih tinggi. Bayangkan mereka menulis pembaikan pepijat, menambah ciri baru, dan mengemas kini beberapa ujian - bagaimana jika anda mahu, atau hanya boleh melaksanakan 2 daripada 3, atau 1 daripada 3 perubahan?
✅ Bayangkan situasi di mana cawangan sangat kritikal untuk menulis dan menghantar kod yang baik. Apakah kes penggunaan yang boleh anda fikirkan?
✅ Bayangkan situasi di mana cabang sangat kritikal untuk menulis dan menghantar kod yang baik. Apakah kes penggunaan yang boleh anda fikirkan?
> Nota, jadilah perubahan yang anda mahu lihat di dunia, dan cipta cawangan untuk kerja anda sendiri juga. Sebarang komit yang anda buat akan dibuat pada cawangan yang anda sedang "checked out". Gunakan `git status` untuk melihat cawangan mana itu.
> Nota, jadilah perubahan yang anda mahu lihat di dunia, dan cipta cabang untuk kerja anda sendiri juga. Sebarang komit yang anda buat akan dibuat pada cabang yang anda sedang "checked out". Gunakan `git status` untuk melihat cabang mana itu.
Mari kita lalui aliran kerja penyumbang. Anggap penyumbang telah _fork_ dan _clone_ repo jadi mereka mempunyai repo Git yang sedia untuk digunakan, di mesin tempatan mereka:
1. **Cipta cawangan**. Gunakan arahan `git branch` untuk mencipta cawangan yang akan mengandungi perubahan yang mereka maksudkan untuk disumbangkan:
1. **Cipta cabang**. Gunakan arahan `git branch` untuk mencipta cabang yang akan mengandungi perubahan yang mereka maksudkan untuk disumbangkan:
```bash
git branch [branch-name]
```
> 💡 **Pendekatan Moden**: Anda juga boleh mencipta dan beralih ke cawangan baru dalam satu arahan:
> 💡 **Pendekatan Moden**: Anda juga boleh mencipta dan beralih ke cabang baru dalam satu arahan:
```bash
git switch -c [branch-name]
```
1. **Beralih ke cawangan kerja**. Beralih ke cawangan yang ditentukan dan kemas kini direktori kerja dengan `git switch`:
1. **Beralih ke cabang kerja**. Beralih ke cabang yang ditentukan dan kemas kini direktori kerja dengan `git switch`:
```bash
git switch [branch-name]
```
> 💡 **Nota Moden**: `git switch` adalah pengganti moden untuk `git checkout` apabila menukar cawangan. Ia lebih jelas dan lebih selamat untuk pemula.
> 💡 **Nota Moden**: `git switch` adalah pengganti moden untuk `git checkout` apabila menukar cabang. Ia lebih jelas dan lebih selamat untuk pemula.
1. **Lakukan kerja**. Pada ketika ini anda mahu menambah perubahan anda. Jangan lupa untuk memberitahu Git mengenainya dengan arahan berikut:
@ -486,41 +487,41 @@ Mari kita lalui aliran kerja penyumbang. Anggap penyumbang telah _fork_ dan _clo
> ⚠️ **Kualiti Mesej Komit**: Pastikan anda memberikan komit anda nama yang baik, baik untuk anda dan penyelenggara repo yang anda bantu. Jadilah spesifik tentang apa yang anda ubah!
1. **Gabungkan kerja anda dengan cawangan `main`**. Pada satu ketika anda selesai bekerja dan anda mahu menggabungkan kerja anda dengan cawangan `main`. Cawangan`main` mungkin telah berubah sementara itu jadi pastikan anda mengemas kini terlebih dahulu dengan arahan berikut:
1. **Gabungkan kerja anda dengan cabang `main`**. Pada satu ketika anda selesai bekerja dan anda mahu menggabungkan kerja anda dengan cabang `main`. Cabang`main` mungkin telah berubah sementara itu jadi pastikan anda mengemas kini terlebih dahulu dengan arahan berikut:
```bash
git switch main
git pull
```
Pada ketika ini anda mahu memastikan bahawa sebarang _konflik_, situasi di mana Git tidak dapat dengan mudah _menggabungkan_ perubahan berlaku dalam cawangan kerja anda. Oleh itu jalankan arahan berikut:
Pada ketika ini anda mahu memastikan bahawa sebarang _konflik_, situasi di mana Git tidak dapat dengan mudah _menggabungkan_ perubahan berlaku dalam cabang kerja anda. Oleh itu jalankan arahan berikut:
```bash
git switch [branch_name]
git merge main
```
Arahan `git merge main` akan membawa semua perubahan dari `main` ke dalam cawangan anda. Mudah-mudahan anda boleh teruskan. Jika tidak, VS Code akan memberitahu anda di mana Git _keliru_ dan anda hanya mengubah fail yang terjejas untuk mengatakan kandungan mana yang paling tepat.
Arahan `git merge main` akan membawa semua perubahan dari `main` ke dalam cabang anda. Mudah-mudahan anda boleh teruskan. Jika tidak, VS Code akan memberitahu anda di mana Git _keliru_ dan anda hanya mengubah fail yang terjejas untuk mengatakan kandungan mana yang paling tepat.
💡 **Alternatif moden**: Pertimbangkan untuk menggunakan `git rebase` untuk sejarah yang lebih bersih:
💡 **Alternatif Moden**: Pertimbangkan untuk menggunakan `git rebase` untuk sejarah yang lebih bersih:
```bash
git rebase main
```
Ini memainkan semula komit anda di atas cawangan utama terkini, mencipta sejarah linear.
Ini memainkan semula komit anda di atas cabang utama terkini, mencipta sejarah linear.
1. **Hantar kerja anda ke GitHub**. Menghantar kerja anda ke GitHub bermaksud dua perkara. Push cawangan anda ke repo anda dan kemudian buka PR, Pull Request.
1. **Hantar kerja anda ke GitHub**. Menghantar kerja anda ke GitHub bermaksud dua perkara. Menolak cabang anda ke repo anda dan kemudian membuka PR, Pull Request.
```bash
git push --set-upstream origin [branch-name]
```
Arahan di atas mencipta cawangan di repo forked anda.
Arahan di atas mencipta cabang pada repo forked anda.
### 🤝 **Pemeriksaan Kemahiran Kolaborasi: Bersedia untuk Bekerjasama dengan Orang Lain?**
### 🤝 **Pemeriksaan Kemahiran Kolaborasi: Sedia untuk Bekerja dengan Orang Lain?**
**Mari lihat bagaimana perasaan anda tentang kolaborasi:**
- Adakah idea fork dan pull request masuk akal kepada anda sekarang?
- Apakah satu perkara tentang bekerja dengan cawangan yang anda mahu latih lebih banyak?
- Adakah idea fork dan permintaan tarik masuk akal kepada anda sekarang?
- Apakah satu perkara tentang bekerja dengan cabang yang anda mahu lebih banyak berlatih?
- Sejauh mana anda selesa menyumbang kepada projek orang lain?
```mermaid
@ -540,11 +541,11 @@ mindmap
Good documentation
```
> **Peningkat keyakinan**: Setiap pembangun yang anda kagumi pernah gugup tentang permintaan tarik pertama mereka. Komuniti GitHub sangat mesra kepada pendatang baru!
> **Peningkat keyakinan**: Setiap pembangun yang anda kagumi pernah merasa gugup tentang permintaan tarik pertama mereka. Komuniti GitHub sangat mesra kepada pendatang baru!
1. **Buka PR**. Seterusnya, anda mahu membuka PR. Anda melakukannya dengan menavigasi ke repo forked di GitHub. Anda akan melihat petunjuk di GitHub di mana ia bertanya sama ada anda mahu mencipta PR baru, anda klik itu dan anda dibawa ke antara muka di mana anda boleh menukar tajuk mesej komit, memberikannya deskripsi yang lebih sesuai. Kini penyelenggara repo yang anda forked akan melihat PR ini dan _harap-harap_ mereka akan menghargai dan _menggabungkan_ PR anda. Anda kini seorang penyumbang, yay :)
1. **Buka PR**. Seterusnya, anda mahu membuka PR. Anda melakukannya dengan menavigasi ke repo forked di GitHub. Anda akan melihat petunjuk di GitHub di mana ia bertanya sama ada anda mahu mencipta PR baru, anda klik itu dan anda dibawa ke antara muka di mana anda boleh menukar tajuk mesej komit, memberikannya deskripsi yang lebih sesuai. Kini penyelenggara repo yang anda forked akan melihat PR ini dan _semoga_ mereka menghargai dan _menggabungkan_ PR anda. Anda kini seorang penyumbang, yay :)
💡 **Tip moden**: Anda juga boleh mencipta PR menggunakan GitHub CLI:
💡 **Tip Moden**: Anda juga boleh mencipta PR menggunakan GitHub CLI:
Pastikan anda pergi ke halaman GitHub untuk repo yang telah difork dan hapuskan cawangan jauh yang baru sahaja anda tolak ke sana.
Pastikan anda pergi ke halaman GitHub untuk repo yang telah di-fork dan hapuskan cawangan jauh yang baru sahaja anda tolak ke sana.
`Pull request` mungkin kedengaran seperti istilah yang pelik kerana sebenarnya anda ingin menolak perubahan anda ke projek tersebut. Tetapi pemelihara (pemilik projek) atau pasukan teras perlu mempertimbangkan perubahan anda sebelum menggabungkannya dengan cawangan "utama" projek, jadi sebenarnya anda meminta keputusan perubahan daripada pemelihara.
`Pull request` mungkin kedengaran seperti istilah yang pelik kerana sebenarnya anda ingin menolak perubahan anda ke projek tersebut. Tetapi penyelenggara (pemilik projek) atau pasukan teras perlu mempertimbangkan perubahan anda sebelum menggabungkannya dengan cawangan "utama" projek, jadi anda sebenarnya meminta keputusan perubahan daripada penyelenggara.
Pull request adalah tempat untuk membandingkan dan membincangkan perbezaan yang diperkenalkan pada cawangan dengan ulasan, komen, ujian yang diintegrasikan, dan banyak lagi. Pull request yang baik mengikuti peraturan yang hampir sama seperti mesej commit. Anda boleh menambah rujukan kepada isu dalam penjejak isu, contohnya apabila kerja anda menyelesaikan sesuatu isu. Ini dilakukan dengan menggunakan `#` diikuti dengan nombor isu anda. Sebagai contoh `#97`.
@ -577,11 +578,11 @@ Kemas kini cawangan kerja tempatan semasa anda dengan semua commit baru dari caw
Adakah anda bersedia untuk sesuatu yang akan benar-benar mengejutkan anda? 🤯 Mari kita bincangkan tentang menyumbang kepada projek sumber terbuka – dan saya rasa teruja hanya memikirkan untuk berkongsi ini dengan anda!
Ini adalah peluang anda untuk menjadi sebahagian daripada sesuatu yang benar-benar luar biasa. Bayangkan memperbaiki alat yang digunakan oleh jutaan pembangun setiap hari, atau membetulkan pepijat dalam aplikasi yang disukai oleh rakan-rakan anda. Itu bukan sekadar impian – itulah yang dimaksudkan dengan sumbangan sumber terbuka!
Ini adalah peluang anda untuk menjadi sebahagian daripada sesuatu yang luar biasa. Bayangkan memperbaiki alat yang digunakan oleh jutaan pembangun setiap hari, atau membetulkan bug dalam aplikasi yang disukai oleh rakan-rakan anda. Itu bukan sekadar impian – itulah yang dimaksudkan dengan sumbangan sumber terbuka!
Inilah yang membuatkan saya teruja setiap kali memikirkannya: setiap alat yang anda pelajari – editor kod anda, rangka kerja yang akan kita terokai, malah pelayar yang anda gunakan sekarang – bermula dengan seseorang seperti anda yang membuat sumbangan pertama mereka. Pembangun hebat yang membina sambungan VS Code kegemaran anda? Mereka juga pernah menjadi pemula yang mengklik "create pull request" dengan tangan yang gementar, seperti yang akan anda lakukan.
Dan inilah bahagian yang paling indah: komuniti sumber terbuka adalah seperti pelukan besar di internet. Kebanyakan projek secara aktif mencari pendatang baru dan mempunyai isu yang ditandai "good first issue" khusus untuk orang seperti anda! Pemelihara benar-benar teruja apabila mereka melihat penyumbang baru kerana mereka mengingati langkah pertama mereka sendiri.
Dan inilah bahagian yang paling indah: komuniti sumber terbuka adalah seperti pelukan terbesar di internet. Kebanyakan projek secara aktif mencari pendatang baru dan mempunyai isu yang ditandai "good first issue" khusus untuk orang seperti anda! Penyelenggara benar-benar teruja apabila mereka melihat penyumbang baru kerana mereka mengingati langkah pertama mereka sendiri.
```mermaid
flowchart TD
@ -634,19 +635,19 @@ Anda juga boleh membuka keseluruhan projek menggunakan:
- **[GitHub.dev](https://github.dev)** - Tekan kekunci `.` pada mana-mana repo GitHub untuk membuka VS Code dalam pelayar
- **VS Code** dengan sambungan Pull Requests GitHub
Akhir sekali, anda boleh memuat turun kod dalam folder zip.
Akhir sekali, anda boleh memuat turun kod dalam folder yang dimampatkan.
### Beberapa perkara menarik tentang GitHub
Anda boleh memberi bintang, menonton dan/atau "fork" mana-mana repositori awam di GitHub. Anda boleh mencari repositori yang anda beri bintang dalam menu drop-down di sudut kanan atas. Ia seperti penanda buku, tetapi untuk kod.
Anda boleh memberi bintang, menonton dan/atau "fork" mana-mana repositori awam di GitHub. Anda boleh mencari repositori yang anda beri bintang dalam menu drop-down di bahagian atas kanan. Ia seperti penanda buku, tetapi untuk kod.
Projek mempunyai penjejak isu, kebanyakannya di GitHub dalam tab "Issues" kecuali dinyatakan sebaliknya, di mana orang membincangkan isu berkaitan projek. Dan tab Pull Requests adalah tempat orang membincangkan dan mengulas perubahan yang sedang berlangsung.
Projek mempunyai penjejak isu, kebanyakannya di GitHub dalam tab "Issues" kecuali dinyatakan sebaliknya, di mana orang membincangkan isu berkaitan projek. Dan tab Pull Requests adalah tempat orang membincangkan dan mengulas perubahan yang sedang dalam proses.
Projek mungkin juga mempunyai perbincangan dalam forum, senarai mel, atau saluran sembang seperti Slack, Discord atau IRC.
🔧 **Ciri moden GitHub**:
- **GitHub Discussions** - Forum terbina dalam untuk perbualan komuniti
- **GitHub Sponsors** - Sokong pemelihara secara kewangan
- **GitHub Sponsors** - Sokong penyelenggara secara kewangan
- **Tab Security** - Laporan kerentanan dan nasihat keselamatan
- **Tab Actions** - Lihat aliran kerja automatik dan saluran CI/CD
- **Tab Insights** - Analitik tentang penyumbang, commit, dan kesihatan projek
@ -662,7 +663,7 @@ Baiklah, sudah tiba masanya untuk menguji kuasa super GitHub baru anda! 🚀 Ber
Ajak seorang rakan (atau ahli keluarga yang selalu bertanya apa yang anda lakukan dengan semua "perkara komputer" ini) dan mulakan pengembaraan pengekodan kolaboratif bersama! Di sinilah keajaiban sebenar berlaku – cipta projek, biarkan mereka fork, buat beberapa cawangan, dan gabungkan perubahan seperti profesional yang anda sedang menjadi.
Saya tidak akan berbohong – anda mungkin akan ketawa pada satu ketika (terutamanya apabila anda berdua cuba mengubah baris yang sama), mungkin menggaru kepala dalam kekeliruan, tetapi anda pasti akan mempunyai momen "aha!" yang menakjubkan yang membuatkan semua pembelajaran berbaloi. Tambahan pula, ada sesuatu yang istimewa tentang berkongsi gabungan pertama yang berjaya dengan orang lain – ia seperti perayaan kecil tentang sejauh mana anda telah melangkah!
Saya tidak akan berbohong – anda mungkin akan ketawa pada satu ketika (terutamanya apabila anda berdua cuba mengubah baris yang sama), mungkin menggaru kepala dalam kekeliruan, tetapi anda pasti akan mempunyai saat-saat "aha!" yang menakjubkan yang membuatkan semua pembelajaran berbaloi. Tambahan pula, ada sesuatu yang istimewa tentang berkongsi gabungan pertama yang berjaya dengan orang lain – ia seperti perayaan kecil tentang sejauh mana anda telah melangkah!
Belum ada rakan pengekodan? Jangan risau! Komuniti GitHub penuh dengan orang yang sangat mesra yang mengingati bagaimana rasanya menjadi baru. Cari repositori dengan label "good first issue" – mereka pada dasarnya berkata "Hei pemula, mari belajar bersama kami!" Betapa hebatnya itu?
@ -671,16 +672,16 @@ Belum ada rakan pengekodan? Jangan risau! Komuniti GitHub penuh dengan orang yan
## Ulasan & Terus Belajar
Whew! 🎉 Lihatlah anda – anda baru sahaja menakluk asas GitHub seperti seorang juara sejati! Jika otak anda terasa sedikit penuh sekarang, itu adalah perkara biasa dan sebenarnya tanda yang baik. Anda baru sahaja belajar alat yang mengambil masa berminggu-minggu untuk saya rasa selesa semasa saya mula.
Whew! 🎉 Lihatlah anda – anda baru sahaja menakluki asas GitHub seperti seorang juara sejati! Jika otak anda terasa sedikit penuh sekarang, itu adalah perkara biasa dan sebenarnya tanda yang baik. Anda baru sahaja belajar alat yang mengambil masa berminggu-minggu untuk saya rasa selesa semasa saya mula.
Git dan GitHub sangat berkuasa (serius, sangat berkuasa), dan setiap pembangun yang saya kenal – termasuk yang kelihatan seperti ahli sihir sekarang – perlu berlatih dan tersandung sedikit sebelum semuanya klik. Fakta bahawa anda telah melalui pelajaran ini bermakna anda sudah dalam perjalanan untuk menguasai beberapa alat yang paling penting dalam kit alat pembangun.
Git dan GitHub sangat berkuasa (serius, sangat berkuasa), dan setiap pembangun yang saya kenal – termasuk mereka yang kelihatan seperti ahli sihir sekarang – perlu berlatih dan tersandung sedikit sebelum semuanya klik. Fakta bahawa anda telah melalui pelajaran ini bermakna anda sudah dalam perjalanan untuk menguasai beberapa alat yang paling penting dalam kit alat pembangun.
Berikut adalah beberapa sumber yang sangat hebat untuk membantu anda berlatih dan menjadi lebih hebat:
- [Panduan menyumbang kepada perisian sumber terbuka](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Peta jalan anda untuk membuat perbezaan
- [Cheatsheet Git](https://training.github.com/downloads/github-git-cheat-sheet/) – Simpan ini untuk rujukan cepat!
Dan ingat: latihan membawa kemajuan, bukan kesempurnaan! Semakin banyak anda menggunakan Git dan GitHub, semakin semula jadi ia menjadi. GitHub telah mencipta beberapa kursus interaktif yang menakjubkan yang membolehkan anda berlatih dalam persekitaran yang selamat:
Dan ingat: latihan membawa kemajuan, bukan kesempurnaan! Semakin banyak anda menggunakan Git dan GitHub, semakin semula jadi ia menjadi. GitHub telah mencipta beberapa kursus interaktif yang hebat yang membolehkan anda berlatih dalam persekitaran yang selamat:
- [Pengenalan kepada GitHub](https://github.com/skills/introduction-to-github)
- [Berkomunikasi menggunakan Markdown](https://github.com/skills/communicate-using-markdown)
@ -688,7 +689,7 @@ Dan ingat: latihan membawa kemajuan, bukan kesempurnaan! Semakin banyak anda men
- [Dokumentasi GitHub CLI](https://cli.github.com/manual/) – Untuk apabila anda ingin merasa seperti ahli sihir baris perintah
- [Dokumentasi GitHub CLI](https://cli.github.com/manual/) – Untuk apabila anda ingin merasa seperti ahli sihir baris arahan
- [Dokumentasi GitHub Codespaces](https://docs.github.com/en/codespaces) – Kod di awan!
- [Dokumentasi GitHub Actions](https://docs.github.com/en/actions) – Automasi semua perkara
- [Amalan terbaik Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – Tingkatkan permainan aliran kerja anda
@ -699,11 +700,11 @@ Gunakan mod Ejen untuk menyelesaikan cabaran berikut:
**Deskripsi:** Cipta projek pembangunan web kolaboratif yang menunjukkan aliran kerja GitHub lengkap yang telah anda pelajari dalam pelajaran ini. Cabaran ini akan membantu anda berlatih penciptaan repositori, ciri kolaborasi, dan aliran kerja Git moden dalam senario dunia sebenar.
**Arahan:** Cipta repositori GitHub awam baru untuk projek "Sumber Pembangunan Web" yang ringkas. Repositori tersebut harus termasuk fail README.md yang berstruktur baik yang menyenaraikan alat dan sumber pembangunan web yang berguna, disusun mengikut kategori (HTML, CSS, JavaScript, dll.). Sediakan repositori dengan piawaian komuniti yang betul termasuk lesen, panduan menyumbang, dan kod tingkah laku. Cipta sekurang-kurangnya dua cawangan ciri: satu untuk menambah sumber CSS dan satu lagi untuk sumber JavaScript. Buat commit pada setiap cawangan dengan mesej commit yang deskriptif, kemudian cipta pull request untuk menggabungkan perubahan kembali ke main. Aktifkan ciri GitHub seperti Issues, Discussions, dan sediakan aliran kerja GitHub Actions asas untuk pemeriksaan automatik.
**Arahan:** Cipta repositori GitHub awam baru untuk projek "Sumber Pembangunan Web" yang ringkas. Repositori tersebut harus termasuk fail README.md yang berstruktur baik yang menyenaraikan alat dan sumber pembangunan web yang berguna, disusun mengikut kategori (HTML, CSS, JavaScript, dll.). Sediakan repositori dengan piawaian komuniti yang betul termasuk lesen, panduan menyumbang, dan kod etika. Cipta sekurang-kurangnya dua cawangan ciri: satu untuk menambah sumber CSS dan satu lagi untuk sumber JavaScript. Buat commit pada setiap cawangan dengan mesej commit yang deskriptif, kemudian cipta pull request untuk menggabungkan perubahan kembali ke main. Aktifkan ciri GitHub seperti Issues, Discussions, dan sediakan aliran kerja GitHub Actions asas untuk pemeriksaan automatik.
## Tugasan
Misi anda, jika anda memilih untuk menerimanya: Lengkapkan kursus [Pengenalan kepada GitHub](https://github.com/skills/introduction-to-github) di GitHub Skills. Kursus interaktif ini akan membolehkan anda berlatih segala yang telah anda pelajari dalam persekitaran yang selamat dan berpandu. Tambahan pula, anda akan mendapat lencana yang hebat apabila selesai! 🏅
Misi anda, jika anda memilih untuk menerimanya: Lengkapkan kursus [Pengenalan kepada GitHub](https://github.com/skills/introduction-to-github) di GitHub Skills. Kursus interaktif ini akan membolehkan anda berlatih semua yang telah anda pelajari dalam persekitaran yang selamat dan dipandu. Tambahan pula, anda akan mendapat lencana yang hebat apabila selesai! 🏅
**Rasa bersedia untuk cabaran lebih lanjut?**
- Sediakan pengesahan SSH untuk akaun GitHub anda (tidak perlu lagi kata laluan!)
@ -728,27 +729,27 @@ Misi anda, jika anda memilih untuk menerimanya: Lengkapkan kursus [Pengenalan ke
- [ ] Terokai tab "Explore" GitHub untuk menemui projek yang sedang trending
- [ ] Berlatih fork repositori dan membuat perubahan kecil
### 📅 **Pengembaraan GitHub Anda Sepanjang Minggu**
- [ ] Lengkapkan kursus Kemahiran GitHub (Pengenalan kepada GitHub, Markdown)
### 📅 **Pengembaraan GitHub Anda Selama Seminggu**
- [ ] Lengkapkan kursus GitHub Skills (Pengenalan kepada GitHub, Markdown)
- [ ] Buat pull request pertama anda kepada projek sumber terbuka
- [ ] Sediakan laman GitHub Pages untuk mempamerkan kerja anda
- [ ] Sertai GitHub Discussions pada projek yang menarik minat anda
- [ ] Sertai GitHub Discussions pada projek yang anda minati
- [ ] Cipta repositori dengan piawaian komuniti yang betul (README, Lesen, dll.)
- [ ] Cuba GitHub Codespaces untuk pembangunan berasaskan awan
### 🌟 **Transformasi Anda Sepanjang Bulan**
### 🌟 **Transformasi Anda Selama Sebulan**
- [ ] Menyumbang kepada 3 projek sumber terbuka yang berbeza
- [ ] Mentor seseorang yang baru kepada GitHub (berikan semangat!)
- [ ] Mentor seseorang yang baru kepada GitHub (beri inspirasi kepada orang lain!)
- [ ] Sediakan aliran kerja automatik dengan GitHub Actions
- [ ] Bina portfolio yang mempamerkan sumbangan GitHub anda
- [ ] Sertai Hacktoberfest atau acara komuniti serupa
- [ ] Menjadi pemelihara projek anda sendiri yang orang lain sumbangkan
- [ ] Sertai Hacktoberfest atau acara komuniti yang serupa
- [ ] Menjadi penyelenggara projek anda sendiri yang disumbangkan oleh orang lain
### 🎓 **Pemeriksaan Akhir Penguasaan GitHub Anda**
**Raikan sejauh mana anda telah melangkah:**
- Apa perkara kegemaran anda tentang menggunakan GitHub?
- Ciri kolaborasi mana yang paling menggembirakan anda?
- Ciri kolaborasi mana yang paling mengujakan anda?
- Seberapa yakin anda untuk menyumbang kepada sumber terbuka sekarang?
- Projek pertama apa yang ingin anda sumbangkan?
@ -769,11 +770,13 @@ journey
Inspiring Others: 5: You
```
> 🌍 **Selamat datang ke komuniti pembangun global!** Anda kini mempunyai alat untuk bekerjasama dengan berjuta-juta pembangun di seluruh dunia. Sumbangan pertama anda mungkin kelihatan kecil, tetapi ingat - setiap projek sumber terbuka utama bermula dengan seseorang yang membuat commit pertama mereka. Persoalannya bukanlah jika anda akan memberi impak, tetapi projek hebat apa yang akan mendapat manfaat daripada perspektif unik anda terlebih dahulu! 🚀
> 🌍 **Selamat datang ke komuniti pembangun global!** Anda kini mempunyai alat untuk bekerjasama dengan jutaan pembangun di seluruh dunia. Sumbangan pertama anda mungkin kelihatan kecil, tetapi ingat - setiap projek sumber terbuka utama bermula dengan seseorang yang membuat commit pertama mereka. Persoalannya bukanlah jika anda akan memberi impak, tetapi projek hebat apa yang akan mendapat manfaat daripada perspektif unik anda terlebih dahulu! 🚀
Ingat: setiap pakar pernah menjadi pemula. Anda pasti boleh melakukannya! 💪
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Penafian**:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI [Co-op Translator](https://github.com/Azure/co-op-translator). Walaupun kami berusaha untuk ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat penting, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.
အလှပဆုံးအပိုင်းကတော့ – open source community က internet ရဲ့ အကြီးဆုံး group hug လိုပါပဲ။ အများစု project တွေက newcomer တွေကို actively ရှာဖွေပြီး "good first issue" ဆိုတဲ့ tag တွေကို သတ်မှတ်ထားပါတယ်။ Maintainer တွေကလည်း သူတို့ရဲ့ ပထမဆုံးအဆင့်ကို သတိရပြီး newcomer တွေကို အရမ်းဝမ်းသာပါတယ်။
အခု အလှပဆုံးအပိုင်းကတော့ open source community က အင်တာနက်ရဲ့ အကြီးဆုံး group hug လိုပါပဲ။ အများစု project တွေက newcomers တွေကို actively ရှာဖွေပြီး "good first issue" ဆိုတဲ့ tag တွေကို သတ်မှတ်ထားပါတယ်။ Maintainers တွေက အသစ်ရောက်လာတဲ့ contributors တွေကို မြင်ရင် အရမ်းဝမ်းသာတယ်၊ သူတို့ရဲ့ ပထမဆုံးအဆင့်တွေကို သတိရလို့ပါ။
```mermaid
flowchart TD
@ -433,17 +435,17 @@ flowchart TD
style M fill:#fff59d
```
သင် coding ကို သင်ယူနေတဲ့အခါမှာ – သင့်ရဲ့ digital world ကို ပိုမိုကောင်းမွန်အောင်လုပ်ဖို့ အမြဲစဉ်းစားနေတဲ့ global family တစ်ခုရဲ့ အစိတ်အပိုင်းဖြစ်လာမှာပါ! 🌟
ဒီမှာ သင် coding လေ့လာနေတဲ့အခါမှာ သင့်ရဲ့ အတန်းထဲက developer တွေကို digital world ကို ပိုမိုကောင်းမွန်အောင်လုပ်ဖို့ အတူတူ wake up လုပ်တဲ့ global family တစ်ခုရဲ့ အစိတ်အပိုင်းဖြစ်ဖို့ ပြင်ဆင်နေပါတယ်။ 🌟
Привіт, майбутній розробнику! 👋 Готовий приєднатися до мільйонів кодерів по всьому світу? Я щиро радий представити тобі GitHub – уяви це як соціальну мережу для програмістів, але замість фотографій обіду ми ділимося кодом і створюємо неймовірні речі разом!
Привіт, майбутній розробнику! 👋 Готовий приєднатися до мільйонів кодерів по всьому світу? Я щиро радий познайомити тебе з GitHub – уяви це як соціальну мережу для програмістів, але замість фото обідів ми ділимося кодом і створюємо неймовірні речі разом!
Ось що мене вражає: кожен додаток на твоєму телефоні, кожен вебсайт, який ти відвідуєш, і більшість інструментів, які ти навчишся використовувати, були створені командами розробників, які співпрацювали на платформах, таких як GitHub. Той музичний додаток, який ти любиш? Хтось, як ти, зробив свій внесок у його створення. Тагра, від якої ти не можеш відірватися? Так, ймовірно, була створена за допомогою співпраці на GitHub. А тепер ТИ навчишся бути частиною цієї дивовижної спільноти!
Ось що мене вражає: кожен додаток на твоєму телефоні, кожен вебсайт, який ти відвідуєш, і більшість інструментів, які ти навчишся використовувати, були створені командами розробників, які співпрацювали на платформах, подібних до GitHub. Той музичний додаток, який ти любиш? Хтось, як ти, зробив свій внесок у його створення. Тагра, від якої ти не можеш відірватися? Так, ймовірно, створена за допомогою співпраці на GitHub. А тепер ТИ навчишся бути частиною цієї дивовижної спільноти!
Я знаю, що спочатку це може здатися складним – чесно кажучи, я пам'ятаю, як дивився на свою першу сторінку GitHub і думав: "Що це все означає?" Але ось у чому справа: кожен розробник починав саме там, де ти зараз. До кінця цього уроку ти матимеш власний репозиторій на GitHub (уяви це як свою персональну вітрину проектів у хмарі), і ти знатимеш, як зберігати свою роботу, ділитися нею з іншими та навіть робити внесок у проекти, якими користуються мільйони людей.
Я знаю, це може здатися складним на початку – чесно, я пам’ятаю, як дивився на свою першу сторінку GitHub і думав: "Що це все означає?" Але ось у чому справа: кожен розробник починав саме там, де ти зараз. До кінця цього уроку ти матимеш свій власний репозиторій на GitHub (уяви це як свою персональну вітрину проєктів у хмарі), і ти знатимеш, як зберігати свою роботу, ділитися нею з іншими і навіть робити внесок у проєкти, якими користуються мільйони людей.
Ми пройдемо цей шлях разом, крок за кроком. Без поспіху, без тиску – лише ти, я і кілька крутих інструментів, які стануть твоїми новими найкращими друзями!
Ми пройдемо цей шлях разом, крок за кроком. Без поспіху, без тиску – лише ти, я і кілька дійсно крутих інструментів, які стануть твоїми новими найкращими друзями!

> Скетчноут від [Tomomi Imura](https://twitter.com/girlie_mac)
@ -42,67 +42,67 @@ journey
## Вступ
Перш ніж ми перейдемо до справді захоплюючих речей, давай підготуємо твій комп'ютер до магії GitHub! Уяви це як організацію своїх художніх матеріалів перед створенням шедевру– наявність правильних інструментів робить усе набагато простішим і значно веселішим.
Перш ніж ми перейдемо до дійсно захоплюючих речей, давай підготуємо твій комп’ютер до магії GitHub! Уяви це як організацію своїх художніх матеріалів перед створенням шедевра– наявність правильних інструментів робить усе набагато простішим і значно приємнішим.
Я особисто проведу тебе через кожен крок налаштування, і обіцяю, це не так страшно, як може здатися на перший погляд. Якщо щось не зрозуміло одразу, це абсолютно нормально! Я пам'ятаю, як налаштовував своє перше середовище розробки івідчував, ніби намагаюся читати стародавні ієрогліфи. Кожен розробник був саме там, де ти зараз, і думав, чи все він робить правильно. Спойлер: якщо ти тут інавчаєшся, ти вже робиш усе правильно! 🌟
Я особисто проведу тебе через кожен крок налаштування, і обіцяю, це не так страшно, як може здатися на перший погляд. Якщо щось одразу не зрозуміло – це абсолютно нормально! Я пам’ятаю, як налаштовував своє перше середовище розробки іпочувався так, ніби намагаюся читати стародавні ієрогліфи. Кожен розробник був саме там, де ти зараз, і думав, чи все він робить правильно. Спойлер: якщо ти тут івчишся, ти вже робиш усе правильно! 🌟
У цьому уроці ми розглянемо:
- відстеження роботи, яку ти виконуєш на своєму комп'ютері
- роботу над проектами з іншими
- як відстежувати свою роботу на комп’ютері
- як працювати над проєктами разом з іншими
- як робити внесок у програмне забезпечення з відкритим кодом
### Попередні вимоги
### Передумови
Давай підготуємо твій комп'ютер до магії GitHub! Не хвилюйся – це налаштування потрібно зробити лише один раз, і тоді ти будеш готовий до всієї своєї подорожі в програмуванні.
Давай підготуємо твій комп’ютер до магії GitHub! Не хвилюйся – це налаштування потрібно зробити лише один раз, і ти будеш готовий до всієї своєї подорожі у світі кодування.
Добре, почнемо з основи! Спочатку нам потрібно перевірити, чи Git вже встановлений на твоєму комп'ютері. Git – це як суперрозумний асистент, який запам'ятовує кожну зміну, яку ти робиш у своєму коді – набагато краще, ніж постійно натискати Ctrl+S кожні дві секунди (ми всі там були!).
Отже, почнемо з основ! Спочатку нам потрібно перевірити, чи вже встановлений Git на твоєму комп’ютері. Git – це як суперрозумний помічник, який запам’ятовує кожну зміну, яку ти робиш у своєму коді – набагато краще, ніж постійно натискати Ctrl+S кожні дві секунди (ми всі там були!).
Давай перевіримо, чи Git вже встановлений, ввівши цю магічну команду в терміналі:
Давай перевіримо, чи встановлений Git, ввівши цю магічну команду в терміналі:
`git --version`
Якщо Git ще не встановлений, не хвилюйся! Просто зайди на [завантаження Git](https://git-scm.com/downloads) і завантаж його. Після встановлення нам потрібно правильно представити тебе Git:
Якщо Git ще не встановлений, не хвилюйся! Просто зайди на [завантаження Git](https://git-scm.com/downloads) і завантаж його. Після встановлення нам потрібно правильно представити Git:
> 💡 **Перше налаштування**: Ці команди повідомляють Git, хто ти. Ця інформація буде прикріплена до кожного коміту, який ти робиш, тому вибери ім'я та електронну адресу, які ти готовий публічно ділитися.
> 💡 **Перше налаштування**: Ці команди повідомляють Git, хто ти. Ця інформація буде прикріплена до кожного коміту, який ти робиш, тому вибери ім’я та електронну пошту, які тобі комфортно публічно ділитися.
```bash
git config --global user.name "your-name"
git config --global user.email "your-email"
```
Щоб перевірити, чи Git вже налаштований, ти можеш ввести:
Щоб перевірити, чи вже налаштований Git, ти можеш ввести:
```bash
git config --list
```
Тобі також знадобиться обліковий запис GitHub, редактор коду (наприклад, Visual Studio Code), і потрібно буде відкрити термінал (або командний рядок).
Перейди на [github.com](https://github.com/) і створи обліковий запис, якщо ти ще цього не зробив, або увійди і заповни свій профіль.
Перейди на [github.com](https://github.com/) і створи обліковий запис, якщо ще не маєш, або увійди і заповни свій профіль.
💡 **Сучасна порада**: Розглянь можливість налаштування [SSHключів](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) або використання [GitHub CLI](https://cli.github.com/) для зручнішої аутентифікації без паролів.
💡 **Сучасна порада**: Розглянь можливість налаштування [SSH-ключів](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) або використання [GitHub CLI](https://cli.github.com/) для зручнішої автентифікації без паролів.
✅ GitHub – не єдиний репозиторій коду у світі; є й інші, але GitHub – найвідоміший.
### Підготовка
Тобі знадобиться папка з проектом коду на твоєму локальному комп'ютері (ноутбуці або ПК) і публічний репозиторій на GitHub, який буде служити прикладом того, як робити внесок у проекти інших.
Тобі знадобиться папка з кодовим проєктом на твоєму локальному комп’ютері (ноутбуці чи ПК) і публічний репозиторій на GitHub, який слугуватиме прикладом того, як робити внесок у проєкти інших.
### Збереження твого коду в безпеці
### Захист свого коду
Давай поговоримо про безпеку на хвилинку – але не хвилюйся, ми не будемо перевантажувати тебе страшними речами! Уяви ці практики безпеки як замикання машини або будинку. Це прості звички, які стають природними і захищають твою важливу роботу.
Давай поговоримо про безпеку – але не хвилюйся, ми не будемо перевантажувати тебе страшними речами! Уяви ці практики безпеки як замикання машини чи будинку. Це прості звички, які стають другою натурою і захищають твою важку працю.
Ми покажемо тобі сучасні, безпечні способи роботи з GitHub прямо з самого початку. Таким чином, ти розвинеш хороші звички, які будуть служити тобі протягом усієї кар'єри програміста.
Ми покажемо тобі сучасні, безпечні способи роботи з GitHub з самого початку. Таким чином, ти розвинеш хороші звички, які будуть корисними протягом усієї твоєї кар’єри програміста.
Коли працюєш з GitHub, важливо дотримуватися найкращих практик безпеки:
| Область безпеки | Найкраща практика | Чому це важливо |
| **Аутентифікація** | Використовуй SSHключі або персональні токени доступу | Паролі менш безпечні і поступово відходять |
| **Двофакторна аутентифікація** | Увімкни 2FA у своєму обліковому записі GitHub | Додає додатковий рівень захисту облікового запису |
| **Безпека репозиторію** | Ніколи не коміть конфіденційну інформацію | APIключі та паролі не повинні бути у публічних репозиторіях |
| **Управління залежностями** | Увімкни Dependabot для оновлень | Забезпечує безпеку та актуальність твоїх залежностей |
| **Аутентифікація** | Використовуй SSH-ключі або персональні токени доступу | Паролі менш безпечні і поступово відходятьу минуле |
| **Двофакторна аутентифікація** | Увімкни 2FA у своєму обліковому записі GitHub | Додає додатковий рівень захисту |
| **Безпека репозиторію** | Ніколи не коміть конфіденційну інформацію | API-ключі та паролі не повинні бути у публічних репозиторіях |
| **Управління залежностями** | Увімкни Dependabot для оновлень | Підтримує твої залежності безпечними та актуальними |
> ⚠️ **Критичне нагадування про безпеку**: Ніколи не коміть API ключі, паролі або іншу конфіденційну інформацію в будь-який репозиторій. Використовуй змінні середовища та файли `.gitignore` для захисту конфіденційних даних.
> ⚠️ **Критичне нагадування про безпеку**: Ніколи не коміть API-ключі, паролі чи іншу конфіденційну інформацію в будь-який репозиторій. Використовуй змінні середовища та файли `.gitignore`, щоб захистити чутливі дані.
> 💡 **Порада професіонала**: SSH ключі усувають необхідність постійного введення пароліві є більш безпечними, ніж традиційні методи аутентифікації.
> 💡 **Порада професіонала**: SSH-ключі усувають необхідність постійно вводити пароліі є більш безпечними, ніж традиційні методи аутентифікації.
---
## Управління кодом як професіонал
Окей, ОЦЕ те, де все стає справді захоплюючим! 🎉 Ми збираємося навчитися відстежувати і управляти твоїм кодом, як це роблять професіонали, і чесно кажучи, це одна з моїх улюблених тем для навчання, тому що це справжній переворот.
Окей, ось тут починається справжній екшн! 🎉 Ми зараз навчимося відстежувати і керувати твоїм кодом, як це роблять професіонали, і чесно кажучи, це одна з моїх улюблених тем для навчання, тому що це справжній переворотугрі.
Уяви це: ти пишеш дивовижну історію і хочеш зберігати кожен чернетку, кожне блискуче редагування і кожен момент "оце так геніально!" на шляху. Саме це Git робить для твого коду! Це як мати неймовірний блокнот, що подорожує у часі і запам'ятовує ВСЕ– кожен натиск клавіші, кожну зміну, кожен момент "ой, це все зламало", який ти можеш миттєво скасувати.
Уяви: ти пишеш дивовижну історію і хочеш зберігати кожен чернетковий варіант, кожне блискуче редагування і кожен момент "оце так геніально!". Саме це Git робить для твого коду! Це як мати найкращий у світі блокнот, що подорожує в часі і запам’ятовує ВСЕ– кожен натиск клавіші, кожну зміну, кожен момент "ой, це все зламало", який ти можеш миттєво скасувати.
Чесно кажучи, спочатку це може здатися складним. Коли я починав, я думав: "Чому я просто не можу зберігати свої файли, як зазвичай?" Але повір мені: як тільки Git стане зрозумілим (а це станеться!), ти матимеш той момент осяяння, коли подумаєш: "Як я взагалі міг програмувати без цього?" Це як відкрити, що ти можеш літати, коли все життя ходив пішки!
Зізнаюся – спочатку це може здатися складним. Коли я починав, я думав: "Чому я не можу просто зберігати файли, як зазвичай?" Але повір мені: як тільки Git стане зрозумілим (а це станеться!), ти матимеш той момент осяяння, коли подумаєш: "Як я взагалі міг кодувати без цього?" Це як відкрити, що ти можеш літати, коли все життя ходив пішки!
Уявімо, що у тебе є папка локально з якимось проектом коду, і ти хочеш почати відстежувати свій прогрес за допомогою git – системи контролю версій. Дехто порівнює використання git із написанням любовного листа до свого майбутнього "я". Читаючи свої повідомлення комітів через дні, тижні чи місяці, ти зможеш згадати, чому прийняв те чи інше рішення, або "відкотити" зміну– тобто, якщо ти пишеш хороші "повідомлення комітів".
Припустимо, у тебе є папка з кодовим проєктом, і ти хочеш почати відстежувати свій прогрес за допомогою git – системи контролю версій. Дехто порівнює використання git із написанням любовного листа до свого майбутнього "я". Читаючи свої повідомлення про коміти через дні, тижні чи місяці, ти зможеш згадати, чому прийняв те чи інше рішення, або "відкотити" зміни – звісно, якщо ти пишеш хороші повідомлення про коміти.
```mermaid
flowchart TD
@ -154,13 +154,13 @@ flowchart TD
### Завдання: Створи свій перший репозиторій!
> 🎯 **Твоя місія (і я так радий за тебе!)**: Ми разом створимо твій перший репозиторій на GitHub! До кінця цього уроку ти матимеш свій власний куточок в інтернеті, де буде зберігатися твій код, і ти зробиш свій перший "коміт" (це розробницька мова для збереження твоєї роботи дуже розумним способом).
> 🎯 **Твоя місія (і я дуже радий за тебе!)**: Ми разом створимо твій перший репозиторій на GitHub! До кінця цього завдання у тебе буде свій власний куточок в інтернеті, де житиме твій код, і ти зробиш свій перший "коміт" (це розробницький термін для розумного збереження твоєї роботи).
>
> Це справді особливий момент – ти офіційно приєднуєшся до глобальної спільноти розробників! Я досі пам'ятаю хвилювання від створення свого першого репозиторію і думки: "Вау, я справді це роблю!"
> Це справді особливий момент – ти офіційно приєднуєшся до глобальної спільноти розробників! Я досі пам’ятаю хвилювання від створення свого першого репозиторію і думки: "Вау, я справді це роблю!"
Давай пройдемо цей шлях разом, крок за кроком. Не поспішай з кожною частиною – тут немає призу за швидкість, і я обіцяю, кожен крок буде зрозумілим. Пам'ятай, кожна зірка програмування, яку ти захоплюєшся, колись сиділа саме там, де ти зараз, готуючись створити свій перший репозиторій. Як це круто?
Давай пройдемо цей шлях разом, крок за кроком. Не поспішай – тут немає нагороди за швидкість, і я обіцяю, що кожен крок матиме сенс. Пам’ятай, кожна зірка кодування, якою ти захоплюєшся, колись сиділа саме там, де ти зараз, і створювала свій перший репозиторій. Як це круто?
> Переглянь відео
> Подивись відео
>
> [](https://www.youtube.com/watch?v=9R31OUPpxU4)
@ -170,34 +170,34 @@ flowchart TD
Ось що потрібно зробити:
1. Дай своєму репозиторію назву – зроби її значущою для себе!
1. Додай опис, якщо хочеш (це допоможе іншим зрозуміти, про що твій проект)
1. Виріши, чи хочеш зробити його публічним (усі можуть його бачити) чи приватним (лише для тебе)
1. Рекомендую поставити галочку, щоб додати файл README – це як титульна сторінка твого проекту
1. Додай опис, якщо хочеш (це допоможе іншим зрозуміти, про що твій проєкт)
1. Виріши, чи хочеш зробити його публічним (усі можуть бачити) чи приватним (лише для тебе)
1. Рекомендую поставити галочку, щоб додати файл README – це як титульна сторінка твого проєкту
1. Натисни **Create repository**і святкуй – ти щойно створив свій перший репозиторій! 🎉
2. **Перейди до папки свого проекту**. Тепер відкрий свій термінал (не хвилюйся, він не такий страшний, як виглядає!). Нам потрібно сказати твоєму комп'ютеру, де знаходяться файли твого проекту. Введи цю команду:
2. **Перейди до своєї папки з проєктом**. Тепер відкрий свій термінал (не хвилюйся, це не так страшно, як виглядає!). Нам потрібно сказати комп’ютеру, де знаходяться твої файли проєкту. Введи цю команду:
```bash
cd [name of your folder]
```
**Що ми тут робимо:**
- Ми фактично кажемо "Гей, комп'ютере, відведи мене до папки мого проекту"
- Це як відкриття конкретної папки на робочому столі, але ми робимо це текстовими командами
- Замінити `[name of your folder]` на фактичну назву папки твого проекту
- Ми, по суті, кажемо комп’ютеру: "Гей, відведи мене до моєї папки з проєктом"
- Це як відкрити конкретну папку на робочому столі, але ми робимо це за допомогою текстових команд
- Замінюй `[name of your folder]` на фактичну назву твоєї папки з проєктом
3. **Перетвори свою папку на Git репозиторій**. Ось де відбувається магія! Введи:
3. **Перетвори свою папку на Git-репозиторій**. Ось де починається магія! Введи:
```bash
git init
```
**Ось що щойно сталося (доволі круто!):**
- Git щойно створив приховану папку `.git`у твоєму проекті – ти її не побачиш, але вона там!
- Твоя звичайна папка тепер "репозиторій", який може відстежувати кожну зміну, яку ти робиш
- Уяви це як надання твоїй папці суперсил, щоб запам'ятовувати все
- Git створив приховану папку `.git`у твоєму проєкті – ти її не побачиш, але вона там!
- Твоя звичайна папка тепер стала "репозиторієм", який може відстежувати кожну зміну, яку ти робиш
- Уяви це як надання твоїй папці суперздібностей запам’ятовувати все
4. **Перевір, що відбувається**. Давай подивимося, що Git думає про твій проект зараз:
4. **Перевір, що відбувається**. Давай подивимося, що Git думає про твій проєкт зараз:
```bash
git status
@ -205,7 +205,7 @@ flowchart TD
**Розуміння того, що каже Git:**
Ти можеш побачити щось схоже на це:
Ти можеш побачити щось на кшталт цього:
```output
Changes not staged for commit:
@ -218,10 +218,10 @@ flowchart TD
**Не панікуй! Ось що це означає:**
- Файли в **червоному** – це файли, які мають зміни, але ще не готові до збереження
- Файли в **зеленому** (коли ти їх побачиш) готові до збереження
- Git допомагає, показуючи тобі, що ти можеш зробити далі
- Файли в **зеленому** (коли ти їх побачиш) –готові до збереження
- Git допомагає, повідомляючи тобі, що можна зробити далі
> 💡 **Порада професіонала**: Команда `git status`– твій найкращий друг! Використовуй її щоразу, коли ти не впевнений, що відбувається. Це як запитати Git: "Гей, яка зараз ситуація?"
> 💡 **Порада професіонала**: Команда `git status`– твій найкращий друг! Використовуй її щоразу, коли не впевнений, що відбувається. Це як запитатиу Git: "Гей, яка зараз ситуація?"
5. **Підготуй свої файли до збереження** (це називається "стейджинг"):
@ -231,17 +231,17 @@ flowchart TD
**Що ми щойно зробили:**
- Ми сказали Git: "Гей, я хочу включити ВСІ мої файли в наступне збереження"
- `.`– це як сказати "все в цій папці"
- `.`означає "все в цій папці"
- Тепер твої файли "стейджовані" і готові до наступного кроку
**Хочеш бути більш вибірковим?** Ти можеш додати лише конкретні файли:
**Хочеш бути вибірковішим?** Ти можеш додати лише конкретні файли:
```bash
git add [file or folder name]
```
**Чому ти можеш захотіти це зробити?**
- Іноді ти хочеш зберігати пов'язані зміни разом
- Іноді ти хочеш зберегти пов’язані зміни разом
- Це допомагає організувати твою роботу в логічні частини
- Полегшує розуміння того, що змінилося і коли
@ -266,15 +266,14 @@ flowchart TD
**🎉 Вітаю! Ти щойно зробив свій перший коміт!**
**Ось що щойно сталося:**
- Git зробив "знімок" усіх твоїх стейджованих файлів у цей конкретний момент
- Твоє повідомлення коміту "first commit" пояснює, про що цей момент збереження
- Git дав цьому знімку унікальний ID, щоб ти
**Що ми щойно зробили:**
- Ми створили зв’язок між вашим локальним проєктом і репозиторією на GitHub.
- "Origin" – це просто псевдонім для вашої репозиторії на GitHub, як додавання контакту до вашого телефону.
- Тепер ваш локальний Git знає, куди надсилати ваш код, коли ви готові ним поділитися.
💡 **Простіший спосіб**: Якщо у вас встановлений GitHub CLI, ви можете зробити це однією командою:
- Git зробив "знімок" усіх твоїх стейджованих файлів у цей момент
- Твоє повідомлення про коміт "first commit" пояснює, що це за точка збереження
- Git надав цьому знімку унікальний ID, щоб ти завжди мі
- Ми створили зв'язок між вашим локальним проєктом і вашим репозиторієм на GitHub.
- "Origin" – це просто псевдонім для вашого репозиторію на GitHub – як додати контакт у телефон.
- Тепер ваш локальний Git знає, куди надсилати ваш код, коли ви будете готові поділитися ним.
💡 **Простіший спосіб**: Якщо у вас встановлений GitHub CLI, ви можете зробити це однією командою:
```bash
gh repo create my-repo --public --push --source=.
```
@ -285,19 +284,19 @@ flowchart TD
git push -u origin main
```
**🚀 Це воно! Ви завантажуєте ваш код на GitHub!**
**Що відбувається:**
- Ваші коміти подорожують з вашого комп’ютера на GitHub.
- Прапорець `-u` встановлює постійний зв’язок, щоб майбутні push були простішими.
- "main" – це назва вашої основної гілки (як головна папка).
- Після цього ви можете просто вводити `git push` для майбутніх завантажень!
**🚀 Це воно! Ви завантажуєте свій код на GitHub!**
**Що відбувається:**
- Ваші коміти подорожують з вашого комп'ютера на GitHub.
- Прапорець `-u` встановлює постійний зв'язок, щоб майбутні пуші були простішими.
- "main" – це назва вашої основної гілки (як головна папка).
- Після цього ви можете просто вводити `git push` для майбутніх завантажень!
💡 **Швидка примітка**: Якщо ваша гілка називається інакше (наприклад, "master"), використовуйте цю назву. Ви можете перевірити це командою `git branch --show-current`.
💡 **Швидка примітка**: Якщо ваша гілка називається інакше (наприклад, "master"), використовуйте цю назву. Ви можете перевірити це за допомогою `git branch --show-current`.
9. **Ваш новий щоденний ритм кодування** (ось де це стає захоплюючим!):
Відтепер, коли ви вносите зміни до вашого проєкту, у вас є цей простий трьохетапний процес:
Відтепер, коли ви вносите зміни у свій проєкт, у вас є цей простий трьохетапний танець:
```bash
git add .
@ -305,22 +304,22 @@ flowchart TD
git push
```
**Це стає вашим серцем кодування:**
- Внесіть круті зміни до вашого коду ✨
- Додайте їх командою `git add` ("Гей, Git, зверни увагу на ці зміни!")
- Збережіть їх командою `git commit` з описовим повідомленням (майбутній ви буде вдячний!)
- Поділіться ними зі світом за допомогою `git push` 🚀
- Повторюйте – серйозно, це стає таким природним, як дихання!
**Це стає вашим серцем кодування:**
- Внесіть чудові зміни у свій код ✨
- Додайте їх за допомогою `git add` ("Гей, Git, зверни увагу на ці зміни!")
- Збережіть їх за допомогою `git commit`і описового повідомлення (майбутній ви вам подякує!)
- Поділіться ними зі світом за допомогою `git push` 🚀
- Повторюйте – серйозно, це стає таким же природним, як дихання!
Мені подобається цей робочий процес, тому що це як мати кілька точок збереження в відеогрі. Зробили зміни, які вам подобаються? Збережіть їх! Хочете спробувати щось ризиковане? Без проблем – ви завжди можете повернутися до останнього коміту, якщо щось піде не так!
Я люблю цей робочий процес, тому що це як мати кілька точок збереження у відеогрі. Зробили зміну, яка вам подобається? Зробіть коміт! Хочете спробувати щось ризиковане? Без проблем – ви завжди можете повернутися до останнього коміту, якщо щось піде не так!
> 💡 **Порада**: Можливо, вам також варто використовувати файл `.gitignore`, щоб запобігти появі файлів, які ви не хочете відстежувати, на GitHub – наприклад, файл з нотатками, який ви зберігаєте в тій самій папці, але він не має місця в публічній репозиторії. Ви можете знайти шаблони для файлів `.gitignore` на [.gitignore templates](https://github.com/github/gitignore) або створити один за допомогою [gitignore.io](https://www.toptal.com/developers/gitignore).
> 💡 **Порада**: Можливо, ви також захочете використовувати файл `.gitignore`, щоб запобігти відстеженню файлів, які ви не хочете бачити на GitHub – наприклад, файл із нотатками, який ви зберігаєте в тій самій папці, але який не має місця в публічному репозиторії. Ви можете знайти шаблони для файлів `.gitignore` на [.gitignore templates](https://github.com/github/gitignore) або створити один за допомогою [gitignore.io](https://www.toptal.com/developers/gitignore).
### 🧠 **Перша перевірка репозиторії: Як це було?**
### 🧠 **Перша перевірка репозиторію: Як це відчувалося?**
**Зробіть паузу, щоб відсвяткувати і подумати:**
- Як це було – побачити ваш код на GitHub вперше?
- Який крок був найбільш заплутаним, а який виявився несподівано легким?
- Як це було – побачити свій код на GitHub вперше?
- Який крок був найбільш заплутаним, а який виявився несподівано простим?
- Чи можете ви пояснити різницю між `git add`, `git commit`і`git push` своїми словами?
```mermaid
@ -340,7 +339,7 @@ stateDiagram-v2
end note
```
> **Пам’ятайте**: Навіть досвідчені розробники іноді забувають точні команди. Щоб цей робочий процес став автоматичним, потрібна практика – ви чудово справляєтеся!
> **Пам'ятайте**: Навіть досвідчені розробники іноді забувають точні команди. Щоб цей робочий процес став автоматичним, потрібна практика – ви чудово справляєтеся!
#### Сучасні робочі процеси Git
@ -348,32 +347,33 @@ stateDiagram-v2
- **Conventional Commits**: Використовуйте стандартизований формат повідомлень комітів, як-от `feat:`, `fix:`, `docs:` тощо. Дізнайтеся більше на [conventionalcommits.org](https://www.conventionalcommits.org/)
- **Атомарні коміти**: Нехай кожен коміт представляє одну логічну зміну.
- **Часті коміти**: Робіть коміти часто з описовими повідомленнями, а не рідкоі великими.
- **Часті коміти**: Робіть коміти часто з описовими повідомленнями, а не рідкісні й великі.
#### Повідомлення комітів
Чудовий заголовок повідомлення коміту завершує наступне речення:
Якщо застосувати, цей коміт <ваш заголовок тут>
Для заголовка використовуйте наказовий теперішній час: "змінити", а не "змінено" чи "зміни". Як і в заголовку, у тілі (за бажанням) також використовуйте наказовий теперішній час. Тіло має включати мотивацію для зміни та порівняти це з попередньою поведінкою. Ви пояснюєте `чому`, а не `як`.
Для заголовка використовуйте наказовий, теперішній час: "змінити", а не "змінив" чи "зміни".
Як і в заголовку, у тілі (за бажанням) також використовуйте наказовий, теперішній час. Тіло має включати мотивацію для зміни та порівняння з попередньою поведінкою. Ви пояснюєте `чому`, а не `як`.
✅ Приділіть кілька хвилин, щоб переглянути GitHub. Чи можете ви знайти справді чудове повідомлення коміту? Чи можете знайти дуже мінімальне? Яка інформація, на вашу думку, є найважливішою і корисною для передачі в повідомленні коміту?
✅ Приділіть кілька хвилин, щоб переглянути GitHub. Чи можете ви знайти дійсно чудове повідомлення коміту? Чи можете знайти дуже мінімальне? Яка інформація, на вашу думку, є найважливішою та корисною для передачі в повідомленні коміту?
## Співпраця з іншими (найцікавіша частина!)
## Робота з іншими (найцікавіша частина!)
Приготуйтеся, тому що ОСЬде GitHub стає абсолютно магічним! 🪄 Ви освоїли управління власним кодом, але тепер ми занурюємося в мою абсолютну улюблену частину – співпрацю з дивовижними людьми з усього світу.
Приготуйтеся, тому що ОСЬДЕ GitHub стає абсолютно магічним! 🪄 Ви освоїли управління власним кодом, але тепер ми занурюємося в мою улюблену частину – співпрацю з дивовижними людьми з усього світу.
Уявіть це: ви прокидаєтеся завтра і бачите, що хтось у Токіо покращив ваш код, поки ви спали. Потім хтось у Берліні виправляє баг, над яким ви застрягли. До обіду розробник у Сан-Паулу додає функцію, про яку ви навіть не думали. Це не наукова фантастика – це просто вівторок у всесвіті GitHub!
Що мене справді захоплює, так це те, що навички співпраці, які ви зараз освоюєте? Це ТОЧНО ті самі робочі процеси, які команди в Google, Microsoft і ваших улюблених стартапах використовують щодня. Ви не просто вивчаєте крутий інструмент – ви вивчаєте секретну мову, яка дозволяє всьому світу програмного забезпечення працювати разом.
Що мене дійсно захоплює, так це те, що навички співпраці, які ви зараз вивчаєте? Це ТОЧНО ті самі робочі процеси, які щодня використовують команди в Google, Microsoft і ваших улюблених стартапах. Ви не просто вивчаєте крутий інструмент – ви вивчаєте секретну мову, яка дозволяє всьому світу програмного забезпечення працювати разом.
Серйозно, як тільки ви відчуєте захват від того, що хтось об’єднав ваш перший pull request, ви зрозумієте, чому розробники так захоплюються відкритим кодом. Це як бути частиною найбільшого, найкреативнішого командного проєкту у світі!
Серйозно, як тільки ви відчуєте азарт від того, що хтось об'єднав ваш перший pull request, ви зрозумієте, чому розробники так захоплюються open source. Це як бути частиною найбільшого, найкреативнішого командного проєкту у світі!
> Перегляньте відео
> Подивіться відео
>
> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
> [](https://www.youtube.com/watch?v=bFCM-PC3cu8)
Основна причина розміщення речей на GitHub – це зробити можливим співпрацю з іншими розробниками.
Головна причина розміщення речей на GitHub – це можливість співпрацювати з іншими розробниками.
```mermaid
flowchart LR
@ -395,24 +395,24 @@ flowchart LR
style L fill:#fff3e0
```
У вашій репозиторії перейдіть до `Insights > Community`, щоб побачити, як ваш проєкт порівнюється з рекомендованими стандартами спільноти.
У вашому репозиторії перейдіть до `Insights > Community`, щоб побачити, як ваш проєкт порівнюється з рекомендованими стандартами спільноти.
Хочете зробити вашу репозиторію професійною та привітною? Перейдіть до вашої репозиторії та натисніть на`Insights > Community`. Ця крута функція показує, як ваш проєкт порівнюється з тим, що спільнота GitHub вважає "хорошими практиками репозиторії".
Хочете, щоб ваш репозиторій виглядав професійно та привітно? Перейдіть до вашого репозиторію та натисніть`Insights > Community`. Ця крута функція показує, як ваш проєкт порівнюється з тим, що спільнота GitHub вважає "хорошими практиками репозиторію".
> 🎯 **Зробіть ваш проєкт блискучим**: Добре організована репозиторія з якісною документацією – це як чистий, привітний магазин. Це показує людям, що вам важлива ваша робота, і змушує інших хотіти зробити свій внесок!
> 🎯 **Зробіть ваш проєкт блискучим**: Добре організований репозиторій із гарною документацією – це як чистий, привітний магазин. Це показує людям, що вам не байдуже до вашої роботи, і змушує інших хотіти долучитися!
**Ось що робить репозиторію чудовою:**
**Ось що робить репозиторій чудовим:**
| Що додати | Чому це важливо | Що це дає вам |
|------------|-----------------|---------------|
| **Опис** | Перше враження має значення! | Люди миттєво розуміють, що робить ваш проєкт |
| Що додати | Чому це важливо | Що це робить для вас |
| **Опис** | Перше враження має значення! | Люди одразу знають, що робить ваш проєкт |
| **README** | Головна сторінка вашого проєкту | Як дружній гід для нових відвідувачів |
| **Інструкції для внеску** | Показує, що ви відкриті до допомоги | Люди знають, як саме вони можуть допомогти вам |
| **Кодекс поведінки** | Створює дружню атмосферу | Усі почуваються привітно |
| **Інструкції для внеску** | Показує, що ви вітаєте допомогу | Люди знають, як саме вони можуть допомогти вам |
| **Кодекс поведінки** | Створює дружню атмосферу | Усі почуваються бажаними для участі |
| **Ліцензія** | Юридична ясність | Інші знають, як вони можуть використовувати ваш код |
| **Політика безпеки** | Показує вашу відповідальність | Демонструє професійні практики |
> 💡 **Професійна порада**: GitHub надає шаблони для всіх цих файлів. Під час створення нової репозиторії поставте галочки, щоб автоматично згенерувати ці файли.
> 💡 **Професійна порада**: GitHub надає шаблони для всіх цих файлів. Під час створення нового репозиторію відмітьте відповідні поля, щоб автоматично згенерувати ці файли.
**Сучасні функції GitHub для дослідження:**
@ -421,30 +421,30 @@ flowchart LR
- **Dependabot** для автоматичного оновлення залежностей
💬 **Спільнота та управління проєктами:**
- **GitHub Discussions** для обговорень спільноти поза межами проблем
- **GitHub Discussions** для обговорень спільноти поза межами задач
- **GitHub Projects** для управління проєктами у стилі канбан
- **Правила захисту гілок** для забезпечення стандартів якості коду
Усі ці ресурси будуть корисними для адаптації нових членів команди. І саме на такі речі нові учасники звертають увагу перед тим, як навіть подивитися на ваш код, щоб зрозуміти, чи є ваш проєкт правильним місцем для їхнього часу.
Усі ці ресурси допоможуть новим членам команди швидше адаптуватися. І саме на такі речі нові учасники звертають увагу перед тим, як навіть подивитися на ваш код, щоб зрозуміти, чи є ваш проєкт правильним місцем для їхнього часу.
✅ Файли README, хоча їх створення займає час, часто ігноруються зайнятими кураторами. Чи можете ви знайти приклад особливо описового README? Примітка: існують [інструменти для створення хороших README](https://www.makeareadme.com/), які вам можуть сподобатися.
✅ README-файли, хоча їх підготовка займає час, часто ігноруються зайнятими підтримувачами. Чи можете ви знайти приклад особливо описового README? Примітка: існують деякі [інструменти для створення гарних README](https://www.makeareadme.com/), які вам можуть сподобатися.
### Завдання: Об’єднайте трохи коду
### Завдання: Об'єднайте трохи коду
Документація для внесків допомагає людям зробити внесок у проєкт. Вона пояснює, які типи внесків вас цікавлятьі як працює процес. Учасники повинні пройти серію кроків, щоб мати змогу внести свій внесок у вашу репозиторію на GitHub:
Документація для внесків допомагає людям долучатися до проєкту. Вона пояснює, які типи внесків ви шукаєтеі як працює процес. Учасники повинні пройти серію кроків, щоб мати змогу внести свій внесок у ваш репозиторій на GitHub:
1. **Форк вашої репозиторії**. Ви, ймовірно, захочете, щоб люди _форкали_ ваш проєкт. Форк означає створення копії вашої репозиторіїу їхньому профілі на GitHub.
1. **Клонування**. Звідти вони клонують проєкт на свій локальний комп’ютер.
1. **Форк вашого репозиторію**. Ви, ймовірно, захочете, щоб люди _форкали_ ваш проєкт. Форкінг означає створення копії вашого репозиторіюу їхньому профілі на GitHub.
1. **Клонування**. Після цього вони клонують проєкт на свій локальний комп'ютер.
1. **Створення гілки**. Ви захочете попросити їх створити _гілку_ для своєї роботи.
1. **Зосередження змін на одній області**. Попросіть учасників зосередити свої внески на одній речі за раз – таким чином шанси, що ви зможете _об’єднати_ їхню роботу, вищі. Уявіть, що вони виправляють баг, додають нову функцію і оновлюють кілька тестів – що, якщо ви хочете або можете впровадити лише 2 з 3, або 1 з 3 змін?
1. **Зосередження змін на одній області**. Попросіть учасників зосередити свої внески на одній речі за раз – таким чином шанси, що ви зможете _об'єднати_ їхню роботу, будуть вищими. Уявіть, що вони виправляють баг, додають нову функцію та оновлюють кілька тестів – що, якщо ви хочете або можете реалізувати лише 2 з 3, або 1 з 3 змін?
✅ Уявіть ситуацію, коли гілки особливо важливі для написання та доставки якісного коду. Які випадки використання ви можете придумати?
✅ Уявіть ситуацію, коли гілки є особливо важливими для написання та доставки якісного коду. Які випадки використання ви можете придумати?
> Примітка: будьте зміною, яку хочете бачити у світі, і створюйте гілки для своєї власної роботи також. Усі коміти, які ви робите, будуть зроблені в гілці, до якої ви зараз "перемкнуті". Використовуйте `git status`, щоб побачити, яка це гілка.
> Примітка: будьте зміною, яку хочете бачити у світі, і створюйте гілки для своєї роботи також. Усі коміти, які ви робите, будуть зроблені у гілці, до якої ви зараз "перемкнуті". Використовуйте `git status`, щоб побачити, у якій гілці ви перебуваєте.
Давайте пройдемо робочий процес учасника. Припустимо, учасник вже _форкав_і_клонував_ репозиторію, тому у нього є готовий Git-репозиторій на локальному комп’ютері:
Давайте пройдемося по робочому процесу учасника. Припустимо, учасник вже _форкнув_і_клонував_ репозиторій, тому у нього є готовий Git-репозиторій на локальному комп'ютері:
1. **Створення гілки**. Використовуйте команду `git branch`, щоб створити гілку, яка міститиме зміни, які вони мають намір внести:
1. **Створіть гілку**. Використовуйте команду `git branch`, щоб створити гілку, яка міститиме зміни, які вони мають намір внести:
```bash
git branch [branch-name]
@ -455,38 +455,38 @@ flowchart LR
git switch -c [branch-name]
```
1. **Перемикання на робочу гілку**. Перемкніться на зазначену гілку і оновіть робочий каталог за допомогою `git switch`:
1. **Перемкніться на робочу гілку**. Перемкніться на вказану гілку та оновіть робочу директорію за допомогою `git switch`:
```bash
git switch [branch-name]
```
> 💡 **Сучасна примітка**: `git switch`– це сучасна заміна `git checkout`при зміні гілок. Це зрозуміліше і безпечніше для початківців.
> 💡 **Сучасна примітка**: `git switch`– це сучасна заміна `git checkout`для зміни гілок. Це зрозуміліше і безпечніше для початківців.
1. **Робота**. На цьому етапі ви хочете додати свої зміни. Не забудьте повідомити Git про це за допомогою наступних команд:
1. **Виконайте роботу**. На цьому етапі ви хочете додати свої зміни. Не забудьте повідомити про це Git за допомогою наступних команд:
```bash
git add .
git commit -m "my changes"
```
> ⚠️ **Якість повідомлення коміту**: Переконайтеся, що ви даєте вашому коміту гарну назву, як для себе, так і для куратора репозиторії, над якою ви допомагаєте. Будьте конкретними щодо того, що ви змінили!
> ⚠️ **Якість повідомлення коміту**: Переконайтеся, що ви дали своєму коміту гарну назву, як для себе, так і для підтримувача репозиторію, якому ви допомагаєте. Будьте конкретними щодо того, що ви змінили!
1. **Об’єднання вашої роботи з гілкою `main`**. У якийсь момент ви закінчуєте роботу і хочете об’єднати вашу роботу з тією, що є в гілці `main`. Гілка `main` могла змінитися тим часом, тому переконайтеся, що спочатку оновлюєте її до останньої версії за допомогою наступних команд:
1. **Об'єднайте свою роботу з гілкою `main`**. У якийсь момент ви закінчите роботу і захочете об'єднати її з гілкою `main`. Гілка `main` могла змінитися за цей час, тому переконайтеся, що ви спочатку оновили її до останньої версії за допомогою наступних команд:
```bash
git switch main
git pull
```
На цьому етапі ви хочете переконатися, що будь-які _конфлікти_, ситуації, коли Git не може легко _об’єднати_ зміни, виникають у вашій робочій гілці. Тому виконайте наступні команди:
На цьому етапі ви хочете переконатися, що будь-які _конфлікти_, ситуації, коли Git не може легко _об'єднати_ зміни, виникають у вашій робочій гілці. Тому виконайте наступні команди:
```bash
git switch [branch_name]
git merge main
```
Команда `git merge main` принесе всі зміни з `main`у вашу гілку. Сподіваємося, ви можете просто продовжити. Якщо ні, VS Code покаже вам, де Git _заплутався_, і ви просто змінюєте відповідні файли, щоб вказати, який контент є найбільш точним.
Команда `git merge main` принесе всі зміни з `main`у вашу гілку. Сподіваємося, ви зможете просто продовжити. Якщо ні, VS Code покаже вам, де Git _заплутався_, і ви просто зміните відповідні файли, щоб вказати, який вміст є найбільш точним.
💡 **Сучасна альтернатива**: Розгляньте використання `git rebase` для чистішої історії:
```bash
@ -494,20 +494,20 @@ flowchart LR
```
Це відтворює ваші коміти поверх останньої гілки main, створюючи лінійну історію.
1. **Надішліть вашу роботу на GitHub**. Надсилання вашої роботи на GitHub означає дві речі. Завантаження вашої гілки у вашу репозиторію і відкриття PR, Pull Request.
1. **Надішліть свою роботу на GitHub**. Надсилання вашої роботи на GitHub означає дві речі: пуш вашої гілки у ваш репозиторій і відкриття PR (Pull Request).
```bash
git push --set-upstream origin [branch-name]
```
Наведена вище команда створює гілку у вашій форкованій репозиторії.
Наведена вище команда створює гілку у вашому форкнутому репозиторії.
### 🤝 **Перевірка навичок співпраці: Готові працювати з іншими?**
**Давайте перевіримо, як ви почуваєтеся щодо співпраці:**
- Чи має сенс для вас ідея форків і pull request?
- Що саме про роботу з гілками ви хочете практикувати більше?
- Наскільки комфортно ви почуваєтеся, вносячи внесок у чужий проєкт?
**Давайте подивимося, як ви почуваєтеся щодо співпраці:**
- Чи зрозуміла вам ідея форкінгу та pull request?
- Що саме у роботі з гілками ви хочете більше практикувати?
- Наскільки комфортно ви почуваєтеся, вносячи свій внесок у чужий проєкт?
```mermaid
mindmap
@ -526,10 +526,10 @@ mindmap
Good documentation
```
> **Підсилювач впевненості**: Кожен розробник, яким ви захоплюєтеся, колись нервував через свій перший pull request. Спільнота GitHub надзвичайно привітна до новачків!
> **Підтримка впевненості**: Кожен розробник, яким ви захоплюєтеся, колись нервував через свій перший pull request. Спільнота GitHub надзвичайно привітна до новачків!
1. **Відкрийте PR**. Далі ви хочете відкрити PR. Ви робите це, перейшовши до форкованої репозиторії на GitHub. Ви побачите індикацію на GitHub, де вас запитають, чи хочете ви створити новий PR, ви натискаєте це, і вас перенесуть до інтерфейсу, де ви можете змінити заголовок повідомлення коміту, дати йому більш відповідний опис. Тепер куратор репозитор
1. **Прибирання**. Вважається гарною практикою _прибирати_ після успішного об'єднання PR. Вам потрібно очистити як локальну гілку, так і гілку, яку ви завантажили на GitHub. Спочатку видаліть її локально за допомогою наступної команди:
1. **Відкрийте PR**. Далі ви хочете відкрити PR. Ви робите це, перейшовши до форкнутого репозиторію на GitHub. Ви побачите індикатор на GitHub, де вас запитають, чи хочете ви створити новий PR, натискаєте на це, і вас перенаправляють до інтерф
1. **Прибирання**. Вважається гарною практикою _прибирати_ після успішного об'єднання PR. Ви хочете очистити як вашу локальну гілку, так і гілку, яку ви завантажили на GitHub. Спочатку видаліть її локально за допомогою наступної команди:
```bash
git branch -d [branch-name]
@ -537,25 +537,25 @@ mindmap
Переконайтеся, що ви перейшли на сторінку GitHub для форкованого репозиторію і видалили віддалену гілку, яку ви щойно завантажили.
`Pull request` здається дивним терміном, адже насправді ви хочете завантажити свої зміни в проект. Але власник проекту або основна команда повинні розглянути ваші зміни перед тим, як об'єднати їх з "головною" гілкою проекту, тому ви фактично запитуєте рішення про зміну у власника.
`Pull request` здається дивним терміном, адже насправді ви хочете "запушити" свої зміни в проект. Але власник проекту або основна команда повинні розглянути ваші зміни перед тим, як об'єднати їх з "основною" гілкою проекту, тому ви фактично запитуєте рішення про зміну у власника.
Pull request — це місце для порівняння та обговорення змін, внесених у гілку, з рецензіями, коментарями, інтегрованими тестами тощо. Хороший pull request дотримується приблизно тих самих правил, що й повідомлення про коміт. Ви можете додати посилання на проблему в трекері проблем, якщо ваша робота, наприклад, вирішує проблему. Це робиться за допомогою `#`, після якого йде номер вашої проблеми. Наприклад, `#97`.
🤞Тримаємо кулаки, щоб усі перевірки пройшли успішно,і власник(и) проекту об'єднали ваші зміни в проект🤞
🤞Тримаємо кулаки, щоб усі перевірки пройшли успішно і власник(и) проекту об'єднали ваші зміни в проект🤞
Оновіть вашу поточну локальну робочу гілку всіма новими комітами з відповідної віддаленої гілки на GitHub:
`git pull`
## Внесок у Open Source (Ваш шанс зробити вплив!)
## Внесок в Open Source (Ваш шанс зробити вплив!)
Готові до чогось, що абсолютно переверне ваш світ? 🤯 Давайте поговоримо про внесок у проекти з відкритим кодом –імене аж мурашки беруть від думки про те, щоб поділитися цим з вами!
Готові до чогось, що абсолютно переверне ваш світ? 🤯 Давайте поговоримо про внесок у проекти з відкритим кодом –ія вже відчуваю мурашки, думаючи про те, щоб поділитися цим з вами!
Це ваш шанс стати частиною чогось справді неймовірного. Уявіть, що ви покращуєте інструменти, якими щодня користуються мільйони розробників, або виправляєте помилку в додатку, який обожнюють ваші друзі. Це не просто мрія – це те, про що йдеться у внеску в open source!
Це ваш шанс стати частиною чогось справді надзвичайного. Уявіть, що ви покращуєте інструменти, якими щодня користуються мільйони розробників, або виправляєте помилку в додатку, який люблять ваші друзі. Це не просто мрія – це те, чим є внесок у відкритий код!
Ось що мене завжди вражає: кожен інструмент, з яким ви навчалися – ваш редактор коду, фреймворки, які ми досліджуємо, навіть браузер, у якому ви це читаєте – почався з когось, хто зробив свій перший внесок. Той геніальний розробник, який створив ваш улюблений розширення для VS Code? Колись він був новачком, який натискав "створити pull request" з тремтячими руками, так само, як ви зараз.
Ось що викликає у мене захоплення кожного разу, коли я думаю про це: кожен інструмент, з яким ви навчалися – ваш редактор коду, фреймворки, які ми досліджуємо, навіть браузер, у якому ви це читаєте – почався з когось, точно такого ж, як ви, хто зробив свій перший внесок. Той блискучий розробник, який створив ваш улюблений розширення для VS Code? Колись він був новачком, який натискав "створити pull request" з тремтячими руками, так само, як ви зараз.
І ось найкраща частина: спільнота open source– це як найбільше групове обіймання в інтернеті. Більшість проектів активно шукають новачків і мають проблеми з тегом "good first issue", спеціально для таких, як ви! Власники проектів щиро радіють, коли бачать нових учасників, адже вони пам'ятають свої перші кроки.
І ось найкрасивіша частина: спільнота відкритого коду– це як найбільше групове обіймання в інтернеті. Більшість проектів активно шукають новачків і мають проблеми з тегом "good first issue", спеціально для таких, як ви! Власники проектів щиро радіють, коли бачать нових учасників, тому що вони пам'ятають свої перші кроки.
```mermaid
flowchart TD
@ -577,17 +577,17 @@ flowchart TD
style M fill:#fff59d
```
Ви не просто вчитеся програмувати – ви готуєтеся приєднатися до глобальної родини творців, які щодня прокидаються з думкою "Як ми можемо зробити цифровий світ трохи кращим?" Ласкаво просимо до клубу! 🌟
Ви не просто вчитеся програмувати тут – ви готуєтеся приєднатися до глобальної сім'ї творців, які щодня прокидаються з думкою "Як ми можемо зробити цифровий світ трохи кращим?" Ласкаво просимо до клубу! 🌟
Спочатку знайдіть репозиторій (або**repo**) на GitHub, який вас цікавить і до якого ви хочете внести зміни. Вам потрібно скопіювати його вміст на свій комп'ютер.
Спочатку знайдіть репозиторій (або**repo**) на GitHub, який вас цікавить і до якого ви хотіли б внести зміни. Вам потрібно буде скопіювати його вміст на ваш комп'ютер.
✅ Хороший спосіб знайти репозиторії для новачків – [шукати за тегом 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
✅ Хороший спосіб знайти репозиторії, дружні до новачків, – це [шукати за тегом 'good-first-issue'](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/).
Щоб працювати над проектом, перейдіть до потрібної папки:
`cd ProjectURL`
Ви також можете відкрити весь проект за допомогою:
Ви також можете відкрити весь проект, використовуючи:
- **[GitHub Codespaces](https://github.com/features/codespaces)** - Хмарне середовище розробки GitHub з VS Code у браузері
- **[GitHub Desktop](https://desktop.github.com/)** - Графічний додаток для операцій Git
- **[GitHub Desktop](https://desktop.github.com/)** - Графічний додаток для операцій з Git
- **[GitHub.dev](https://github.dev)** - Натисніть клавішу `.` на будь-якому репозиторії GitHub, щоб відкрити VS Code у браузері
- **VS Code** з розширенням GitHub Pull Requests
Нарешті, ви можете завантажити код у вигляді архівованої папки.
### Кілька цікавих фактів про GitHub
### Кілька цікавих речей про GitHub
Ви можете додати зірку, спостерігати або "форкнути" будь-який публічний репозиторій на GitHub. Ви можете знайти свої зіркові репозиторіїу випадаючому меню у верхньому правому куті. Це як закладки, але для коду.
Ви можете додати зірку, спостерігати або "форкнути" будь-який публічний репозиторій на GitHub. Ви можете знайти ваші репозиторії зі зіркамиу випадаючому меню у верхньому правому куті. Це як закладки, але для коду.
Проекти мають трекер проблем, здебільшого на GitHub у вкладці "Issues", якщо не зазначено інше, де люди обговорюють проблеми, пов'язані з проектом. А вкладка Pull Requests – це місце, де люди обговорюють і переглядають зміни, які перебувають у процесі.
Проекти також можуть мати обговорення у форумах, списках розсилки або чат-каналах, таких як Slack, Discord або IRC.
🔧 **Сучасні функції GitHub**:
- **GitHub Discussions** - Вбудований форум для спільнотних обговорень
- **GitHub Discussions** - Вбудований форум для спільнотних розмов
- **GitHub Sponsors** - Фінансова підтримка власників проектів
- **Security tab** - Звіти про вразливості та рекомендації щодо безпеки
- **Security tab** - Звіти про вразливості та рекомендації з безпеки
- **Actions tab** - Автоматизовані робочі процеси та CI/CD конвеєри
- **Insights tab** - Аналітика про учасників, коміти та стан проекту
- **Projects tab** - Вбудовані інструменти управління проектами GitHub
✅ Ознайомтеся з вашим новим репозиторієм на GitHub і спробуйте кілька речей, таких як редагування налаштувань, додавання інформації до вашого репозиторію, створення проекту (наприклад, дошки Kanban) та налаштування GitHub Actions для автоматизації. Тут є багато чого зробити!
✅ Ознайомтеся з вашим новим репозиторієм на GitHub і спробуйте кілька речей, таких як редагування налаштувань, додавання інформації до вашого репозиторію, створення проекту (наприклад, дошки Kanban) і налаштування GitHub Actions для автоматизації. Тут є багато чого зробити!
---
## 🚀 Виклик
## 🚀 Виклик
Гаразд, настав час перевірити ваші нові суперздібності GitHub! 🚀 Ось виклик, який допоможе вам зрозуміти все на практиці:
Гаразд, час випробувати ваші нові суперсили GitHub! 🚀 Ось виклик, який допоможе вам зрозуміти все найкращим чином:
Знайдіть друга (або того члена сім'ї, який завжди питає, чим ви займаєтеся з усім цим "комп'ютерним матеріалом") і вирушайте разом у спільну пригоду з програмуванням! Тут відбувається справжня магія – створіть проект, нехай ваш друг форкне його, створіть кілька гілок іоб'єднайте зміни, як справжні професіонали.
Запросіть друга (або члена сім'ї, який завжди питає, чим ви займаєтеся з усім цим "комп'ютерним матеріалом") і вирушайте разом у спільну пригоду з програмуванням! Тут відбувається справжня магія – створіть проект, дозвольте їм форкнути його, створіть кілька гілок іоб'єднайте зміни, як професіонали, якими ви стаєте.
Не буду приховувати – ви, ймовірно, будете сміятися (особливо коли обидва спробуєте змінити один і той самий рядок), можливо, почухаєте голову від здивування, але точно матимете ті неймовірні моменти "ага!", які роблять все навчання вартим. Крім того, є щось особливе в тому, щоб поділитися першим успішним об'єднанням з кимось іншим – це як маленьке святкування того, як далеко ви зайшли!
Я не буду приховувати – ви, ймовірно, будете сміятися в якийсь момент (особливо коли ви обидва спробуєте змінити один і той самий рядок), можливо, будете чухати голову від здивування, але ви точно матимете ті дивовижні моменти "ага!", які роблять все навчання вартим. Крім того, є щось особливе в тому, щоб поділитися першим успішним об'єднанням з кимось іншим – це як маленьке святкування того, як далеко ви зайшли!
Ще немаєте друга для програмування? Не хвилюйтеся! Спільнота GitHub наповнена неймовірно привітними людьми, які пам'ятають, як це бути новачком. Шукайте репозиторії з мітками "good first issue" – вони фактично кажуть "Гей, новачки, приходьте вчитися з нами!" Як це круто?
Ще немає друга для програмування? Не хвилюйтеся! Спільнота GitHub наповнена неймовірно привітними людьми, які пам'ятають, як це було бути новачком. Шукайте репозиторії з мітками "good first issue" – вони фактично кажуть "Гей, новачки, приходьте вчитися з нами!" Як це круто?
Ух! 🎉 Подивіться на себе– ви щойно освоїли основи GitHub як справжній чемпіон! Якщо ваш мозок зараз трохи перевантажений, це абсолютно нормально і, чесно кажучи, хороший знак. Ви щойно освоїли інструменти, які мені знадобилося кілька тижнів, щоб відчути себе комфортно.
Ух! 🎉 Подивіться на вас– ви щойно освоїли основи GitHub як абсолютний чемпіон! Якщо ваш мозок зараз трохи перевантажений, це абсолютно нормально і, чесно кажучи, хороший знак. Ви щойно освоїли інструменти, які зайняли у мене тижні, щоб відчути себе комфортно.
Git і GitHub неймовірно потужні (серйозно потужні), і кожен розробник, якого я знаю – включаючи тих, хто зараз здається чарівником –мав практикуватися і трохи плутатися, перш ніж усе стало зрозумілим. Те, що ви пройшли цей урок, означає, що ви вже на шляху до освоєння одних із найважливіших інструментів у наборі розробника.
Git і GitHub неймовірно потужні (серйозно потужні), і кожен розробник, якого я знаю – включаючи тих, хто зараз здається чарівником –повинен був практикуватися і трохи спотикатися, перш ніж все стало зрозумілим. Те, що ви пройшли цей урок, означає, що ви вже на шляху до освоєння одних із найважливіших інструментів у наборі розробника.
Ось кілька абсолютно фантастичних ресурсів, які допоможуть вам практикуватися і стати ще крутішими:
Ось кілька абсолютно фантастичних ресурсів, які допоможуть вам практикуватися і стати ще крутішим:
- [Посібник з внеску в програмне забезпечення з відкритим кодом](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Ваш дорожній план для внесення змін
- [Посібник з внеску в програмне забезпечення з відкритим кодом](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Ваш дорожній план до внесення змін
- [Шпаргалка Git](https://training.github.com/downloads/github-git-cheat-sheet/) – Тримайте її під рукою для швидкого доступу!
І пам'ятайте: практика робить прогрес, а не досконалість! Чим більше ви використовуєте Git і GitHub, тим природніше це стає. GitHub створив кілька чудових інтерактивних курсів, які дозволяють вам практикуватися в безпечному середовищі:
І пам'ятайте: практика робить прогрес, а не досконалість! Чим більше ви використовуєте Git і GitHub, тим природніше це стає. GitHub створив кілька дивовижних інтерактивних курсів, які дозволяють вам практикуватися в безпечному середовищі:
- [Вступ до GitHub](https://github.com/skills/introduction-to-github)
- [Спілкування за допомогою Markdown](https://github.com/skills/communicate-using-markdown)
- [Документація GitHub CLI](https://cli.github.com/manual/) – Для тих, хто хоче відчути себе чарівником командного рядка
- [Документація GitHub Codespaces](https://docs.github.com/en/codespaces) – Програмуйте в хмарі!
- [Документація GitHub Actions](https://docs.github.com/en/actions) – Автоматизуйте все
- [Найкращі практики Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – Покращуйте свої робочі процеси
- [Найкращі практики Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – Покращуйте ваш робочий процес
## Виклик GitHub Copilot Agent 🚀
Використовуйте режим Agent, щоб виконати наступний виклик:
**Опис:** Створіть спільний проект веб-розробки, який демонструє повний робочий процес GitHub, який ви вивчили на цьому уроці. Цей виклик допоможе вам практикувати створення репозиторію, функції співпраці та сучасні робочі процеси Git у реальному сценарії.
**Опис:** Створіть спільний проект веб-розробки, який демонструє повний робочий процес GitHub, який ви вивчили в цьому уроці. Цей виклик допоможе вам практикувати створення репозиторію, функції співпраці та сучасні робочі процеси Git у реальному сценарії.
**Завдання:** Створіть новий публічний репозиторій GitHub для простого проекту "Ресурси веб-розробки". Репозиторій повинен містити добре структурований файл README.md зі списком корисних інструментів і ресурсів для веб-розробки, організованих за категоріями (HTML, CSS, JavaScript тощо). Налаштуйте репозиторій відповідно до стандартів спільноти, включаючи ліцензію, рекомендації щодо внеску та кодекс поведінки. Створіть щонайменше дві функціональні гілки: одну для додавання ресурсів CSS, а іншу для ресурсів JavaScript. Зробіть коміти до кожної гілки з описовими повідомленнями про коміт, а потім створіть pull requests для об'єднання змін назад у main. Увімкніть функції GitHub, такі як Issues, Discussions, і налаштуйте базовий робочий процес GitHub Actions для автоматизованих перевірок.
**Завдання:** Створіть новий публічний репозиторій GitHub для простого проекту "Ресурси веб-розробки". Репозиторій повинен включати добре структурований файл README.md, який містить корисні інструменти та ресурси для веб-розробки, організовані за категоріями (HTML, CSS, JavaScript тощо). Налаштуйте репозиторій з відповідними стандартами спільноти, включаючи ліцензію, рекомендації щодо внеску та кодекс поведінки. Створіть щонайменше дві гілки функцій: одну для додавання ресурсів CSS і іншу для ресурсів JavaScript. Зробіть коміти до кожної гілки з описовими повідомленнями про коміт, а потім створіть pull requests для об'єднання змін назад у main. Увімкніть функції GitHub, такі як Issues, Discussions, і налаштуйте базовий робочий процес GitHub Actions для автоматизованих перевірок.
## Завдання
## Завдання
Ваша місія, якщо ви вирішите її прийняти: Пройдіть курс [Вступ до GitHub](https://github.com/skills/introduction-to-github) на GitHub Skills. Цей інтерактивний курс дозволить вам практикувати все, що ви вивчили, у безпечному, керованому середовищі. Крім того, ви отримаєте крутий значок після завершення! 🏅
Ваша місія, якщо ви вирішите її прийняти: Завершіть курс [Вступ до GitHub](https://github.com/skills/introduction-to-github) на GitHub Skills. Цей інтерактивний курс дозволить вам практикувати все, що ви вивчили, у безпечному, керованому середовищі. Крім того, ви отримаєте крутий значок, коли закінчите! 🏅
**Готові до нових викликів?**
- Налаштуйте SSH-аутентифікацію для вашого облікового запису GitHub (більше ніяких паролів!)
- Спробуйте використовувати GitHub CLI для щоденних операцій з Git
**Відчуваєте готовність до більш складних завдань?**
- Налаштуйте аутентифікацію SSH для вашого облікового запису GitHub (більше ніяких паролів!)
- Спробуйте використовувати GitHub CLI для ваших щоденних операцій з Git
- Створіть репозиторій з робочим процесом GitHub Actions
- Досліджуйте GitHub Codespaces, відкривши цей самий репозиторій у хмарному редакторі
- Що вам найбільше подобається в використанні GitHub?
- Що вам найбільше подобається у використанні GitHub?
- Яка функція співпраці вас найбільше захоплює?
- Наскільки впевнено ви почуваєтеся щодо внеску в open source зараз?
- Наскільки впевнено ви почуваєтеся щодо внеску в відкритий код зараз?
- Який перший проект, до якого ви хочете внести зміни?
```mermaid
@ -743,9 +743,11 @@ journey
Inspiring Others: 5: You
```
> 🌍 **Ласкаво просимо до глобальної спільноти розробників!** Тепер у вас є інструменти для співпраці з мільйонами розробників по всьому світу. Ваш перший внесок може здатися маленьким, але пам'ятайте - кожен великий проект з відкритим кодом починався з того, що хтось
> 🌍 **Ласкаво просимо до глобальної спільноти розробників!** Тепер у вас є інструменти для
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Відмова від відповідальності**:
Цей документ був перекладений за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, будь ласка, майте на увазі, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критичної інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникають внаслідок використання цього перекладу.
Цей документ було перекладено за допомогою сервісу автоматичного перекладу [Co-op Translator](https://github.com/Azure/co-op-translator). Хоча ми прагнемо до точності, звертаємо вашу увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
Chào bạn, nhà phát triển tương lai! 👋 Sẵn sàng tham gia cùng hàng triệu lập trình viên trên toàn thế giới chưa? Mình thực sự rất hào hứng giới thiệu với bạn về GitHub – hãy nghĩ về nó như một mạng xã hội dành cho lập trình viên, nhưng thay vì chia sẻ ảnh bữa trưa, chúng ta chia sẻ mã nguồn và cùng nhau xây dựng những điều tuyệt vời!
Chào bạn, nhà phát triển tương lai! 👋 Sẵn sàng tham gia cùng hàng triệu lập trình viên trên khắp thế giới chưa? Mình thực sự rất hào hứng giới thiệu với bạn về GitHub – hãy nghĩ về nó như một mạng xã hội dành cho lập trình viên, nhưng thay vì chia sẻ ảnh bữa trưa, chúng ta chia sẻ mã nguồn và cùng nhau xây dựng những điều tuyệt vời!
Điều khiến mình kinh ngạc là: mọi ứng dụng trên điện thoại của bạn, mọi trang web bạn truy cập, và hầu hết các công cụ bạn sẽ học cách sử dụng đều được tạo ra bởi các nhóm lập trình viên hợp tác trên các nền tảng giống như GitHub. Ứng dụng âm nhạc bạn yêu thích? Ai đó giống như bạn đã đóng góp vào nó. Trò chơi mà bạn không thể rời mắt? Đúng vậy, có lẽ được xây dựng với sự hợp tác trên GitHub. Và bây giờ BẠN sẽ học cách trở thành một phần của cộng đồng tuyệt vời đó!
Điều khiến mình kinh ngạc là: mọi ứng dụng trên điện thoại của bạn, mọi trang web bạn truy cập, và hầu hết các công cụ bạn sẽ học cách sử dụng đều được xây dựng bởi các nhóm lập trình viên hợp tác trên các nền tảng như GitHub. Ứng dụng âm nhạc bạn yêu thích? Ai đó giống như bạn đã đóng góp vào nó. Trò chơi mà bạn không thể rời mắt? Đúng vậy, có lẽ cũng được xây dựng với sự hợp tác trên GitHub. Và bây giờ BẠN sẽ học cách trở thành một phần của cộng đồng tuyệt vời đó!
Mình biết điều này có thể cảm thấy hơi nhiều lúc đầu – mình cũng từng nhìn vào trang GitHub đầu tiên của mình và nghĩ "Cái này nghĩa là gì vậy trời?" Nhưng đây là điều: mọi lập trình viên đều bắt đầu từ đúng vị trí của bạn bây giờ. Đến cuối bài học này, bạn sẽ có kho lưu trữ GitHub của riêng mình (hãy nghĩ về nó như một nơi trưng bày dự án cá nhân của bạn trên đám mây), và bạn sẽ biết cách lưu công việc của mình, chia sẻ nó với người khác, và thậm chí đóng góp vào các dự án mà hàng triệu người sử dụng.
Mình biết điều này có thể khiến bạn cảm thấy hơi quá tải lúc đầu – mình cũng từng nhìn vào trang GitHub đầu tiên của mình và nghĩ "Cái này nghĩa là gì vậy trời?" Nhưng điều quan trọng là: mọi lập trình viên đều bắt đầu từ đúng vị trí mà bạn đang đứng. Đến cuối bài học này, bạn sẽ có kho lưu trữ GitHub của riêng mình (hãy nghĩ về nó như một nơi trưng bày dự án cá nhân trên đám mây), và bạn sẽ biết cách lưu công việc của mình, chia sẻ với người khác, và thậm chí đóng góp vào các dự án mà hàng triệu người đang sử dụng.
Chúng ta sẽ cùng nhau đi qua hành trình này, từng bước một. Không vội vàng, không áp lực – chỉ có bạn, mình, và một số công cụ thực sự thú vị sắp trở thành người bạn đồng hành mới của bạn!
Chúng ta sẽ cùng nhau đi qua hành trình này, từng bước một. Không vội vàng, không áp lực – chỉ có bạn, mình, và một số công cụ cực kỳ thú vị sắp trở thành người bạn thân mới của bạn!

> Sketchnote bởi [Tomomi Imura](https://twitter.com/girlie_mac)
@ -37,33 +37,33 @@ journey
Open Source: 5: You
```
## Quiz trước bài học
[Quiz trước bài học](https://ff-quizzes.netlify.app)
## Câu hỏi trước bài học
[Câu hỏi trước bài học](https://ff-quizzes.netlify.app)
## Giới thiệu
Trước khi chúng ta đi vào những điều thực sự thú vị, hãy chuẩn bị máy tính của bạn cho một chút phép thuật GitHub! Hãy nghĩ về điều này như việc sắp xếp dụng cụ nghệ thuật của bạn trước khi tạo ra một kiệt tác – có sẵn các công cụ phù hợp sẽ làm mọi thứ trở nên mượt mà hơn và thú vị hơn rất nhiều.
Trước khi chúng ta đi vào những điều thực sự thú vị, hãy chuẩn bị máy tính của bạn cho một chút phép thuật từ GitHub! Hãy nghĩ về điều này như việc sắp xếp dụng cụ nghệ thuật của bạn trước khi tạo ra một kiệt tác – có sẵn các công cụ phù hợp sẽ làm mọi thứ trở nên mượt mà hơn và thú vị hơn rất nhiều.
Mình sẽ hướng dẫn bạn từng bước thiết lập, và mình hứa rằng nó không hề đáng sợ như bạn nghĩ lúc đầu. Nếu có điều gì đó chưa hiểu ngay, điều đó hoàn toàn bình thường! Mình nhớ lần đầu tiên thiết lập môi trường phát triển của mình, cảm giác như đang cố gắng đọc chữ tượng hình cổ đại. Mọi lập trình viên đều đã từng ở đúng vị trí của bạn bây giờ, tự hỏi liệu mình có làm đúng không. Bật mí: nếu bạn đang học, bạn đã làm đúng rồi! 🌟
Mình sẽ hướng dẫn bạn qua từng bước thiết lập, và mình hứa rằng nó không hề đáng sợ như bạn nghĩ lúc đầu. Nếu có điều gì đó chưa hiểu ngay, điều đó hoàn toàn bình thường! Mình nhớ lần đầu tiên thiết lập môi trường phát triển của mình, cảm giác như đang cố gắng đọc chữ tượng hình cổ đại vậy. Mọi lập trình viên đều đã từng ở vị trí của bạn, tự hỏi liệu họ có làm đúng không. Bật mí: nếu bạn đang học, bạn đã làm đúng rồi! 🌟
Trong bài học này, chúng ta sẽ tìm hiểu:
- cách theo dõi công việc bạn làm trên máy tính của mình
- cách làm việc trên các dự án cùng người khác
- làm việc trên các dự án cùng người khác
- cách đóng góp vào phần mềm mã nguồn mở
### Yêu cầu trước
Hãy chuẩn bị máy tính của bạn cho một chút phép thuật GitHub! Đừng lo – việc thiết lập này chỉ cần làm một lần, và sau đó bạn sẽ sẵn sàng cho toàn bộ hành trình lập trình của mình.
Hãy chuẩn bị máy tính của bạn cho một chút phép thuật từ GitHub! Đừng lo – việc thiết lập này bạn chỉ cần làm một lần, và sau đó bạn sẽ sẵn sàng cho toàn bộ hành trình lập trình của mình.
Được rồi, hãy bắt đầu với nền tảng! Đầu tiên, chúng ta cần kiểm tra xem Git đã được cài đặt trên máy tính của bạn chưa. Git về cơ bản giống như một trợ lý siêu thông minh nhớ mọi thay đổi bạn thực hiện với mã nguồn của mình – tốt hơn nhiều so với việc nhấn Ctrl+S liên tục (ai cũng từng làm vậy!).
Được rồi, hãy bắt đầu với nền tảng! Đầu tiên, chúng ta cần kiểm tra xem Git đã có sẵn trên máy tính của bạn chưa. Git về cơ bản giống như một trợ lý siêu thông minh, nhớ mọi thay đổi bạn thực hiện với mã nguồn của mình – tốt hơn nhiều so với việc nhấn Ctrl+S liên tục (ai cũng từng làm vậy!).
Hãy kiểm tra xem Git đã được cài đặt chưa bằng cách gõ lệnh này trong terminal:
Hãy kiểm tra xem Git đã được cài đặt chưa bằng cách gõ lệnh ma thuật này trong terminal của bạn:
`git --version`
Nếu Git chưa được cài đặt, đừng lo! Chỉ cần truy cập [tải Git](https://git-scm.com/downloads) và tải về. Sau khi cài đặt xong, chúng ta cần giới thiệu Git với bạn một cách đúng đắn:
Nếu Git chưa có, đừng lo! Chỉ cần truy cập [tải Git](https://git-scm.com/downloads) và tải về. Sau khi cài đặt xong, chúng ta cần giới thiệu Git với bạn một cách chính thức:
> 💡 **Thiết lập lần đầu**: Những lệnh này sẽ cho Git biết bạn là ai. Thông tin này sẽ được gắn vào mỗi lần commit bạn thực hiện, vì vậy hãy chọn tên và email mà bạn cảm thấy thoải mái chia sẻ công khai.
> 💡 **Thiết lập lần đầu**: Các lệnh này sẽ cho Git biết bạn là ai. Thông tin này sẽ được đính kèm vào mỗi lần commit bạn thực hiện, vì vậy hãy chọn một tên và email mà bạn cảm thấy thoải mái chia sẻ công khai.
```bash
git config --global user.name "your-name"
@ -79,30 +79,30 @@ Bạn cũng sẽ cần một tài khoản GitHub, một trình soạn thảo mã
Truy cập [github.com](https://github.com/) và tạo tài khoản nếu bạn chưa có, hoặc đăng nhập và điền thông tin hồ sơ của bạn.
💡 **Mẹo hiện đại**: Hãy cân nhắc thiết lập [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) hoặc sử dụng [GitHub CLI](https://cli.github.com/) để xác thực dễ dàng hơn mà không cần mật khẩu.
💡 **Mẹo hiện đại**: Hãy cân nhắc thiết lập [khóa SSH](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) hoặc sử dụng [GitHub CLI](https://cli.github.com/) để xác thực dễ dàng hơn mà không cần mật khẩu.
✅ GitHub không phải là kho lưu trữ mã duy nhất trên thế giới; có những kho khác, nhưng GitHub là nổi tiếng nhất.
✅ GitHub không phải là kho mã duy nhất trên thế giới; còn có những kho khác, nhưng GitHub là cái được biết đến nhiều nhất.
### Chuẩn bị
Bạn sẽ cần một thư mục chứa dự án mã nguồn trên máy tính của mình (laptop hoặc PC), và một kho lưu trữ công khai trên GitHub, nơi sẽ là ví dụ cho cách đóng góp vào các dự án của người khác.
Bạn sẽ cần một thư mục chứa dự án mã nguồn trên máy tính của mình (laptop hoặc PC), và một kho lưu trữ công khai trên GitHub, sẽ đóng vai trò làm ví dụ về cách đóng góp vào các dự án của người khác.
### Bảo vệ mã nguồn của bạn
### Giữ mã nguồn của bạn an toàn
Hãy nói về bảo mật một chút – nhưng đừng lo, chúng ta sẽ không làm bạn choáng ngợp với những điều đáng sợ! Hãy nghĩ về các thực hành bảo mật này như việc khóa xe hoặc nhà của bạn. Chúng là những thói quen đơn giản trở thành bản năng và giúp bảo vệ công việc của bạn.
Hãy nói về bảo mật một chút – nhưng đừng lo, chúng ta sẽ không làm bạn choáng ngợp với những điều đáng sợ! Hãy nghĩ về các thực hành bảo mật này như việc khóa xe hoặc nhà của bạn. Chúng là những thói quen đơn giản trở thành bản năng và giữ cho công việc của bạn được bảo vệ.
Chúng ta sẽ chỉ cho bạn cách làm việc với GitHub một cách hiện đại và an toàn ngay từ đầu. Bằng cách này, bạn sẽ phát triển những thói quen tốt sẽ phục vụ bạn suốt sự nghiệp lập trình.
Chúng ta sẽ chỉ cho bạn những cách làm việc hiện đại, an toàn với GitHub ngay từ đầu. Bằng cách này, bạn sẽ phát triển những thói quen tốt sẽ phục vụ bạn suốt sự nghiệp lập trình.
Khi làm việc với GitHub, điều quan trọng là tuân theo các thực hành bảo mật tốt nhất:
| Khu vực bảo mật | Thực hành tốt nhất | Tại sao nó quan trọng |
| **Xác thực** | Sử dụng SSH keys hoặc Personal Access Tokens | Mật khẩu kém an toàn hơn và đang dần bị loại bỏ |
| **Xác thực hai yếu tố** | Bật 2FA trên tài khoản GitHub của bạn | Thêm một lớp bảo vệ cho tài khoản của bạn |
| **Bảo mật kho lưu trữ** | Không bao giờ commit thông tin nhạy cảm | Các khóa API và mật khẩu không bao giờ nên xuất hiện trong kho công khai |
| **Xác thực** | Sử dụng khóa SSH hoặc Personal Access Tokens | Mật khẩu kém an toàn hơn và đang dần bị loại bỏ |
| **Xác thực hai yếu tố** | Bật 2FA trên tài khoản GitHub của bạn | Thêm một lớp bảo vệ cho tài khoản |
| **Bảo mật kho lưu trữ** | Không bao giờ commit thông tin nhạy cảm | API keys và mật khẩu không bao giờ nên có trong kho công khai |
| **Quản lý phụ thuộc** | Bật Dependabot để cập nhật | Giữ cho các phụ thuộc của bạn an toàn và luôn được cập nhật |
> ⚠️ **Lưu ý bảo mật quan trọng**: Không bao giờ commit các khóa API, mật khẩu, hoặc thông tin nhạy cảm khác vào bất kỳ kho lưu trữ nào. Sử dụng biến môi trường và tệp `.gitignore` để bảo vệ dữ liệu nhạy cảm.
> ⚠️ **Lời nhắc bảo mật quan trọng**: Không bao giờ commit API keys, mật khẩu, hoặc thông tin nhạy cảm khác vào bất kỳ kho lưu trữ nào. Sử dụng biến môi trường và tệp `.gitignore` để bảo vệ dữ liệu nhạy cảm.
> 💡 **Mẹo chuyên nghiệp**: SSH keys giúp bạn không cần nhập mật khẩu liên tục và an toàn hơn các phương pháp xác thực truyền thống.
> 💡 **Mẹo chuyên nghiệp**: Khóa SSH loại bỏ nhu cầu nhập mật khẩu liên tục và an toàn hơn các phương pháp xác thực truyền thống.
---
## Quản lý mã nguồn của bạn như một chuyên gia
Được rồi, ĐÂY là lúc mọi thứ trở nên thực sự thú vị! 🎉 Chúng ta sắp học cách theo dõi và quản lý mã nguồn của bạn như các chuyên gia, và thành thật mà nói, đây là một trong những điều mình thích dạy nhất vì nó thực sự thay đổi cách làm việc.
Được rồi, ĐÂY là lúc mọi thứ trở nên thực sự thú vị! 🎉 Chúng ta sắp học cách theo dõi và quản lý mã nguồn của bạn như các chuyên gia, và thành thật mà nói, đây là một trong những điều mình thích dạy nhất vì nó thực sự thay đổi cuộc chơi.
Hãy tưởng tượng thế này: bạn đang viết một câu chuyện tuyệt vời, và bạn muốn theo dõi mọi bản thảo, mọi chỉnh sửa xuất sắc, và mọi khoảnh khắc "chờ đã, điều này thật tuyệt vời!" trên đường đi. Đó chính xác là những gì Git làm cho mã nguồn của bạn! Nó giống như có một cuốn sổ tay du hành thời gian tuyệt vời nhất, nhớ MỌI THỨ – từng lần gõ phím, từng thay đổi, từng khoảnh khắc "ôi không, cái này làm hỏng mọi thứ" mà bạn có thể hoàn tác ngay lập tức.
Hãy tưởng tượng thế này: bạn đang viết một câu chuyện tuyệt vời, và bạn muốn theo dõi mọi bản nháp, mọi chỉnh sửa xuất sắc, và mọi khoảnh khắc "chờ đã, điều này thật thiên tài!" trên đường đi. Đó chính xác là những gì Git làm cho mã nguồn của bạn! Nó giống như có một cuốn sổ tay du hành thời gian tuyệt vời nhất, nhớ MỌI THỨ – từng lần gõ phím, từng thay đổi, từng khoảnh khắc "ôi không, điều đó làm hỏng mọi thứ" mà bạn có thể hoàn tác ngay lập tức.
Mình sẽ thành thật – điều này có thể cảm thấy quá tải lúc đầu. Khi mình bắt đầu, mình đã nghĩ "Tại sao mình không thể chỉ lưu tệp như bình thường?" Nhưng hãy tin mình: một khi bạn hiểu Git (và bạn sẽ!), bạn sẽ có một khoảnh khắc "bật sáng" khi nghĩ "Làm thế nào mà mình từng lập trình mà không có cái này?" Nó giống như phát hiện ra bạn có thể bay trong khi trước giờ bạn chỉ đi bộ!
Mình sẽ thành thật – điều này có thể cảm thấy quá tải lúc đầu. Khi mình bắt đầu, mình đã nghĩ "Tại sao mình không thể chỉ lưu tệp như bình thường?" Nhưng hãy tin mình: một khi bạn hiểu Git (và bạn sẽ hiểu!), bạn sẽ có một khoảnh khắc "bừng sáng" khi nghĩ "Làm thế nào mà mình từng lập trình mà không có cái này?" Nó giống như phát hiện ra bạn có thể bay khi bạn đã đi bộ khắp nơi cả đời!
Hãy giả sử bạn có một thư mục trên máy tính chứa một dự án mã nguồn và bạn muốn bắt đầu theo dõi tiến trình của mình bằng git - hệ thống kiểm soát phiên bản. Một số người so sánh việc sử dụng git với việc viết một lá thư tình cho chính mình trong tương lai. Đọc các thông điệp commit của bạn sau vài ngày, vài tuần hoặc vài tháng, bạn sẽ có thể nhớ lại lý do tại sao bạn đưa ra quyết định, hoặc "quay lại" một thay đổi - đó là khi bạn viết các thông điệp commit tốt.
Giả sử bạn có một thư mục trên máy tính chứa một dự án mã nguồn và bạn muốn bắt đầu theo dõi tiến trình của mình bằng git - hệ thống kiểm soát phiên bản. Một số người so sánh việc sử dụng git như viết một lá thư tình cho chính bạn trong tương lai. Đọc lại các thông điệp commit của bạn sau vài ngày, vài tuần hoặc vài tháng, bạn sẽ có thể nhớ lại tại sao bạn đã đưa ra một quyết định, hoặc "quay lại" một thay đổi – đó là khi bạn viết các "thông điệp commit" tốt.
```mermaid
flowchart TD
@ -154,11 +154,11 @@ flowchart TD
### Nhiệm vụ: Tạo kho lưu trữ đầu tiên của bạn!
> 🎯 **Nhiệm vụ của bạn (và mình rất hào hứng vì bạn!)**: Chúng ta sẽ cùng nhau tạo kho lưu trữ GitHub đầu tiên của bạn! Đến khi hoàn thành, bạn sẽ có một góc nhỏ trên internet nơi mã nguồn của bạn sống, và bạn sẽ thực hiện commit đầu tiên của mình (đó là cách nói của lập trình viên để lưu công việc của bạn một cách thông minh).
> 🎯 **Nhiệm vụ của bạn (và mình rất hào hứng cho bạn!)**: Chúng ta sẽ cùng nhau tạo kho lưu trữ GitHub đầu tiên của bạn! Đến khi hoàn thành, bạn sẽ có một góc nhỏ trên internet nơi mã nguồn của bạn sống, và bạn sẽ thực hiện "commit" đầu tiên của mình (đó là cách nói của lập trình viên để lưu công việc của bạn một cách thông minh).
>
> Đây thực sự là một khoảnh khắc đặc biệt – bạn sắp chính thức gia nhập cộng đồng lập trình viên toàn cầu! Mình vẫn nhớ cảm giác hồi hộp khi tạo kho lưu trữ đầu tiên của mình và nghĩ "Wow, mình thực sự đang làm điều này!"
Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dành thời gian cho từng phần – không có giải thưởng nào cho việc vội vàng, và mình hứa rằng từng bước sẽ đều có ý nghĩa. Hãy nhớ rằng, mọi ngôi sao lập trình mà bạn ngưỡng mộ đều từng ngồi đúng vị trí của bạn, chuẩn bị tạo kho lưu trữ đầu tiên của mình. Thật tuyệt phải không?
Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dành thời gian cho từng phần – không có giải thưởng nào cho việc vội vàng, và mình hứa rằng từng bước sẽ có ý nghĩa. Hãy nhớ, mọi ngôi sao lập trình mà bạn ngưỡng mộ đều từng ngồi đúng vị trí của bạn, chuẩn bị tạo kho lưu trữ đầu tiên của họ. Thật tuyệt phải không?
> Xem video
>
@ -166,27 +166,27 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
**Hãy cùng làm điều này:**
1. **Tạo kho lưu trữ của bạn trên GitHub**. Truy cập GitHub.com và tìm nút **New** màu xanh lá cây (hoặc dấu **+** ở góc trên bên phải). Nhấp vào đó và chọn **New repository**.
1. **Tạo kho lưu trữ của bạn trên GitHub**. Truy cập GitHub.com và tìm nút **New** màu xanh lá cây sáng (hoặc dấu **+** ở góc trên bên phải). Nhấp vào đó và chọn **New repository**.
Đây là những gì bạn cần làm:
1. Đặt tên cho kho lưu trữ của bạn – hãy chọn một cái tên có ý nghĩa với bạn!
1. Thêm mô tả nếu bạn muốn (điều này giúp người khác hiểu dự án của bạn là gì)
1. Quyết định xem bạn muốn nó công khai (mọi người đều có thể thấy) hay riêng tư (chỉ mình bạn)
1. Mình khuyên bạn nên chọn hộp để thêm tệp README – nó giống như trang đầu của dự án của bạn
1. Mình khuyên bạn nên đánh dấu vào ô để thêm tệp README – nó giống như trang đầu của dự án của bạn
1. Nhấp vào **Create repository** và ăn mừng – bạn vừa tạo kho lưu trữ đầu tiên của mình! 🎉
2. **Đi đến thư mục dự án của bạn**. Bây giờ hãy mở terminal của bạn (đừng lo, nó không đáng sợ như nó trông đâu!). Chúng ta cần nói với máy tính của bạn nơi các tệp dự án của bạn đang nằm. Gõ lệnh này:
2. **Đi đến thư mục dự án của bạn**. Bây giờ hãy mở terminal của bạn (đừng lo, nó không đáng sợ như nó trông đâu!). Chúng ta cần nói với máy tính của bạn nơi các tệp dự án của bạn đang ở. Gõ lệnh này:
```bash
cd [name of your folder]
```
**Chúng ta đang làm gì ở đây:**
- Về cơ bản, chúng ta đang nói "Này máy tính, đưa tôi đến thư mục dự án của tôi"
- Chúng ta về cơ bản đang nói "Này máy tính, đưa tôi đến thư mục dự án của tôi"
- Điều này giống như mở một thư mục cụ thể trên màn hình của bạn, nhưng chúng ta làm điều đó bằng lệnh văn bản
- Thay thế `[name of your folder]` bằng tên thực tế của thư mục dự án của bạn
- Thay `[name of your folder]` bằng tên thực tế của thư mục dự án của bạn
3. **Biến thư mục của bạn thành một kho lưu trữ Git**. Đây là lúc phép thuật xảy ra! Gõ:
3. **Biến thư mục của bạn thành một kho Git**. Đây là lúc phép thuật xảy ra! Gõ:
```bash
git init
@ -194,7 +194,7 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
**Đây là những gì vừa xảy ra (thật tuyệt vời!):**
- Git vừa tạo một thư mục ẩn `.git` trong dự án của bạn – bạn sẽ không thấy nó, nhưng nó ở đó!
- Thư mục thông thường của bạn giờ đây là một "kho lưu trữ" có thể theo dõi mọi thay đổi bạn thực hiện
- Thư mục thông thường của bạn giờ đã là một "kho lưu trữ" có thể theo dõi mọi thay đổi bạn thực hiện
- Hãy nghĩ về nó như việc trao cho thư mục của bạn siêu năng lực để nhớ mọi thứ
4. **Kiểm tra xem điều gì đang xảy ra**. Hãy xem Git nghĩ gì về dự án của bạn ngay bây giờ:
@ -205,7 +205,7 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
**Hiểu những gì Git đang nói với bạn:**
Bạn có thể thấy điều gì đó trông giống như thế này:
Bạn có thể thấy điều gì đó trông như thế này:
```output
Changes not staged for commit:
@ -216,12 +216,12 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
modified: file2.txt
```
**Đừng hoảng! Đây là ý nghĩa của nó:**
**Đừng hoảng sợ! Đây là ý nghĩa của nó:**
- Các tệp **màu đỏ** là các tệp đã thay đổi nhưng chưa sẵn sàng để lưu
- Các tệp **màu xanh lá cây** (khi bạn thấy chúng) đã sẵn sàng để lưu
- Git đang giúp bạn bằng cách nói chính xác những gì bạn có thể làm tiếp theo
> 💡 **Mẹo chuyên nghiệp**: Lệnh `git status` là người bạn tốt nhất của bạn! Sử dụng nó bất cứ khi nào bạn bối rối về những gì đang diễn ra. Nó giống như hỏi Git "Này, tình hình hiện tại thế nào?"
> 💡 **Mẹo chuyên nghiệp**: Lệnh `git status` là người bạn tốt nhất của bạn! Sử dụng nó bất cứ khi nào bạn bối rối về những gì đang diễn ra. Nó giống như hỏi Git "Này, tình hình bây giờ thế nào?"
5. **Chuẩn bị các tệp của bạn để lưu** (điều này được gọi là "staging"):
@ -229,10 +229,10 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
git add .
```
**Chúng ta vừa làm gì:**
- Chúng ta nói với Git "Này, tôi muốn bao gồm TẤT CẢ các tệp của tôi trong lần lưu tiếp theo"
**Những gì chúng ta vừa làm:**
- Chúng ta đã nói với Git "Này, tôi muốn bao gồm TẤT CẢ các tệp của tôi trong lần lưu tiếp theo"
- Dấu `.` giống như nói "mọi thứ trong thư mục này"
- Bây giờ các tệp của bạn đã "được staging" và sẵn sàng cho bước tiếp theo
- Bây giờ các tệp của bạn đã được "staged" và sẵn sàng cho bước tiếp theo
**Muốn chọn lọc hơn?** Bạn có thể chỉ thêm các tệp cụ thể:
@ -255,7 +255,7 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
git reset [file name]
```
Đừng lo – điều này không xóa công việc của bạn, nó chỉ đưa các tệp ra khỏi "đống sẵn sàng để lưu".
Đừng lo – điều này không xóa công việc của bạn, nó chỉ đưa các tệp ra khỏi "danh sách sẵn sàng để lưu".
6. **Lưu công việc của bạn vĩnh viễn** (thực hiện commit đầu tiên của bạn!):
@ -266,14 +266,14 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
**🎉 Chúc mừng! Bạn vừa thực hiện commit đầu tiên của mình!**
**Đây là những gì vừa xảy ra:**
- Git đã chụp một "ảnh chụp nhanh" của tất cả các tệp đã staging tại thời điểm này
- Git đã chụp một "ảnh chụp nhanh" của tất cả các tệp đã staged của bạn tại thời điểm này
- Thông điệp commit của bạn "first commit" giải thích điểm lưu này là gì
- Git đã gán cho ảnh chụp nhanh này một ID duy nhất để bạn luôn có thể tìm thấy nó sau này
- Bạn đã chính thức bắt đầu theo dõi lịch sử dự án của mình!
> 💡 **Thông điệp commit trong tương lai**: Với các commit tiếp theo, hãy mô tả chi tiết hơn! Thay vì "updated stuff", hãy thử "Thêm form liên hệ vào trang chủ" hoặc "Sửa lỗi menu điều hướng". Tương lai của bạn sẽ cảm ơn bạn!
> 💡 **Thông điệp commit trong tương lai**: Với các commit tiếp theo, hãy mô tả chi tiết hơn! Thay vì "cập nhật cái gì đó", hãy thử "Thêm form liên hệ vào trang chủ" hoặc "Sửa lỗi menu điều hướng". Bạn trong tương lai sẽ cảm ơn bạn!
7. **Kết nối dự án của bạn với GitHub**. Hiện tại, dự án của bạn chỉ tồn tại trên máy tính của bạn. Hãy kết nối nó với kho lưu trữ GitHub của bạn để bạn có thể chia sẻ nó với thế giới!
7. **Kết nối dự án cục bộ của bạn với GitHub**. Hiện tại, dự án của bạn chỉ tồn tại trên máy tính của bạn. Hãy kết nối nó với kho lưu trữ GitHub của bạn để bạn có thể chia sẻ nó với thế giới!
Đầu tiên, truy cập trang kho lưu trữ GitHub của bạn và sao chép URL. Sau đó quay lại đây và gõ:
@ -282,12 +282,13 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
```
(Thay URL đó bằng URL thực tế của kho lưu trữ của bạn!)
**Những gì chúng ta vừa làm:**
- Chúng ta đã tạo một kết nối giữa dự án cục bộ của bạn và kho lưu trữ GitHub của bạn
- "Origin" chỉ là một biệt danh cho kho lưu trữ GitHub của bạn – giống như thêm một liên hệ vào điện thoại của bạn
- Bây giờ Git cục bộ của bạn biết nơi gửi mã của bạn khi bạn sẵn sàng chia sẻ nó
💡 **Cách dễ hơn**: Nếu bạn đã cài đặt GitHub CLI, bạn có thể làm điều này chỉ với một lệnh:
**Những gì chúng ta vừa làm:**
- Chúng tôi đã tạo kết nối giữa dự án cục bộ của bạn và kho lưu trữ GitHub của bạn
- "Origin" chỉ là một biệt danh cho kho lưu trữ GitHub của bạn – giống như thêm một liên hệ vào điện thoại của bạn
- Bây giờ Git cục bộ của bạn biết nơi để gửi mã của bạn khi bạn sẵn sàng chia sẻ nó
💡 **Cách dễ hơn**: Nếu bạn đã cài đặt GitHub CLI, bạn có thể thực hiện điều này chỉ với một lệnh:
```bash
gh repo create my-repo --public --push --source=.
```
@ -298,19 +299,19 @@ Hãy cùng nhau đi qua cuộc phiêu lưu này, từng bước một. Hãy dàn
git push -u origin main
```
**🚀 Đây là nó! Bạn đang tải mã của mình lên GitHub!**
**Điều gì đang xảy ra:**
- Các commit của bạn đang di chuyển từ máy tính của bạn lên GitHub
- Cờ `-u` thiết lập một kết nối vĩnh viễn để các lần đẩy sau dễ dàng hơn
- "main" là tên của nhánh chính của bạn (giống như thư mục chính)
- Sau bước này, bạn chỉ cần gõ `git push` cho các lần tải lên sau!
**🚀 Đây là lúc bạn tải mã của mình lên GitHub!**
**Điều gì đang xảy ra:**
- Các commit của bạn đang được chuyển từ máy tính của bạn lên GitHub
- Cờ `-u` thiết lập kết nối vĩnh viễn để các lần đẩy sau dễ dàng hơn
- "main" là tên nhánh chính của bạn (giống như thư mục chính)
- Sau đó, bạn chỉ cần gõ `git push` cho các lần tải lên sau!
💡 **Lưu ý nhanh**: Nếu nhánh của bạn có tên khác (như "master"), hãy sử dụng tên đó. Bạn có thể kiểm tra bằng `git branch --show-current`.
💡 **Lưu ý nhanh**: Nếu nhánh của bạn có tên khác (như "master"), hãy sử dụng tên đó. Bạn có thể kiểm tra bằng `git branch --show-current`.
9. **Nhịp điệu lập trình hàng ngày mới của bạn** (đây là lúc nó trở nên gây nghiện!):
9. **Nhịp điệu lập trình hàng ngày mới của bạn** (đây là lúc bạn bị cuốn hút!):
Từ bây giờ, bất cứ khi nào bạn thực hiện thay đổi trong dự án của mình, bạn sẽ có một quy trình ba bước đơn giản:
Từ bây giờ, bất cứ khi nào bạn thực hiện thay đổi trong dự án của mình, bạn sẽ có một quy trình ba bước đơn giản:
```bash
git add .
@ -318,23 +319,23 @@ Từ bây giờ, bất cứ khi nào bạn thực hiện thay đổi trong dự
git push
```
**Đây trở thành nhịp điệu lập trình của bạn:**
- Thực hiện một số thay đổi tuyệt vời cho mã của bạn ✨
- Giai đoạn chúng với `git add` ("Này Git, chú ý đến những thay đổi này!")
- Lưu chúng với `git commit` và một thông điệp mô tả (bạn trong tương lai sẽ cảm ơn bạn!)
- Chia sẻ chúng với thế giới bằng `git push` 🚀
- Lặp lại – thực sự, điều này trở nên tự nhiên như hít thở!
**Đây trở thành nhịp điệu lập trình của bạn:**
- Thực hiện một số thay đổi tuyệt vời cho mã của bạn ✨
- Đưa chúng vào giai đoạn với `git add` ("Này Git, chú ý đến những thay đổi này!")
- Lưu chúng với `git commit` và một thông điệp mô tả (bạn trong tương lai sẽ cảm ơn bạn!)
- Chia sẻ chúng với thế giới bằng `git push` 🚀
- Lặp lại – thực sự, điều này trở nên tự nhiên như hít thở!
Tôi yêu quy trình này vì nó giống như có nhiều điểm lưu trong một trò chơi video. Thực hiện một thay đổi bạn yêu thích? Commit nó! Muốn thử điều gì đó mạo hiểm? Không vấn đề gì – bạn luôn có thể quay lại commit cuối cùng nếu mọi thứ không như ý!
Tôi yêu quy trình này vì nó giống như có nhiều điểm lưu trong một trò chơi điện tử. Thực hiện một thay đổi mà bạn yêu thích? Commit nó! Muốn thử điều gì đó mạo hiểm? Không vấn đề gì – bạn luôn có thể quay lại commit cuối cùng nếu mọi thứ không như ý!
> 💡 **Mẹo**: Bạn cũng có thể muốn sử dụng tệp `.gitignore` để ngăn các tệp bạn không muốn theo dõi xuất hiện trên GitHub - như tệp ghi chú bạn lưu trong cùng thư mục nhưng không có chỗ trong kho lưu trữ công khai. Bạn có thể tìm các mẫu cho tệp `.gitignore` tại [.gitignore templates](https://github.com/github/gitignore) hoặc tạo một tệp bằng [gitignore.io](https://www.toptal.com/developers/gitignore).
> 💡 **Mẹo**: Bạn cũng có thể muốn sử dụng tệp `.gitignore` để ngăn các tệp bạn không muốn theo dõi xuất hiện trên GitHub - như tệp ghi chú mà bạn lưu trữ trong cùng thư mục nhưng không phù hợp với kho lưu trữ công khai. Bạn có thể tìm các mẫu cho tệp `.gitignore` tại [.gitignore templates](https://github.com/github/gitignore) hoặc tạo một tệp bằng [gitignore.io](https://www.toptal.com/developers/gitignore).
### 🧠 **Kiểm tra kho lưu trữ đầu tiên: Cảm giác thế nào?**
**Dành một chút thời gian để ăn mừng và suy ngẫm:**
**Hãy dành một chút thời gian để ăn mừng và suy ngẫm:**
- Cảm giác thế nào khi thấy mã của bạn xuất hiện trên GitHub lần đầu tiên?
- Bước nào cảm thấy khó hiểu nhất, và bước nào cảm thấy dễ dàng bất ngờ?
- Bạn có thể giải thích sự khác biệt giữa `git add`, `git commit`, và `git push`bằng lời của mình không?
- Bạn có thể giải thích sự khác biệt giữa `git add`, `git commit`, và `git push`theo cách của riêng bạn không?
```mermaid
stateDiagram-v2
@ -353,11 +354,11 @@ stateDiagram-v2
end note
```
> **Nhớ rằng**: Ngay cả các nhà phát triển có kinh nghiệm đôi khi cũng quên các lệnh chính xác. Việc biến quy trình này thành thói quen cần thực hành - bạn đang làm rất tốt!
> **Hãy nhớ**: Ngay cả các nhà phát triển có kinh nghiệm đôi khi cũng quên các lệnh chính xác. Việc biến quy trình này thành thói quen cần thực hành - bạn đang làm rất tốt!
#### Quy trình Git hiện đại
Hãy cân nhắc áp dụng các thực hành hiện đại này:
Hãy cân nhắc áp dụng các thực hành hiện đại sau:
- **Conventional Commits**: Sử dụng định dạng thông điệp commit chuẩn như `feat:`, `fix:`, `docs:`, v.v. Tìm hiểu thêm tại [conventionalcommits.org](https://www.conventionalcommits.org/)
- **Atomic commits**: Mỗi commit đại diện cho một thay đổi logic duy nhất
@ -369,17 +370,17 @@ Một dòng tiêu đề commit Git tuyệt vời hoàn thành câu sau:
Nếu được áp dụng, commit này sẽ <dòngtiêuđềcủabạnởđây>
Đối với tiêu đề, sử dụng thì hiện tại, dạng mệnh lệnh: "change" không phải "changed" hay "changes".
Cũng như tiêu đề, trong phần thân (tùy chọn) cũng sử dụng thì hiện tại, dạng mệnh lệnh. Phần thân nên bao gồm động lực cho thay đổi và so sánh điều này với hành vi trước đó. Bạn đang giải thích `tại sao`, không phải `như thế nào`.
Giống như tiêu đề, trong phần thân (tùy chọn) cũng sử dụng thì hiện tại, dạng mệnh lệnh. Phần thân nên bao gồm động lực cho thay đổi và so sánh điều này với hành vi trước đó. Bạn đang giải thích `tại sao`, không phải `như thế nào`.
✅ Dành vài phút để lướt qua GitHub. Bạn có thể tìm thấy một thông điệp commit thực sự tuyệt vời không? Bạn có thể tìm thấy một thông điệp rất tối giản không? Theo bạn, thông tin nào là quan trọng và hữu ích nhất để truyền đạt trong một thông điệp commit?
✅ Dành vài phút để lướt qua GitHub. Bạn có thể tìm thấy một thông điệp commit thực sự tuyệt vời không? Bạn có thể tìm thấy một thông điệp rất tối giản không? Theo bạn, thông tin nào là quan trọng và hữu ích nhất để truyền tải trong một thông điệp commit?
## Làm việc với người khác (Phần thú vị!)
Hãy giữ chặt mũ của bạn vì ĐÂY là lúc GitHub trở nên hoàn toàn kỳ diệu! 🪄 Bạn đã thành thạo việc quản lý mã của mình, nhưng bây giờ chúng ta sẽ đi sâu vào phần yêu thích nhất của tôi – hợp tác với những người tuyệt vời từ khắp nơi trên thế giới.
Hãy chuẩn bị tinh thần vì ĐÂY là lúc GitHub trở nên thực sự kỳ diệu! 🪄 Bạn đã thành thạo việc quản lý mã của riêng mình, nhưng bây giờ chúng ta sẽ khám phá phần yêu thích nhất của tôi – hợp tác với những người tuyệt vời từ khắp nơi trên thế giới.
Hãy tưởng tượng điều này: bạn thức dậy vào ngày mai và thấy rằng ai đó ở Tokyo đã cải thiện mã của bạn trong khi bạn đang ngủ. Sau đó, ai đó ở Berlin sửa một lỗi mà bạn đã mắc kẹt. Đến chiều, một nhà phát triển ở São Paulo đã thêm một tính năng mà bạn chưa từng nghĩ đến. Đó không phải là khoa học viễn tưởng – đó chỉ là một ngày thứ Ba trong vũ trụ GitHub!
Điều khiến tôi thực sự phấn khích là các kỹ năng hợp tác mà bạn sắp học? Đây là CHÍNH XÁC các quy trình làm việc mà các nhóm tại Google, Microsoft, và các startup yêu thích của bạn sử dụng mỗi ngày. Bạn không chỉ học một công cụ thú vị – bạn đang học ngôn ngữ bí mật giúp toàn bộ thế giới phần mềm làm việc cùng nhau.
Điều làm tôi thực sự phấn khích là các kỹ năng hợp tác mà bạn sắp học? Đây chính là các quy trình mà các nhóm tại Google, Microsoft và các startup yêu thích của bạn sử dụng mỗi ngày. Bạn không chỉ học một công cụ thú vị – bạn đang học ngôn ngữ bí mật giúp toàn bộ thế giới phần mềm làm việc cùng nhau.
Thực sự, một khi bạn trải nghiệm cảm giác hồi hộp khi ai đó hợp nhất yêu cầu kéo đầu tiên của bạn, bạn sẽ hiểu tại sao các nhà phát triển lại đam mê mã nguồn mở đến vậy. Nó giống như trở thành một phần của dự án nhóm lớn nhất, sáng tạo nhất thế giới!
@ -409,24 +410,24 @@ flowchart LR
style L fill:#fff3e0
```
Trong kho lưu trữ của bạn, điều hướng đến `Insights > Community` để xem dự án của bạn so sánh như thế nào với các tiêu chuẩn cộng đồng được khuyến nghị.
Trong kho lưu trữ của bạn, điều hướng đến `Insights > Community` để xem dự án của bạn so với các tiêu chuẩn cộng đồng được khuyến nghị như thế nào.
Muốn làm cho kho lưu trữ của bạn trông chuyên nghiệp và thân thiện? Hãy truy cập kho lưu trữ của bạn và nhấp vào `Insights > Community`. Tính năng thú vị này cho bạn thấy dự án của bạn so sánh như thế nào với những gì cộng đồng GitHub coi là "thực hành kho lưu trữ tốt."
Muốn làm cho kho lưu trữ của bạn trông chuyên nghiệp và thân thiện? Hãy truy cập kho lưu trữ của bạn và nhấp vào `Insights > Community`. Tính năng thú vị này cho bạn thấy dự án của bạn so với những gì cộng đồng GitHub coi là "thực hành kho lưu trữ tốt".
> 🎯 **Làm cho dự án của bạn tỏa sáng**: Một kho lưu trữ được tổ chức tốt với tài liệu tốt giống như có một cửa hàng sạch sẽ, thân thiện. Nó cho mọi người thấy bạn quan tâm đến công việc của mình và khiến người khác muốn đóng góp!
> 🎯 **Làm cho dự án của bạn nổi bật**: Một kho lưu trữ được tổ chức tốt với tài liệu tốt giống như có một cửa hàng sạch sẽ, thân thiện. Nó cho mọi người thấy bạn quan tâm đến công việc của mình và khiến người khác muốn đóng góp!
**Đây là những gì làm cho một kho lưu trữ trở nên tuyệt vời:**
| Những gì cần thêm | Tại sao nó quan trọng | Nó làm gì cho bạn |
| **Mô tả** | Ấn tượng đầu tiên rất quan trọng! | Mọi người biết ngay lập tức dự án của bạn làm gì |
| **README** | Trang đầu của dự án của bạn | Giống như một hướng dẫn viên thân thiện cho khách truy cập mới |
| **Mô tả** | Ấn tượng đầu tiên rất quan trọng! | Mọi người biết ngay dự án của bạn làm gì |
| **README** | Trang chính của dự án của bạn | Giống như một hướng dẫn thân thiện cho khách truy cập mới |
| **Hướng dẫn đóng góp** | Cho thấy bạn chào đón sự giúp đỡ | Mọi người biết chính xác cách họ có thể giúp bạn |
| **Quy tắc ứng xử** | Tạo không gian thân thiện | Mọi người cảm thấy được chào đón để tham gia |
| **Giấy phép** | Rõ ràng về pháp lý | Người khác biết cách họ có thể sử dụng mã của bạn |
| **Chính sách bảo mật** | Cho thấy bạn có trách nhiệm | Thể hiện các thực hành chuyên nghiệp |
> 💡 **Mẹo chuyên nghiệp**: GitHub cung cấp các mẫu cho tất cả các tệp này. Khi tạo một kho lưu trữ mới, hãy đánh dấu các ô để tự động tạo các tệp này.
> 💡 **Mẹo chuyên nghiệp**: GitHub cung cấp các mẫu cho tất cả các tệp này. Khi tạo một kho lưu trữ mới, hãy chọn các hộp để tự động tạo các tệp này.
**Các tính năng GitHub hiện đại để khám phá:**
@ -434,27 +435,27 @@ Muốn làm cho kho lưu trữ của bạn trông chuyên nghiệp và thân thi
- **GitHub Actions** để kiểm tra và triển khai tự động
- **Dependabot** để cập nhật phụ thuộc tự động
💬 **Quản lý cộng đồng & dự án:**
💬 **Cộng đồng & Quản lý dự án:**
- **GitHub Discussions** cho các cuộc trò chuyện cộng đồng ngoài các vấn đề
- **GitHub Projects** để quản lý dự án kiểu kanban
- **Quy tắc bảo vệ nhánh** để thực thi các tiêu chuẩn chất lượng mã
- **Quy tắc bảo vệ nhánh** để đảm bảo tiêu chuẩn chất lượng mã
Tất cả các tài nguyên này sẽ có lợi cho việc giới thiệu thành viên mới vào nhóm. Và đây thường là những điều mà các cộng tác viên mới xem xét trước khi thậm chí nhìn vào mã của bạn, để tìm hiểu xem dự án của bạn có phải là nơi phù hợp để họ dành thời gian hay không.
Tất cả các tài nguyên này sẽ có lợi cho việc giới thiệu các thành viên mới vào nhóm. Và đây thường là những điều mà các cộng tác viên mới xem xét trước khi thậm chí nhìn vào mã của bạn, để tìm hiểu xem dự án của bạn có phải là nơi phù hợp để họ dành thời gian hay không.
✅ Các tệp README, mặc dù mất thời gian để chuẩn bị, thường bị bỏ qua bởi các người duy trì bận rộn. Bạn có thể tìm thấy một ví dụ về một tệp README đặc biệt mô tả không? Lưu ý: có một số [công cụ để giúp tạo README tốt](https://www.makeareadme.com/) mà bạn có thể muốn thử.
### Nhiệm vụ: Hợp nhất một số mã
Tài liệu đóng góp giúp mọi người đóng góp vào dự án. Nó giải thích các loại đóng góp bạn đang tìm kiếm và cách quy trình hoạt động. Các cộng tác viên sẽ cần thực hiện một loạt các bước để có thể đóng góp vào kho lưu trữ của bạn trên GitHub:
Tài liệu đóng góp giúp mọi người đóng góp vào dự án. Nó giải thích các loại đóng góp mà bạn đang tìm kiếm và cách quy trình hoạt động. Các cộng tác viên sẽ cần thực hiện một loạt các bước để có thể đóng góp vào kho lưu trữ của bạn trên GitHub:
1. **Fork kho lưu trữ của bạn** Bạn có thể muốn mọi người _fork_ dự án của bạn. Fork nghĩa là tạo một bản sao của kho lưu trữ của bạn trên hồ sơ GitHub của họ.
1. **Clone**. Từ đó họ sẽ clone dự án về máy cục bộ của họ.
1. **Tạo một nhánh**. Bạn sẽ muốn yêu cầu họ tạo một _nhánh_ cho công việc của họ.
1. **Tập trung thay đổi vào một khu vực**. Yêu cầu các cộng tác viên tập trung đóng góp của họ vào một điều tại một thời điểm - theo cách đó cơ hội bạn có thể _hợp nhất_ công việc của họ sẽ cao hơn. Hãy tưởng tượng họ viết một bản sửa lỗi, thêm một tính năng mới, và cập nhật một số bài kiểm tra - điều gì sẽ xảy ra nếu bạn muốn, hoặc chỉ có thể triển khai 2 trong số 3, hoặc 1 trong số 3 thay đổi?
✅ Hãy tưởng tượng một tình huống mà các nhánh đặc biệt quan trọng đối với việc viết và triển khai mã tốt. Bạn có thể nghĩ đến những trường hợp sử dụng nào?
✅ Hãy tưởng tượng một tình huống mà các nhánh đặc biệt quan trọng để viết và triển khai mã tốt. Bạn có thể nghĩ đến những trường hợp sử dụng nào?
> Lưu ý, hãy là sự thay đổi bạn muốn thấy trên thế giới, và tạo các nhánh cho công việc của riêng bạn. Bất kỳ commit nào bạn thực hiện sẽ được thực hiện trên nhánh mà bạn hiện đang "được kiểm tra". Sử dụng `git status` để xem đó là nhánh nào.
> Lưu ý, hãy là sự thay đổi mà bạn muốn thấy trên thế giới, và tạo các nhánh cho công việc của riêng bạn. Bất kỳ commit nào bạn thực hiện sẽ được thực hiện trên nhánh mà bạn hiện đang "được kiểm tra". Sử dụng `git status` để xem nhánh đó là gì.
Hãy đi qua quy trình làm việc của cộng tác viên. Giả sử cộng tác viên đã _fork_ và _clone_ kho lưu trữ để họ có một kho Git sẵn sàng để làm việc trên máy cục bộ của họ:
@ -475,18 +476,18 @@ Hãy đi qua quy trình làm việc của cộng tác viên. Giả sử cộng t
git switch [branch-name]
```
> 💡 **Lưu ý hiện đại**: `git switch` là sự thay thế hiện đại cho `git checkout` khi thay đổi nhánh. Nó rõ ràng hơn và an toàn hơn cho người mới bắt đầu.
> 💡 **Lưu ý hiện đại**: `git switch` là sự thay thế hiện đại cho `git checkout` khi thay đổi nhánh. Nó rõ ràng và an toàn hơn cho người mới bắt đầu.
1. **Thực hiện công việc**. Tại thời điểm này bạn muốn thêm các thay đổi của mình. Đừng quên nói với Git về điều đó bằng các lệnh sau:
1. **Thực hiện công việc**. Tại thời điểm này bạn muốn thêm các thay đổi của mình. Đừng quên thông báo cho Git về điều đó với các lệnh sau:
```bash
git add .
git commit -m "my changes"
```
> ⚠️ **Chất lượng thông điệp commit**: Đảm bảo bạn đặt tên commit tốt, cả vì lợi ích của bạn và người duy trì kho lưu trữ mà bạn đang giúp đỡ. Hãy cụ thể về những gì bạn đã thay đổi!
> ⚠️ **Chất lượng thông điệp commit**: Đảm bảo bạn đặt tên commit của mình tốt, cả vì lợi ích của bạn và người duy trì kho lưu trữ mà bạn đang giúp đỡ. Hãy cụ thể về những gì bạn đã thay đổi!
1. **Kết hợp công việc của bạn với nhánh `main`**. Tại một thời điểm nào đó bạn đã hoàn thành công việc và muốn kết hợp công việc của mình với nhánh `main`. Nhánh `main` có thể đã thay đổi trong khi đó, vì vậy hãy đảm bảo bạn cập nhật nó lên phiên bản mới nhất với các lệnh sau:
1. **Kết hợp công việc của bạn với nhánh `main`**. Tại một thời điểm nào đó bạn đã hoàn thành công việc và muốn kết hợp công việc của mình với nhánh `main`. Nhánh `main` có thể đã thay đổi trong khi đó, vì vậy hãy đảm bảo bạn cập nhật nó mới nhất với các lệnh sau:
```bash
git switch main
@ -500,9 +501,9 @@ Hãy đi qua quy trình làm việc của cộng tác viên. Giả sử cộng t
git merge main
```
Lệnh `git merge main` sẽ mang tất cả các thay đổi từ `main` vào nhánh của bạn. Hy vọng bạn có thể tiếp tục. Nếu không, VS Code sẽ cho bạn biết nơi Git _bị nhầm lẫn_ và bạn chỉ cần thay đổi các tệp bị ảnh hưởng để nói nội dung nào là chính xác nhất.
Lệnh `git merge main` sẽ mang tất cả các thay đổi từ `main` vào nhánh của bạn. Hy vọng bạn có thể tiếp tục. Nếu không, VS Code sẽ cho bạn biết nơi Git bị _nhầm lẫn_ và bạn chỉ cần thay đổi các tệp bị ảnh hưởng để nói nội dung nào là chính xác nhất.
💡 **Cách thay thế hiện đại**: Hãy cân nhắc sử dụng `git rebase` để có lịch sử sạch hơn:
💡 **Cách thay thế hiện đại**: Cân nhắc sử dụng `git rebase` để có lịch sử sạch hơn:
```bash
git rebase main
```
@ -540,17 +541,17 @@ mindmap
Good documentation
```
> **Tăng cường sự tự tin**: Mỗi nhà phát triển mà bạn ngưỡng mộ đều từng lo lắng về yêu cầu kéo đầu tiên của họ. Cộng đồng GitHub vô cùng chào đón người mới!
> **Tăng cường sự tự tin**: Mỗi nhà phát triển mà bạn ngưỡng mộ đều từng lo lắng về yêu cầu kéo đầu tiên của họ. Cộng đồng GitHub cực kỳ chào đón người mới!
1. **Mở một PR**. Tiếp theo, bạn muốn mở một PR. Bạn làm điều đó bằng cách điều hướng đến kho lưu trữ đã fork trên GitHub. Bạn sẽ thấy một chỉ báo trên GitHub nơi nó hỏi liệu bạn có muốn tạo một PR mới không, bạn nhấp vào đó và bạn được đưa đến giao diện nơi bạn có thể thay đổi tiêu đề thông điệp commit, đưa ra mô tả phù hợp hơn. Bây giờ người duy trì kho lưu trữ mà bạn đã fork sẽ thấy PR này và _hy vọng_ họ sẽ đánh giá cao và _hợp nhất_ PR của bạn. Bạn bây giờ là một cộng tác viên, tuyệt vời :)
💡 **Mẹo hiện đại**: Bạn cũng có thể tạo PR bằng GitHub CLI:
💡 **Mẹo hiện đại**: Bạn cũng có thể tạo PRs bằng GitHub CLI:
- Liên kết đến các vấn đề liên quan bằng cách sử dụng các từ khóa như "Fixes #123"
🔧 **Thực hành tốt nhất cho PRs**:
- Liên kết đến các vấn đề liên quan bằng các từ khóa như "Fixes #123"
- Thêm ảnh chụp màn hình cho các thay đổi giao diện người dùng
- Yêu cầu người đánh giá cụ thể
- Sử dụng PR nháp cho công việc đang tiến hành
@ -577,11 +578,11 @@ Cập nhật nhánh làm việc cục bộ hiện tại của bạn với tất
Bạn đã sẵn sàng cho điều gì đó sẽ làm bạn kinh ngạc chưa? 🤯 Hãy nói về việc đóng góp cho các dự án mã nguồn mở – và tôi cảm thấy nổi da gà khi nghĩ đến việc chia sẻ điều này với bạn!
Đây là cơ hội để bạn trở thành một phần của điều gì đó thực sự phi thường. Hãy tưởng tượng cải thiện các công cụ mà hàng triệu nhà phát triển sử dụng mỗi ngày, hoặc sửa một lỗi trong ứng dụng mà bạn bè của bạn yêu thích. Đó không chỉ là một giấc mơ – đó chính là những gì đóng góp mã nguồn mở mang lại!
Đây là cơ hội để bạn trở thành một phần của điều gì đó thực sự phi thường. Hãy tưởng tượng cải thiện các công cụ mà hàng triệu nhà phát triển sử dụng mỗi ngày, hoặc sửa một lỗi trong ứng dụng mà bạn bè của bạn yêu thích. Đó không chỉ là một giấc mơ – đó chính là ý nghĩa của việc đóng góp mã nguồn mở!
Điều khiến tôi luôn cảm thấy phấn khích mỗi khi nghĩ về nó: mọi công cụ bạn đã học – trình soạn thảo mã của bạn, các framework chúng ta sẽ khám phá, thậm chí trình duyệt bạn đang đọc điều này – đều bắt đầu từ một người giống như bạn thực hiện đóng góp đầu tiên của họ. Nhà phát triển tài năng đã tạo ra tiện ích mở rộng VS Code yêu thích của bạn? Họ cũng từng là người mới, nhấn "create pull request" với đôi tay run rẩy, giống như bạn sắp làm.
Điều khiến tôi luôn cảm thấy phấn khích mỗi khi nghĩ về nó: mọi công cụ bạn đã học – trình chỉnh sửa mã của bạn, các framework chúng ta sẽ khám phá, thậm chí trình duyệt bạn đang đọc điều này – đều bắt đầu từ một người giống như bạn thực hiện đóng góp đầu tiên của họ. Nhà phát triển tài năng đã tạo ra tiện ích mở rộng VS Code yêu thích của bạn? Họ cũng từng là người mới, nhấn "create pull request" với đôi tay run rẩy, giống như bạn sắp làm.
Và đây là phần đẹp nhất: cộng đồng mã nguồn mở giống như cái ôm lớn nhất trên internet. Hầu hết các dự án đều tích cực tìm kiếm người mới và có các vấn đề được gắn thẻ "good first issue" dành riêng cho những người như bạn! Những người duy trì thực sự rất vui khi thấy các nhà đóng góp mới vì họ nhớ những bước đầu tiên của chính mình.
Và đây là phần đẹp nhất: cộng đồng mã nguồn mở giống như cái ôm lớn nhất trên internet. Hầu hết các dự án đều tích cực tìm kiếm người mới và có các vấn đề được gắn thẻ "good first issue" dành riêng cho những người như bạn! Những người duy trì thực sự rất vui khi thấy các cộng tác viên mới vì họ nhớ những bước đầu tiên của chính mình.
```mermaid
flowchart TD
@ -603,7 +604,7 @@ flowchart TD
style M fill:#fff59d
```
Bạn không chỉ học cách viết mã ở đây – bạn đang chuẩn bị tham gia vào một gia đình toàn cầu của những người xây dựng, những người thức dậy mỗi ngày với suy nghĩ "Làm thế nào để chúng ta làm cho thế giới số trở nên tốt đẹp hơn một chút?" Chào mừng bạn đến với câu lạc bộ! 🌟
Bạn không chỉ học cách viết mã ở đây – bạn đang chuẩn bị tham gia vào một gia đình toàn cầu của những người xây dựng, những người thức dậy mỗi ngày nghĩ "Làm thế nào để chúng ta làm cho thế giới số tốt hơn một chút?" Chào mừng bạn đến với câu lạc bộ! 🌟
Đầu tiên, hãy tìm một repository (hoặc **repo**) trên GitHub mà bạn quan tâm và muốn đóng góp một thay đổi. Bạn sẽ muốn sao chép nội dung của nó về máy của mình.
@ -645,11 +646,11 @@ Các dự án có trình theo dõi vấn đề, thường trên GitHub trong tab
Các dự án cũng có thể có thảo luận trong các diễn đàn, danh sách gửi thư, hoặc các kênh chat như Slack, Discord hoặc IRC.
🔧 **Các tính năng hiện đại của GitHub**:
- **GitHub Discussions** - Diễn đàn tích hợp cho các cuộc thảo luận cộng đồng
- **GitHub Discussions** - Diễn đàn tích hợp cho các cuộc trò chuyện cộng đồng
- **GitHub Sponsors** - Hỗ trợ tài chính cho người duy trì
- **Tab Security** - Báo cáo lỗ hổng và thông báo bảo mật
- **Tab Actions** - Xem các quy trình tự động và đường dẫn CI/CD
- **Tab Insights** - Phân tích về các nhà đóng góp, các commit, và sức khỏe dự án
- **Tab Actions** - Xem các quy trình tự động và pipeline CI/CD
- **Tab Insights** - Phân tích về cộng tác viên, commit, và sức khỏe dự án
- **Tab Projects** - Công cụ quản lý dự án tích hợp của GitHub
✅ Hãy khám phá repo GitHub mới của bạn và thử một vài điều, như chỉnh sửa cài đặt, thêm thông tin vào repo của bạn, tạo một dự án (như bảng Kanban), và thiết lập GitHub Actions để tự động hóa. Có rất nhiều điều bạn có thể làm!
@ -658,11 +659,11 @@ Các dự án cũng có thể có thảo luận trong các diễn đàn, danh s
## 🚀 Thử thách
Được rồi, đã đến lúc kiểm tra sức mạnh GitHub mới của bạn! 🚀 Đây là một thử thách sẽ giúp bạn hiểu rõ mọi thứ một cách thỏa mãn nhất:
Được rồi, đã đến lúc kiểm tra sức mạnh GitHub mới của bạn! 🚀 Đây là một thử thách sẽ làm mọi thứ trở nên rõ ràng theo cách thỏa mãn nhất:
Hãy rủ một người bạn (hoặc thành viên gia đình luôn hỏi bạn đang làm gì với tất cả những thứ "máy tính" này) và cùng nhau tham gia vào một cuộc phiêu lưu mã hóa hợp tác! Đây là nơi phép màu thực sự xảy ra – tạo một dự án, để họ fork nó, tạo một vài nhánh, và hợp nhất các thay đổi như những chuyên gia mà bạn đang trở thành.
Hãy rủ một người bạn (hoặc thành viên gia đình luôn hỏi bạn đang làm gì với tất cả "thứ máy tính này") và cùng nhau tham gia một cuộc phiêu lưu mã hóa hợp tác! Đây là nơi phép màu thực sự xảy ra – tạo một dự án, để họ fork nó, tạo một vài nhánh, và hợp nhất các thay đổi như những chuyên gia mà bạn đang trở thành.
Tôi sẽ không nói dối – có thể bạn sẽ cười vào một lúc nào đó (đặc biệt là khi cả hai cố gắng thay đổi cùng một dòng), có thể sẽ gãi đầu bối rối, nhưng chắc chắn bạn sẽ có những khoảnh khắc "aha!" tuyệt vời khiến tất cả việc học trở nên đáng giá. Thêm vào đó, có điều gì đó đặc biệt khi chia sẻ lần hợp nhất thành công đầu tiên với người khác – nó giống như một lễ kỷ niệm nhỏ về việc bạn đã tiến xa đến mức nào!
Tôi không nói dối –bạn có thể sẽ cười vào một lúc nào đó (đặc biệt là khi cả hai cố gắng thay đổi cùng một dòng), có thể sẽ gãi đầu bối rối, nhưng chắc chắn bạn sẽ có những khoảnh khắc "aha!" tuyệt vời khiến tất cả việc học trở nên đáng giá. Thêm vào đó, có điều gì đó đặc biệt khi chia sẻ lần hợp nhất thành công đầu tiên với người khác – nó giống như một lễ kỷ niệm nhỏ về việc bạn đã tiến xa đến mức nào!
Chưa có bạn đồng hành mã hóa? Không sao cả! Cộng đồng GitHub đầy những người cực kỳ thân thiện, những người nhớ cảm giác khi mới bắt đầu. Hãy tìm các repository có nhãn "good first issue" – chúng về cơ bản đang nói "Này người mới, hãy học cùng chúng tôi!" Thật tuyệt vời phải không?
@ -671,14 +672,14 @@ Chưa có bạn đồng hành mã hóa? Không sao cả! Cộng đồng GitHub
## Ôn tập & Tiếp tục học
Whew! 🎉 Nhìn bạn kìa – bạn vừa chinh phục các kiến thức cơ bản về GitHub như một nhà vô địch thực thụ! Nếu bạn cảm thấy đầu óc hơi đầy lúc này, điều đó hoàn toàn bình thường và thực sự là một dấu hiệu tốt. Bạn vừa học những công cụ mà tôi đã mất hàng tuần để cảm thấy thoải mái khi bắt đầu.
Whew! 🎉 Nhìn bạn kìa – bạn vừa chinh phục các kiến thức cơ bản về GitHub như một nhà vô địch thực thụ! Nếu bạn cảm thấy đầu óc hơi đầy ngay bây giờ, điều đó hoàn toàn bình thường và thực sự là một dấu hiệu tốt. Bạn vừa học các công cụ mà tôi đã mất hàng tuần để cảm thấy thoải mái khi bắt đầu.
Git và GitHub cực kỳ mạnh mẽ (thực sự rất mạnh mẽ), và mọi nhà phát triển tôi biết – bao gồm cả những người trông như phù thủy bây giờ – đều phải thực hành và loay hoay một chút trước khi mọi thứ trở nên rõ ràng. Việc bạn đã hoàn thành bài học này có nghĩa là bạn đã bắt đầu hành trình làm chủ một số công cụ quan trọng nhất trong bộ công cụ của nhà phát triển.
Dưới đây là một số tài liệu tuyệt vời để giúp bạn thực hành và trở nên xuất sắc hơn:
Dưới đây là một số tài liệu tuyệt vời để giúp bạn thực hành và trở nên thậm chí còn tuyệt vời hơn:
- [Hướng dẫn đóng góp cho phần mềm mã nguồn mở](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) – Lộ trình của bạn để tạo ra sự khác biệt
- [Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/) – Giữ cái này bên mình để tham khảo nhanh!
- [Bảng cheat Git](https://training.github.com/downloads/github-git-cheat-sheet/) – Giữ cái này bên mình để tham khảo nhanh!
Và hãy nhớ: thực hành tạo ra tiến bộ, không phải sự hoàn hảo! Càng sử dụng Git và GitHub, bạn sẽ càng thấy tự nhiên hơn. GitHub đã tạo ra một số khóa học tương tác tuyệt vời cho phép bạn thực hành trong môi trường an toàn:
@ -691,19 +692,19 @@ Và hãy nhớ: thực hành tạo ra tiến bộ, không phải sự hoàn hả
- [Tài liệu GitHub CLI](https://cli.github.com/manual/) – Để cảm thấy như một phù thủy dòng lệnh
- [Tài liệu GitHub Actions](https://docs.github.com/en/actions) – Tự động hóa mọi thứ
- [Các thực hành tốt nhất về Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – Nâng cấp kỹ năng làm việc của bạn
- [Các thực hành tốt nhất về Git](https://www.atlassian.com/git/tutorials/comparing-workflows) – Nâng cấp trò chơi quy trình làm việc của bạn
## Thử thách GitHub Copilot Agent 🚀
Sử dụng chế độ Agent để hoàn thành thử thách sau:
**Mô tả:** Tạo một dự án phát triển web hợp tác thể hiện toàn bộ quy trình GitHub mà bạn đã học trong bài học này. Thử thách này sẽ giúp bạn thực hành tạo repository, các tính năng hợp tác, và quy trình Git hiện đại trong một tình huống thực tế.
**Mô tả:** Tạo một dự án phát triển web hợp tác thể hiện toàn bộ quy trình GitHub mà bạn đã học trong bài học này. Thử thách này sẽ giúp bạn thực hành tạo repository, các tính năng hợp tác, và quy trình làm việc Git hiện đại trong một tình huống thực tế.
**Yêu cầu:** Tạo một repository GitHub công khai mới cho dự án "Web Development Resources" đơn giản. Repository nên bao gồm một tệp README.md được cấu trúc tốt liệt kê các công cụ và tài nguyên phát triển web hữu ích, được tổ chức theo danh mục (HTML, CSS, JavaScript, v.v.). Thiết lập repository với các tiêu chuẩn cộng đồng phù hợp bao gồm giấy phép, hướng dẫn đóng góp, và quy tắc ứng xử. Tạo ít nhất hai nhánh tính năng: một để thêm tài nguyên CSS và một để thêm tài nguyên JavaScript. Thực hiện các commit cho mỗi nhánh với thông điệp commit mô tả, sau đó tạo pull request để hợp nhất các thay đổi trở lại nhánh chính. Kích hoạt các tính năng GitHub như Issues, Discussions, và thiết lập quy trình GitHub Actions cơ bản để kiểm tra tự động.
**Gợi ý:** Tạo một repository GitHub công khai mới cho dự án "Tài nguyên Phát triển Web" đơn giản. Repository nên bao gồm một tệp README.md được cấu trúc tốt liệt kê các công cụ và tài nguyên phát triển web hữu ích, được tổ chức theo danh mục (HTML, CSS, JavaScript, v.v.). Thiết lập repository với các tiêu chuẩn cộng đồng phù hợp bao gồm giấy phép, hướng dẫn đóng góp, và quy tắc ứng xử. Tạo ít nhất hai nhánh tính năng: một để thêm tài nguyên CSS và một để thêm tài nguyên JavaScript. Thực hiện các commit cho mỗi nhánh với thông điệp commit mô tả, sau đó tạo pull request để hợp nhất các thay đổi trở lại nhánh chính. Kích hoạt các tính năng GitHub như Issues, Discussions, và thiết lập quy trình GitHub Actions cơ bản để kiểm tra tự động.
## Bài tập
Nhiệm vụ của bạn, nếu bạn chọn chấp nhận: Hoàn thành khóa học [Giới thiệu về GitHub](https://github.com/skills/introduction-to-github) trên GitHub Skills. Khóa học tương tác này sẽ cho phép bạn thực hành mọi thứ bạn đã học trong một môi trường an toàn, có hướng dẫn. Thêm vào đó, bạn sẽ nhận được một huy hiệu tuyệt vời khi hoàn thành! 🏅
Nhiệm vụ của bạn, nếu bạn chọn chấp nhận: Hoàn thành khóa học [Giới thiệu về GitHub](https://github.com/skills/introduction-to-github) trên GitHub Skills. Khóa học tương tác này sẽ cho phép bạn thực hành mọi thứ bạn đã học trong môi trường an toàn, có hướng dẫn. Thêm vào đó, bạn sẽ nhận được một huy hiệu tuyệt vời khi hoàn thành! 🏅
**Cảm thấy sẵn sàng cho nhiều thử thách hơn?**
- Thiết lập xác thực SSH cho tài khoản GitHub của bạn (không cần mật khẩu nữa!)
@ -715,16 +716,16 @@ Nhiệm vụ của bạn, nếu bạn chọn chấp nhận: Hoàn thành khóa h
## 🚀 Lộ trình làm chủ GitHub của bạn
### ⚡ **Những việc bạn có thể làm trong 5 phút tới**
### ⚡ **Những gì bạn có thể làm trong 5 phút tới**
- [ ] Gắn sao repository này và 3 dự án khác mà bạn quan tâm
- [ ] Thiết lập xác thực hai yếu tố cho tài khoản GitHub của bạn
- [ ] Tạo một README đơn giản cho repository đầu tiên của bạn
- [ ] Theo dõi 5 nhà phát triển mà bạn cảm thấy truyền cảm hứng
- [ ] Theo dõi 5 nhà phát triển có công việc truyền cảm hứng cho bạn
### 🎯 **Những gì bạn có thể hoàn thành trong một giờ**
- [ ] Hoàn thành bài kiểm tra sau bài học và suy ngẫm về hành trình GitHub của bạn
### 🎯 **Những gì bạn có thể hoàn thành trong giờ tới**
- [ ] Hoàn thành câu hỏi sau bài học và suy ngẫm về hành trình GitHub của bạn
- [ ] Thiết lập khóa SSH để xác thực GitHub không cần mật khẩu
- [ ] Tạo commit đầu tiên có ý nghĩa với thông điệp commit tuyệt vời
- [ ] Tạo commit ý nghĩa đầu tiên của bạn với thông điệp commit tuyệt vời
- [ ] Khám phá tab "Explore" của GitHub để tìm các dự án đang thịnh hành
- [ ] Thực hành fork một repository và thực hiện một thay đổi nhỏ
@ -738,7 +739,7 @@ Nhiệm vụ của bạn, nếu bạn chọn chấp nhận: Hoàn thành khóa h
### 🌟 **Sự biến đổi kéo dài một tháng của bạn**
- [ ] Đóng góp cho 3 dự án mã nguồn mở khác nhau
- [ ] Hướng dẫn một người mới sử dụng GitHub (truyền cảm hứng!)
- [ ] Hướng dẫn ai đó mới sử dụng GitHub (truyền cảm hứng!)
- [ ] Thiết lập quy trình tự động với GitHub Actions
- [ ] Xây dựng một danh mục giới thiệu các đóng góp GitHub của bạn
- [ ] Tham gia Hacktoberfest hoặc các sự kiện cộng đồng tương tự
@ -747,7 +748,7 @@ Nhiệm vụ của bạn, nếu bạn chọn chấp nhận: Hoàn thành khóa h
### 🎓 **Kiểm tra cuối cùng về việc làm chủ GitHub**
**Ăn mừng những gì bạn đã đạt được:**
- Điều bạn yêu thích nhất khi sử dụng GitHub là gì?
- Điều bạn yêu thích nhất về việc sử dụng GitHub là gì?
- Tính năng hợp tác nào khiến bạn hào hứng nhất?
- Bạn cảm thấy tự tin như thế nào về việc đóng góp cho mã nguồn mở bây giờ?
- Dự án đầu tiên bạn muốn đóng góp là gì?
@ -769,11 +770,13 @@ journey
Inspiring Others: 5: You
```
> 🌍 **Chào mừng bạn đến với cộng đồng nhà phát triển toàn cầu!**Giờ đây bạn đã có các công cụ để hợp tác với hàng triệu nhà phát triển trên toàn thế giới. Đóng góp đầu tiên của bạn có thể trông nhỏ bé, nhưng hãy nhớ - mọi dự án mã nguồn mở lớn đều bắt đầu với ai đó thực hiện commit đầu tiên của họ. Câu hỏi không phải là liệu bạn có tạo ra ảnh hưởng hay không, mà là dự án tuyệt vời nào sẽ hưởng lợi từ góc nhìn độc đáo của bạn đầu tiên! 🚀
> 🌍 **Chào mừng bạn đến với cộng đồng nhà phát triển toàn cầu!**Bây giờ bạn đã có các công cụ để hợp tác với hàng triệu nhà phát triển trên toàn thế giới. Đóng góp đầu tiên của bạn có thể trông nhỏ bé, nhưng hãy nhớ - mọi dự án mã nguồn mở lớn đều bắt đầu với ai đó thực hiện commit đầu tiên của họ. Câu hỏi không phải là liệu bạn có tạo ra ảnh hưởng hay không, mà là dự án tuyệt vời nào sẽ hưởng lợi từ góc nhìn độc đáo của bạn đầu tiên! 🚀
Hãy nhớ: mọi chuyên gia đều từng là người mới bắt đầu. Bạn làm được mà! 💪
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Tuyên bố miễn trừ trách nhiệm**:
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với thông tin quan trọng, chúng tôi khuyến nghị sử dụng dịch vụ dịch thuật chuyên nghiệp bởi con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.
Tài liệu này đã được dịch bằng dịch vụ dịch thuật AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mặc dù chúng tôi cố gắng đảm bảo độ chính xác, xin lưu ý rằng các bản dịch tự động có thể chứa lỗi hoặc không chính xác. Tài liệu gốc bằng ngôn ngữ bản địa nên được coi là nguồn thông tin chính thức. Đối với thông tin quan trọng, nên sử dụng dịch vụ dịch thuật chuyên nghiệp của con người. Chúng tôi không chịu trách nhiệm cho bất kỳ sự hiểu lầm hoặc diễn giải sai nào phát sinh từ việc sử dụng bản dịch này.