🌐 Update translations via Co-op Translator

pull/1625/head
leestott 2 weeks ago committed by GitHub
parent 11128b0aaf
commit 575611ee77

@ -1,8 +1,8 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0fe3ff66299b447f1c8cb34dcbf0c5ef",
"translation_date": "2025-11-06T11:44:15+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-18T18:39:36+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "id"
}
@ -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.
@ -122,11 +122,11 @@ git remote set-url origin git@github.com:username/repository.git
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
>
> [![Video dasar Git dan GitHub](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](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).
### 🧠 **Check-in Repositori Pertama: Bagaimana Rasanya?**
@ -355,33 +356,33 @@ stateDiagram-v2
> **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 <baris subjek Anda di sini>
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/).
![Salin repo secara lokal](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.id.png)
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?
## Kuis Pasca-Kuliah
[Kuis pasca-kuliah](https://ff-quizzes.netlify.app/web/en/)
## Kuis Pasca-Pelajaran
[Kuis pasca-pelajaran](https://ff-quizzes.netlify.app/web/en/)
## Tinjau & Terus Belajar
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:
- [Pengantar GitHub](https://github.com/skills/introduction-to-github)
- [Pengenalan ke GitHub](https://github.com/skills/introduction-to-github)
- [Berkomunikasi menggunakan Markdown](https://github.com/skills/communicate-using-markdown)
- [GitHub Pages](https://github.com/skills/github-pages)
- [Mengelola konflik penggabungan](https://github.com/skills/resolve-merge-conflicts)
@ -699,14 +700,14 @@ Gunakan mode Agen untuk menyelesaikan tantangan berikut:
**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.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,24 +1,24 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0fe3ff66299b447f1c8cb34dcbf0c5ef",
"translation_date": "2025-11-06T12:37:32+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-18T18:44:50+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "ja"
}
-->
# GitHubの紹介
こんにちは、未来の開発者さん!👋 世界中の何百万ものコーダーたちに仲間入りする準備はできていますかGitHubを紹介するのが本当に楽しみです。これはプログラマーのためのソーシャルメディアプラットフォームのようなもので、ランチの写真を共有する代わりにコードを共有して一緒に素晴らしいものを作り上げるんです!
こんにちは、未来の開発者さん!👋 世界中の何百万ものコーダーに仲間入りする準備はできていますかGitHubを紹介できることに本当にワクワクしています。これはプログラマーのためのソーシャルメディアプラットフォームのようなもので、ランチの写真を共有する代わりにコードを共有して一緒に素晴らしいものを作り上げるんです!
驚くべきことに、あなたのスマホのアプリ、訪れるウェブサイト、そして学ぶツールのほとんどは、GitHubのようなプラットフォームで開発者たちが協力して作り上げたものです。お気に入りの音楽アプリ?それに貢献した人がいるんです。やめられないゲーム?そう、それもおそらくGitHubでのコラボレーションで作られました。そして今、あなたもその素晴らしいコミュニティの一員になる方法を学ぶんです!
驚くべきことに、あなたのスマホのアプリ、訪れるウェブサイト、そして学ぶツールのほとんどは、GitHubのようなプラットフォームで開発者たちが協力して作り上げたものです。あなたが好きな音楽アプリ?それに貢献した人がいます。やめられないゲームそう、それもGitHubでのコラボレーションで作られた可能性が高いです。そして今、あなたもその素晴らしいコミュニティの一員になる方法を学ぶんです!
最初は少し難しく感じるかもしれません。私も最初のGitHubページを見たとき、「これって一体何のこと」と思ったのを覚えています。でも、覚えておいてください。すべての開発者が今のあなたと同じところから始めています。このレッスンが終わる頃には、あなた自身のGitHubリポジトリクラウド上の個人プロジェクトショーケースのようなもの)を持ち、作業を保存し、他の人と共有し、さらには何百万人が使うプロジェクトに貢献する方法を知ることができるでしょう。
最初は少し難しく感じるかもしれません。私も最初のGitHubページを見たとき、「これって一体何のこと」と思ったのを覚えています。でも、覚えておいてください:すべての開発者が今のあなたと同じ場所から始めました。このレッスンが終わる頃には、あなた自身のGitHubリポジトリクラウド上の個人的なプロジェクトショーケースのようなもの)を持ち、作業を保存し、他の人と共有し、さらには何百万人もの人が使うプロジェクトに貢献する方法を知ることができるでしょう。
一歩ずつ一緒に進んでいきましょう。急がず、プレッシャーもなしで、あなたと私、そしてこれからあなたの新しい親友になる本当にクールなツールたちと一緒に!
![GitHubの紹介](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.ja.png)
> スケッチノート: [Tomomi Imura](https://twitter.com/girlie_mac)
> スケッチノート提供:[Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
journey
@ -37,18 +37,18 @@ journey
Open Source: 5: You
```
## 講義前のクイズ
[講義前のクイズ](https://ff-quizzes.netlify.app)
## レクチャー前のクイズ
[レクチャー前のクイズ](https://ff-quizzes.netlify.app)
## はじめに
本当にワクワクする内容に入る前に、GitHubの魔法を使う準備をしましょうこれは、傑作を作る前にアート用品を整理するようなものです。適切なツールを準備することで、すべてがスムーズになり、ずっと楽しくなります。
セットアップの各ステップを個人的に案内しますが、最初は少し難しく見えるかもしれません。でも心配しないでください!すぐに慣れます。もしすぐに理解できなくても、それは完全に普通のことです!私も最初の開発環境をセットアップしたとき、古代の象形文字を読もうとしているような気分でした。すべての開発者が今のあなたと同じところから始めています。「これで合っているのかな?」と思いながら学んでいる時点で、すでに正しい道を進んでいます!🌟
セットアップの各ステップを個人的に案内しますが、最初は少し難しく見えるかもしれません。でも心配しないでください!すぐに慣れます。もしすぐに理解できなくても、それは完全に普通のことです!私も最初の開発環境をセットアップしたとき、古代の象形文字を読もうとしているような気分でした。すべての開発者が今のあなたと同じ場所に立っていました。学んでいる時点で、すでに正しい道を進んでいます!🌟
このレッスンでは以下を学びます:
- 自分のマシンで行った作業を追跡する方法
- 自分のマシンで行った作業の追跡方法
- 他の人とプロジェクトを進める方法
- オープンソースソフトウェアに貢献する方法
@ -56,21 +56,21 @@ journey
GitHubの魔法を使う準備をしましょう心配しないでください。このセットアップは一度だけ行えばよく、その後はコーディングの旅全体で使えます。
まずは基礎から始めましょう最初にGitがすでにあなたのコンピュータにインストールされているか確認する必要があります。Gitは、コードに加えたすべての変更を記憶してくれる超賢いアシスタントのようなものです。Ctrl+Sを何度も押すよりずっと便利ですみんな経験ありますよね
まずは基礎から始めましょう最初にGitがすでにコンピュータにインストールされているか確認する必要があります。Gitは、コードに加えたすべての変更を記憶してくれる超賢いアシスタントのようなものです。Ctrl+Sを何度も押すよりずっと便利ですみんな経験ありますよね
ターミナルで以下の魔法のコマンドを入力してGitがインストールされているか確認しましょう
Gitがすでにインストールされているか確認するには、ターミナルで以下の魔法のコマンドを入力してください
`git --version`
もし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
```
@ -79,32 +79,32 @@ git config --list
[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が最もよく知られています。
### 準備
ローカルマシンートパソコンやPCにコードプロジェクトのフォルダと、他の人のプロジェクトに貢献する方法を学ぶための例として使うGitHubの公開リポジトリが必要です。
ローカルマシンートパソコンやPCにコードプロジェクトのフォルダと、他の人のプロジェクトに貢献する方法を学ぶための例として使用するGitHub上の公開リポジトリが必要です。
### コードを安全に保つ
セキュリティについて少し話しましょう。でも心配しないでください、怖い話をするわけではありません!これらのセキュリティプラクティスは、車や家に鍵をかけるようなものです。簡単な習慣が自然になり、あなたの努力を守ります。
セキュリティについて少し話しましょう。でも心配しないでください、怖い話で圧倒するつもりはありません!これらのセキュリティプラクティスは、車や家に鍵をかけるようなものです。簡単な習慣が自然になり、あなたの努力を守ります。
GitHubを使う際には、最初からモダンで安全な方法をお見せします。これにより、コーディングキャリア全体で役立つ良い習慣を身につけることができます。
GitHubを使う際のモダンで安全な方法を最初からお見せします。これにより、コーディングキャリア全体で役立つ良い習慣を身につけることができます。
GitHubを使用する際には、以下のセキュリティベストプラクティスを守ることが重要です
| セキュリティ領域 | ベストプラクティス | なぜ重要か |
| セキュリティ領域 | ベストプラクティス | 重要性 |
|------------------|------------------|------------------|
| **認証** | SSHキーまたは個人アクセストークンを使用 | パスワードは安全性が低く、廃止されつつあ |
| **二要素認証** | GitHubアカウントで2FAを有効化 | アカウント保護の追加層を提供 |
| **リポジトリのセキュリティ** | 機密情報をコミットしない | APIキーやパスワードは公開リポジトリに含めない |
| **依存関係管理** | Dependabotを有効化して更新 | 依存関係を安全かつ最新に保 |
| **認証** | SSHキーまたは個人アクセストークンを使用 | パスワードは安全性が低く、廃止されつつあります |
| **二要素認証** | GitHubアカウントで2FAを有効化 | アカウント保護の追加層を提供します |
| **リポジトリのセキュリティ** | 機密情報をコミットしない | APIキーやパスワードは公開リポジトリに含めるべきではありません |
| **依存関係管理** | Dependabotを有効化して更新 | 依存関係を安全かつ最新に保ちます |
> ⚠️ **重要なセキュリティリマインダー**: APIキー、パスワード、その他の機密情報をリポジトリにコミットしないでください。環境変数や`.gitignore`ファイルを使用して機密データを保護してください。
> ⚠️ **重要なセキュリティリマインダー**APIキー、パスワード、その他の機密情報をリポジトリにコミットしないでください。環境変数や`.gitignore`ファイルを使用して機密データを保護してください。
**モダンな認証セットアップ:**
**モダンな認証セットアップ**
```bash
# Generate SSH key (modern ed25519 algorithm)
@ -114,19 +114,19 @@ ssh-keygen -t ed25519 -C "your_email@example.com"
git remote set-url origin git@github.com:username/repository.git
```
> 💡 **プロのヒント**: SSHキーはパスワードを繰り返し入力する必要がなく、従来の認証方法よりも安全です。
> 💡 **プロのヒント**SSHキーはパスワードを繰り返し入力する必要をなくし、従来の認証方法よりも安全です。
---
## コードをプロのように管理する
## プロのようにコードを管理する
さて、ここからが本当にエキサイティングなところです!🎉 プロのようにコードを追跡・管理する方法を学びます。正直言って、これを教えるのが大好きです。なぜなら、これを学ぶと本当に世界が変わるからです。
さて、ここからが本当にエキサイティングな部分です!🎉 プロのようにコードを追跡・管理する方法を学びます。正直言って、これを教えるのが大好きです。なぜなら、これが本当に人生を変えるような体験だからです。
想像してみてください:素晴らしい物語を書いていて、すべてのドラフト、素晴らしい編集、そして「これ天才的だ!」と思った瞬間を記録したいと思うでしょう。それがGitがコードに対して行うことですすべてのキー入力、すべての変更、すべての「うわ、これ全部壊れた」瞬間を記憶して、すぐに元に戻せるんです。
想像してみてください:素晴らしい物語を書いていて、すべての草稿、素晴らしい編集、そして「待って、それは天才的だ!」という瞬間を記録したいと思っています。それがGitがコードに対して行うことですすべてのキー入力、すべての変更、すべての「おっと、それで全部壊れた」瞬間を即座に元に戻せる、最も素晴らしいタイムトラベルノートブックのようなものです。
正直に言うと、最初は圧倒されるかもしれません。私も最初は「普通にファイルを保存するだけじゃダメなの」と思いました。でもこれだけは信じてくださいGitが理解できるようになると必ずそうなります!)、あなたは「どうしてこれまでこれなしでコードを書いていたんだろう?」と思うでしょう。それは、歩いていたところから飛べるようになったような感覚です!
正直に言うと、最初は圧倒されるかもしれません。私も最初は「普通にファイルを保存するだけじゃダメなの」と思いました。でもこれだけは信じてくださいGitが理解できるようになるとそして必ず理解できます!)、あなたは「どうしてこれまでこれなしでコードを書いていたんだろう?」と思うようになります。それは、歩いていたところから飛べることを発見するようなものです!
ローカルにコードプロジェクトのフォルダがあり、その進捗をバージョン管理システムであるGitを使って追跡したいとします。Gitを使うことは未来の自分へのラブレターを書くようなものだと言う人もいます。数日、数週間、数ヶ月後にコミットメッセージを読むことで、なぜその決定をしたのかを思い出したり、変更を「巻き戻す」ことができます。つまり、良い「コミットメッセージ」を書くことが重要です。
ローカルにコードプロジェクトのフォルダがあり、その進捗をバージョン管理システムであるGitを使って追跡したいとします。Gitを使うことは未来の自分へのラブレターを書くようなものだと言う人もいます。数日、数週間、数ヶ月後にコミットメッセージを読むことで、なぜその決定をしたのかを思い出したり、変更を「巻き戻し」したりすることができます。それは、良い「コミットメッセージ」を書いたときです。
```mermaid
flowchart TD
@ -152,36 +152,36 @@ flowchart TD
style N fill:#ff4081,color:#fff
```
### タスク: 初めてのリポジトリを作成しよう!
### タスク初めてのリポジトリを作成しよう!
> 🎯 **あなたのミッション(本当にワクワクします!)**: 初めてのGitHubリポジトリを一緒に作成しましょうここが終わる頃には、あなたのコードが住むインターネット上の小さなコーナーを持ち、初めての「コミット」これは開発者の言葉で、非常に賢い方法で作業を保存することを意味しますを行います。
> 🎯 **あなたのミッション(本当にワクワクしています!)**初めてのGitHubリポジトリを一緒に作成しましょうここが終わる頃には、あなたのコードが住むインターネット上の小さなコーナーを持ち、初めての「コミット」これは開発者の言葉で、非常に賢い方法で作業を保存することを意味しますを行います。
>
> これは本当に特別な瞬間です。あなたは世界中の開発者コミュニティに正式に参加しようとしています!私も初めてリポジトリを作成したときの興奮を覚えています。「わあ、本当にこれをやってるんだ!」と思いました。
> これは本当に特別な瞬間です。あなたは世界中の開発者コミュニティに正式に参加しようとしています!私も初めてリポジトリを作成したときの興奮を覚えています。「わあ、本当にこれをやってるんだ!」と思いました。
この冒険を一緒に進めましょう。各部分をじっくり進めてください。急ぐ必要はありません。すべてのステップが意味を持つことを約束します。覚えておいてください、あなたが憧れるすべてのコーディングスターは、かつてあなたと同じ場所に座り、初めてのリポジトリを作成しようとしていました。なんて素晴らしいことでしょう!
この冒険を一緒に進めましょう。一歩一歩、各部分をじっくり進めてください。急ぐ必要はありません。すべてのステップが意味を持つことを約束します。憧れるすべてのコーディングスターが、あなたと同じ場所に座って初めてのリポジトリを作成しようとしていました。なんて素晴らしいことでしょう!
> 動画をチェック
>
> [![GitとGitHubの基本動画](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4)
**一緒にやってみましょう:**
**一緒にやってみましょう**
1. **GitHubでリポジトリを作成する**。GitHub.comにアクセスして、明るい緑色の**New**ボタン(または右上の**+**記号)を探してください。それをクリックして**New repository**を選択します。
以下を行いましょう
以下を行いま
1. リポジトリに名前を付けます あなたにとって意味のある名前にしましょう!
1. 必要なら説明を追加します(これにより他の人があなたのプロジェクトが何であるかを理解しやすくなります)
1. 公開(誰でも見られる)か非公開(自分だけのもの)を選択します
1. READMEファイルを追加するチェックボックスをおすすめします これはプロジェクトの表紙のようなものです
1. 必要に応じて説明を追加します(これにより、他の人がプロジェクトの内容を理解しやすくなります)
1. 公開(誰でも見られる)か非公開(自分だけのもの)を選択します
1. READMEファイルを追加するチェックボックスをオンにすることをお勧めします これはプロジェクトの表紙のようなものです
1. **Create repository**をクリックしてお祝いしましょう 初めてのリポジトリを作成しました!🎉
2. **プロジェクトフォルダに移動する**。次にターミナルを開きましょう(見た目ほど怖くありません!)。プロジェクトファイルがある場所をコンピュータに教える必要があります。このコマンドを入力してください:
2. **プロジェクトフォルダに移動する**。次にターミナルを開きましょう(見た目ほど怖くありません!)。コンピュータにプロジェクトファイルの場所を教える必要があります。以下のコマンドを入力してください:
```bash
cd [name of your folder]
```
**ここで何をしているか:**
**ここでやっていること:**
- コンピュータに「プロジェクトフォルダに移動して」と伝えています
- これはデスクトップ上の特定のフォルダを開くようなものですが、テキストコマンドで行っています
- `[name of your folder]`を実際のプロジェクトフォルダ名に置き換えてください
@ -192,18 +192,18 @@ flowchart TD
git init
```
**ここで起こったこと(かなりクールなこと!):**
- Gitがプロジェクト内に隠れた`.git`フォルダを作成しました 見えませんが存在しています!
- 通常のフォルダが「リポジトリ」に変わり、あなたが行うすべての変更を追跡できるようになりました
**ここで起こったこと(かなりクールなこと!)**
- Gitがプロジェクト内に隠`.git`フォルダを作成しました 見えませんが存在しています!
- 通常のフォルダが「リポジトリ」に変わり、行ったすべての変更を追跡できるようになりました
- フォルダにすべてを記憶するスーパーパワーを与えたようなものです
4. **現在の状況を確認する**。Gitがプロジェクトについてどう思っているか見てみましょう:
4. **現在の状況を確認する**。Gitがプロジェクトについてどう思っているか見てみましょう
```bash
git status
```
**Gitが教えてくれることを理解する:**
**Gitが教えてくれることを理解する**
以下のようなものが表示されるかもしれません:
@ -216,12 +216,12 @@ flowchart TD
modified: file2.txt
```
**慌てないでください!これはこういう意味です:**
- **赤色**のファイルは変更があるがまだ保存する準備ができていないファイル
- **緑色**のファイル(表示される場合)は保存する準備ができているファイル
**慌てないでください!これはこういう意味です**
- **赤色**のファイルは変更があるがまだ保存する準備ができていないファイルです
- **緑色**のファイル(表示される場合)は保存する準備ができているファイルです
- Gitは次に何をすればいいかを正確に教えてくれています
> 💡 **プロのヒント**: `git status`コマンドはあなたの親友です何が起こっているのか混乱したときに使ってください。Gitに「今の状況はどう」と尋ねるようなものです。
> 💡 **プロのヒント**`git status`コマンドはあなたの親友です何が起こっているのか混乱したときに使ってください。Gitに「今の状況はどう」と尋ねるようなものです。
5. **ファイルを保存する準備をする**(これを「ステージング」と呼びます):
@ -229,23 +229,23 @@ flowchart TD
git add .
```
**ここで行ったこと:**
**ここでやったこと:**
- Gitに「このフォルダ内のすべてのファイルを次の保存に含めたい」と伝えました
- `.`は「このフォルダ内のすべて」を意味します
- これでファイルが「ステージング」され、次のステップの準備が整いました
**もっと選択的になりたい場合:** 特定のファイルだけを追加することもできます:
**もっと選択的になりたい場合** 特定のファイルだけを追加することもできます:
```bash
git add [file or folder name]
```
**なぜこれをしたいのか:**
**なぜこれをしたいのか**
- 関連する変更をまとめて保存したい場合があります
- 作業を論理的な塊に整理するのに役立ちます
- 何がいつ変更されたのかを理解しやすくなります
**気が変わった場合:** 心配しないでください!以下のようにしてファイルをステージングから外すことができます:
**気が変わった場合** 心配しないでください!以下のようにしてファイルをステージから外すことができます:
```bash
# Unstage everything
@ -265,70 +265,69 @@ flowchart TD
**🎉 おめでとうございます!初めてのコミットを作成しました!**
**ここで起こったこと:**
**ここで起こったこと**
- Gitがこの瞬間のすべてのステージングされたファイルの「スナップショット」を撮りました
- コミットメッセージ「first commit」はこの保存ポイントが何であるかを説明しています
- GitがこのスナップショットにユニークなIDを付けたので、後でいつでも見つけることができます
- あなたのプロジェクトの履歴を追跡し始めました!
- GitがこのスナップショットにユニークなIDを付けたので、いつでも後で見つけることができます
- プロジェクトの履歴を追跡し始めました!
> 💡 **次回のコミットメッセージ**: 次回のコミットではもっと具体的にしましょう「updated stuff」ではなく、「Add contact form to homepage」や「Fix navigation menu bug」のように。未来の自分が感謝します
> 💡 **次回のコミットメッセージ**:次回のコミットでは、もっと具体的にしましょう「updated stuff」ではなく、「Add contact form to homepage」や「Fix navigation menu bug」のように。未来の自分が感謝します
7. **ローカルプロジェクトをGitHubに接続する**。現在、あなたのプロジェクトはコンピュータにしか存在していません。これをGitHubリポジトリに接続して、世界と共有しましょう
7. **ローカルプロジェクトをGitHubに接続する**。現在、プロジェクトはあなたのコンピュータにしか存在していません。これをGitHubリポジトリに接続して、世界と共有しましょう
まず、GitHubリポジトリページに移動してURLを
**私たちが今やったこと:**
- ローカルプロジェクトとGitHubリポジトリの間に接続を作成しました
- "Origin"はGitHubリポジトリのニックネームのようなものです。電話帳に連絡先を追加するような感覚です
- これでローカルGitはコードを共有する準備ができたときにどこに送るべきかを知っています
まず
- ローカルプロジェクトとGitHubリポジトリの接続を作成しました
- "Origin"はGitHubリポジトリのニックネームのようなものです。電話帳に連絡先を追加する感覚です
- これでローカルGitはコードを送る場所を知っており、共有する準備が整いました
💡 **簡単な方法**: GitHub CLIがインストールされている場合、これを1つのコマンドで実行できます:
💡 **簡単な方法**: GitHub CLIをインストールしている場合、これを1つのコマンドで実行できます:
```bash
gh repo create my-repo --public --push --source=.
```
8. **コードをGitHubに送る** (いよいよ大事な瞬間です!):
8. **コードをGitHubに送る**(いよいよ大事な瞬間!):
```bash
git push -u origin main
```
**🚀 これでコードをGitHubにアップロードします**
**🚀 これでコードをGitHubにアップロードします**
**何が起きているのか:**
- コミットがコンピュータからGitHubに移動しています
- `-u`フラグは永続的な接続を設定し、次回以降のプッシュが簡単になります
- "main"は主要なブランチの名前です (メインフォルダのようなもの)
- これ以降、次回のアップロードでは単に`git push`と入力するだけでOKです
**何が起きているか:**
- コミットがコンピュータからGitHubへ移動しています
- `-u`フラグは永続的な接続を設定し、次回以降のプッシュが簡単になります
- "main"は主要なブランチの名前です(メインフォルダのようなもの)
- これ以降、次回のアップロードでは`git push`だけで済みます!
💡 **注意**: ブランチ名が「master」など別の名前の場合、その名前を使用してください。`git branch --show-current`で確認できます。
💡 **注意**: ブランチ名が"master"など別の名前の場合、その名前を使用してください。`git branch --show-current`で確認できます。
9. **新しい日常のコーディングリズム** (これがクセになります!):
9. **新しい日常のコーディングリズム**(これがクセになります!):
これからはプロジェクトに変更を加えるたびに、この簡単な3ステップを繰り返します:
これからはプロジェクトに変更を加えるたびに、以下の簡単な3ステップを繰り返します:
```bash
git add .
git commit -m "describe what you changed"
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にコードが表示されたとき、どんな気持ちでしたか
- 最も混乱したステップはどれで、意外と簡単だったステップはどれでしたか?
- `git add`、`git commit`、`git push`の違いを自分の言葉で説明できますか?
**少し時間を取って祝福し、振り返りましょう:**
- 初めてGitHubにコードが表示されたとき、どんな気持ちでしたか
- どのステップが一番混乱し、どれが意外と簡単でしたか?
- `git add`、`git commit`、`git push`の違いを自分の言葉で説明できますか?
```mermaid
stateDiagram-v2
@ -346,41 +345,42 @@ stateDiagram-v2
Snapshot created
end note
```
> **覚えておいてください**: 経験豊富な開発者でもコマンドを正確に覚えていないことがあります。このワークフローを筋肉記憶にするには練習が必要です あなたは素晴らしい進歩をしています!
> **覚えておいてください**: 経験豊富な開発者でもコマンドを正確に覚えていないことがあります。このワークフローを筋肉記憶にするには練習が必要です あなたは素晴らしい進歩をしています!
#### モダンなGitワークフロー
#### モダンなGitワークフロー
以下のモダンなプラクティスを採用することを検討してください:
以下のモダンなプラクティスを採用することを検討してください:
- **Conventional Commits**: `feat:`、`fix:`、`docs:`などの標準化されたコミットメッセージ形式を使用します。[conventionalcommits.org](https://www.conventionalcommits.org/)で詳細を学べます
- **Atomic commits**: 各コミットを単一の論理的変更として表現します
- **頻繁なコミット**: 大きくて頻度の少ないコミットよりも、説明的なメッセージを伴う頻繁なコミットを行います
- **Conventional Commits**: `feat:`、`fix:`、`docs:`などの標準化されたコミットメッセージ形式を使用します。[conventionalcommits.org](https://www.conventionalcommits.org/)で詳細を学べます
- **Atomic commits**: 各コミットが単一の論理的変更を表すようにします
- **頻繁なコミット**: 大きなコミットではなく、頻繁に説明的なメッセージでコミットします
#### コミットメッセージ
#### コミットメッセージ
優れたGitコミットの件名は次の文を完成させます:
適用されると、このコミットは<件名をここに記入>
優れたGitコミットの件名は次の文を完成させます:
このコミットが適用されると、<件名をここに記入>
件名では命令形の現在形を使用します。"change"ではなく"changed"や"changes"ではありません。
件名と同様に、本文(オプション)でも命令形の現在形を使用します。本文には変更の動機を含め、これを以前の動作と対比させます。`どうやって`ではなく、`なぜ`を説明します。
件名では命令形の現在形を使用します。"変更する"ではなく"変更した"や"変更する予定"ではありません。件名と同様に、本文 (オプション) でも命令形の現在形を使用します。本文には変更の動機を含め、以前の動作との対比を示します。`どうやって`ではなく`なぜ`を説明します。
✅ GitHubを少し見て回りましょう。素晴らしいコミットメッセージを見つけられますか非常に簡素なものを見つけられますかコミットメッセージで伝えるべき最も重要で有用な情報は何だと思いますか
✅ GitHubを少し探索してみましょう。素晴らしいコミットメッセージを見つけられますか非常に簡素なものを見つけられますかコミットメッセージで最も重要で有用な情報は何だと思いますか
## 他の人と一緒に作業する(楽しい部分!)
## 他の人と一緒に作業する (楽しい部分!)
これからGitHubが本当に魔法のようになる部分に進みます🪄 自分のコードを管理するスキルを習得しましたが、今度は私が最も好きな部分 世界中の素晴らしい人々とコラボレーションすることに飛び込みます。
さあ、これからGitHubが本当に魔法のようになる部分に進みます🪄 自分のコードを管理するスキルを習得しましたが、今度は私が最も好きな部分 世界中の素晴らしい人々とコラボレーションすること に飛び込みます。
想像してみてください: 明日目を覚ますと、東京の誰かがあなたのコードを改善している。そしてベルリンの誰かがあなたが悩んでいたバグを修正してくれる。午後にはサンパウロの開発者があなたが思いつかなかった機能を追加してくれる。それはSFではありません それはGitHubの世界では普通の火曜日です
想像してみてください: 明日目を覚ますと、東京の誰かがあなたのコードを改善してくれている。そしてベルリンの誰かがあなたが悩んでいたバグを修正してくれる。午後にはサンパウロの開発者があなたが思いつかなかった機能を追加してくれる。それはSFではありません それがGitHubの世界では普通の火曜日です
私が本当に興奮するのは、これから学ぶコラボレーションスキルが、Google、Microsoft、そしてあなたが好きなスタートアップのチームが毎日使っているまさに同じワークフローだということです。単なる便利なツールを学ぶのではなく、ソフトウェアの世界全体が協力するための秘密の言語を学んでいるのです。
私が本当に興奮するのは、これから学ぶコラボレーションスキルが、Google、Microsoft、そしてあなたが好きなスタートアップのチームが毎日使っているまさにそのワークフローだということです。単なる便利なツールを学ぶだけでなく、ソフトウェアの世界全体が協力するための秘密の言語を学んでいるのです。
本当に、初めてプルリクエストがマージされる瞬間の興奮を経験すれば、なぜ開発者がオープンソースに情熱を注ぐのかが理解できるでしょう。それは世界最大で最もクリエイティブなチームプロジェクトの一員になるようなものです!
本当に、初めてプルリクエストがマージされる感覚を経験すると、なぜ開発者がオープンソースに情熱を持つのかが理解できるでしょう。それは世界最大で最もクリエイティブなチームプロジェクトの一員になるようなものです!
> 動画をチェック
>
> [![GitとGitHubの基本動画](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
> 動画をチェック
>
> [![GitとGitHubの基本動画](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
GitHubにコードを置く主な理由は、他の開発者とコラボレーションを可能にすることでした。
GitHubにコードを置く主な理由は、他の開発者とコラボレーションを可能にすることでした。
```mermaid
flowchart LR
@ -401,120 +401,121 @@ flowchart LR
style J fill:#e8f5e8
style L fill:#fff3e0
```
リポジトリで`Insights > Community`に移動して、プロジェクトが推奨されるコミュニティ標準とどのように比較されるかを確認してください。
リポジトリで`Insights > Community`に移動して、プロジェクトが推奨されるコミュニティ標準とどのように比較されるかを確認してください。
リポジトリをプロフェッショナルで歓迎的なものにしたいですか?リポジトリに移動して`Insights > Community`をクリックしてください。この素晴らしい機能は、GitHubコミュニティが「良いリポジトリのプラクティス」と考えるものとプロジェクトがどのように比較されるかを示します。
リポジトリをプロフェッショナルで歓迎的に見せたいですか?リポジトリに移動して`Insights > Community`をクリックしてください。この便利な機能は、GitHubコミュニティが「良いリポジトリのプラクティス」と考えるものとプロジェクトを比較してくれます。
> 🎯 **プロジェクトを輝かせる**: 良く整理されたリポジトリと良いドキュメントは、清潔で歓迎的な店舗を持つようなものです。それはあなたが自分の仕事を大切にしていることを示し、他の人が貢献したいと思わせます!
> 🎯 **プロジェクトを輝かせる**: 良く整理されたリポジトリと良いドキュメントは、清潔で歓迎的な店舗を持つようなものです。それはあなたが自分の仕事を大切にしていることを示し、他の人が貢献したいと思わせます!
**素晴らしいリポジトリを作るための要素:**
**素晴らしいリポジトリを作るための要素:**
| 追加するもの | なぜ重要か | あなたにとって何をするか |
| 追加するもの | なぜ重要か | あなたにとってのメリット |
|-------------|-------------------|---------------------|
| **説明** | 第一印象が重要! | プロジェクトが何をするかをすぐに理解できます |
| **説明** | 第一印象が重要! | プロジェクトが何をするかをすぐに理解でき |
| **README** | プロジェクトの表紙 | 新しい訪問者にとっての親切なガイド |
| **貢献ガイドライン** | 助けを歓迎していることを示す | 人々がどのように助けることができるかを正確に理解できます |
| **行動規範** | 友好的な空間を作る | 誰もが参加しやすいと感じます |
| **ライセンス** | 法的な明確さ | 他の人がコードをどのように使用できるかを理解します |
| **セキュリティポリシー** | 責任感を示す | プロフェッショナルなプラクティスを示します |
| **貢献ガイドライン** | 助けを歓迎していることを示す | 人々がどのように助けられるかを正確に理解できる |
| **行動規範** | 友好的な空間を作る | 誰もが参加しやすいと感じ |
| **ライセンス** | 法的な明確さ | 他の人がコードをどのように使用できるかを理解できる |
| **セキュリティポリシー** | 責任感を示す | プロフェッショナルなプラクティスを示す |
> 💡 **プロのヒント**: GitHubはこれらのファイルのテンプレートを提供しています。新しいリポジトリを作成するときに、これらのファイルを自動生成するチェックボックスを確認してください。
> 💡 **プロのヒント**: GitHubはこれらのファイルのテンプレートを提供しています。新しいリポジトリを作成するに、これらのファイルを自動生成するチェックボックスを確認してください。
**モダンなGitHub機能を探索する:**
**モダンなGitHub機能を探索する:**
🤖 **自動化 & CI/CD:**
- **GitHub Actions**で自動テストとデプロイを実現
- **Dependabot**で依存関係を自動更新
🤖 **自動化 & CI/CD:**
- **GitHub Actions**で自動テストとデプロイ
- **Dependabot**で依存関係の自動更新
💬 **コミュニティ & プロジェクト管理:**
- **GitHub Discussions**で問題以外のコミュニティ会話を実現
- **GitHub Projects**でカンバンスタイルのプロジェクト管理
- **ブランチ保護ルール**でコード品質基準を強制
💬 **コミュニティ & プロジェクト管理:**
- **GitHub Discussions**で問題以外のコミュニティ会話
- **GitHub Projects**でカンバンスタイルのプロジェクト管理
- **ブランチ保護ルール**でコード品質基準を強制
これらのリソースは新しいチームメンバーのオンボーディングに役立ちます。そして、これらは通常、新しい貢献者がコードを見る前にプロジェクトが自分の時間を費やす価値があるかどうかを判断するために見るものです。
これらのリソースは新しいチームメンバーのオンボーディングに役立ちます。そして、これらは通常、新しい貢献者がコードを見る前にプロジェクトが自分の時間を費やす価値があるかどうかを判断するために見るものです。
✅ READMEファイルは準備に時間がかかるものの、忙しいメンテナーによってしばしば無視されます。特に説明的なREADMEの例を見つけられますか注: [良いREADMEを作成するためのツール](https://www.makeareadme.com/)も試してみると良いかもしれません。
✅ READMEファイルは準備に時間がかかるものの、忙しいメンテナーによってしばしば無視されます。特に説明的なREADMEの例を見つけられますか注: [良いREADMEを作成するためのツール](https://www.makeareadme.com/)もありますので試してみてください。
### タスク: コードをマージする
### タスク: コードをマージする
貢献ドキュメントは人々がプロジェクトに貢献するのを助けます。どのような種類の貢献を求めているか、そしてプロセスがどのように機能するかを説明します。貢献者はGitHubリポジトリに貢献するために一連のステップを経る必要があります:
貢献ドキュメントは人々がプロジェクトに貢献するのを助けます。それはどのような貢献を求めているか、そしてプロセスがどのように機能するかを説明します。貢献者はGitHubリポジトリに貢献するために一連のステップを経る必要があります:
1. **リポジトリをフォークする**。人々にプロジェクトをフォークするように求めることが一般的です。フォークとは、GitHubプロファイル上でリポジトリのレプリカを作成することを意味します。
1. **クローン**そこからプロジェクトをローカルマシンにクローンします。
1. **ブランチを作成する**。作業用のブランチを作成するように求めます。
1. **変更を1つの領域に集中させる**。貢献者に1度に1つのことに集中するよう求めます。そうすることで、彼らの作業をマージする可能性が高くなります。例えば、バグ修正、新機能の追加、いくつかのテストの更新を行った場合、3つのうち2つまたは1つしか実装できない場合を想像してください。
1. **リポジトリをフォークする**: 貢献者にプロジェクトをフォークするよう求めることが一般的です。フォークとは、リポジトリの複製を自分のGitHubプロフィールに作成することを意味します。
1. **クローン**: そこからプロジェクトをローカルマシンにクローンします。
1. **ブランチを作成する**: 貢献者に作業用のブランチを作成するよう求めます。
1. **変更を1つの領域に集中させる**: 貢献者に1度に1つのことに集中して貢献するよう求めます。そうすることで、作業をマージする可能性が高くなります。例えば、バグ修正、新機能の追加、いくつかのテストの更新を行った場合、3つのうち2つまたは1つしか実装できない場合を想像してください。
✅ ブランチが特に重要になる状況を想像してみてください。どのようなユースケースが思い浮かびますか?
✅ ブランチが特に重要になるコードの作成と出荷の状況を想像してみてください。どのようなユースケースが思い浮かびますか?
> 注: あなたが世界で見たい変化になり、自分の作業にもブランチを作成してください。行ったコミットは現在「チェックアウト」しているブランチに作成されます。`git status`を使用して、どのブランチかを確認してください。
> 注: 世界を変えたいなら、自分の作業にもブランチを作成してください。行ったコミットは現在「チェックアウト」しているブランチに行われます。`git status`を使用してそのブランチを確認してください。
貢献者のワークフローを見てみましょう。貢献者がすでにリポジトリをフォークし、クローンしていると仮定します。つまり、ローカルマシンで作業可能なGitリポジトリが準備されています:
貢献者のワークフローを見てみましょう。貢献者がすでにリポジトリをフォークし、クローンしていると仮定します。これでローカルマシンで作業可能なGitリポジトリが準備されています:
1. **ブランチを作成する**。`git branch`コマンドを使用して、貢献する変更を含むブランチを作成します:
1. **ブランチを作成する**: `git branch`コマンドを使用して、貢献する変更を含むブランチを作成します:
```bash
git branch [branch-name]
```
> 💡 **モダンなアプローチ**: 1つのコマンドで新しいブランチを作成して切り替えることもできます:
> 💡 **モダンなアプローチ**: 新しいブランチを作成して切り替えるのを1つのコマンドで行うこともできます:
```bash
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`を検討してください:
💡 **モダンな代替手段**: よりクリーンな履歴のために`git rebase`を検討してください:
```bash
git rebase main
```
これにより、最新の`main`ブランチの上にコミットを再生し、線形履歴を作成します。
これにより、最新の`main`ブランチの上にコミットを再生し、線形の履歴を作成します。
1. **作業をGitHubに送る**。作業をGitHubに送るということは、ブランチをリポジトリにプッシュし、プルリクエスト (PR) を開くことを意味します。
1. **作業をGitHubに送る**: 作業をGitHubに送ることは2つのことを意味します。ブランチをリポジトリにプッシュし、その後PRプルリクエストを開くことです。
```bash
git push --set-upstream origin [branch-name]
```
上記のコマンドはフォークしたリポジトリにブランチを作成します。
上記のコマンドはフォークされたリポジトリにブランチを作成します。
### 🤝 **コラボレーションスキルチェック: 他の人と作業する準備はできていますか?**
### 🤝 **コラボレーションスキルチェック: 他の人と作業する準備はできていますか?**
**コラボレーションについての感覚を確認しましょう:**
- フォークとプルリクエストのアイデアは今理解できますか?
- ブランチ作業についてもっと練習したいことは何ですか?
- 他の人のプロジェクトに貢献することにどれくらい自信がありますか?
**コラボレーションについての感触を確認しましょう:**
- フォークとプルリクエストの概念は理解できましたか?
- ブランチを使った作業で練習したいことは何ですか?
- 他の人のプロジェクトに貢献することにどれくらい自信がありますか?
```mermaid
mindmap
@ -532,18 +533,12 @@ mindmap
Small focused changes
Good documentation
```
> **自信を持ってください**: あなたが尊敬するすべての開発者は、最初のプルリクエストに緊張していたことがあります。GitHubコミュニティは初心者に非常に歓迎的です
> **自信を持ってください**: あなたが尊敬するすべての開発者は、最初のプルリクエストに緊張していたことがあります。GitHubコミュニティは新人に非常に歓迎的です
1. **PRを開く**。次に、PRを開きます。フォークされたリポジトリに移動します。GitHubで新しいPRを作成するかどうかを尋ねる表示があり、それをクリックすると、コミットメッセージのタイトルを変更したり、より適切な説明を追加したりできるインターフェースに移動します。これでフォークしたリポジトリのメンテナーがこのPRを確認し、_うまくいけば_感謝してPRを_マージ_してくれるでしょう。これであなたは貢献者です、やったね :)
💡 **モダンなヒント**: GitHub CLIを使用してPRを作成することもできます:
```bash
gh pr create --title "Your PR title" --body "Description of changes"
```
1. **PRを開く**: 次にPRを開きます。フォークしたリポジトリにGitHubで移動します。GitHubで新しいPRを作成するかどうかを尋ねる表示があり、それをクリックすると、コミットメッセージのタイトルを変更したり、より適切な説明を追加したりできるインターフェースに移動します。これでフォークしたリポジトリのメンテナーがこのPRを確認し、_うまくいけば_感謝してPRをマージしてくれるでしょう。これであなたは貢献者です、やったね :)
🔧 **PRのベストプラクティス**:
- "Fixes #123"のようなキーワードを使用して関連する問題にリンクする
💡 **モダンなヒント**: GitHub CLIを使用してPRを作成する
1. **クリーンアップ**。PRを正常にマージした後にクリーンアップすることは良い習慣とされています。ローカルブランチとGitHubにプッシュしたブランチの両方をクリーンアップしたいですね。まず、以下のコマンドでローカルブランチを削除しましょう
```bash
@ -554,9 +549,9 @@ mindmap
`Pull request`という言葉は少し変に感じるかもしれません。実際にはプロジェクトに変更をプッシュしたいわけですが、メンテナープロジェクトの所有者やコアチームがその変更をプロジェクトの「main」ブランチにマージする前に検討する必要があります。つまり、メンテナーに変更の決定をリクエストしているわけです。
プルリクエストは、レビュー、コメント、統合テストなどを通じてブランチに導入された差分を比較議論する場です。良いプルリクエストはコミットメッセージとほぼ同じルールに従います。例えば、作業が問題を解決する場合、問題トラッカーの問題への参照を追加することができます。これは`#`の後に問題番号を付けることで行います。例:`#97`
プルリクエストは、レビュー、コメント、統合テストなどを通じてブランチに導入された差分を比較議論する場です。良いプルリクエストはコミットメッセージとほぼ同じルールに従います。例えば、作業が問題を解決する場合、問題トラッカーの問題への参照を追加できます。これは`#`の後に問題番号を付けることで行います。例:`#97`
🤞すべてのチェックが通り、プロジェクトの所有者があなたの変更をプロジェクトにマージしてくれることを祈りましょう🤞
🤞すべてのチェックが通り、プロジェクトの所有者が変更をプロジェクトにマージしてくれることを祈りましょう🤞
現在のローカル作業ブランチをGitHub上の対応するリモートブランチの新しいコミットで更新しましょう
@ -564,13 +559,13 @@ mindmap
## オープンソースへの貢献(あなたの影響を与えるチャンス!)
何か信じられないようなことをお話しする準備はできていますか?🤯 オープンソースプロジェクトへの貢献について話しましょう。これを共有することを考えるだけで鳥肌が立ちます!
何か本当に驚くべきことを話す準備はできていますか?🤯 オープンソースプロジェクトへの貢献について話しましょう。これを共有することを考えるだけで鳥肌が立ちます!
これは本当に特別な何かの一部になるチャンスです。毎日何百万人もの開発者が使うツールを改善したり、友達が愛用するアプリのバグを修正したりすることを想像してください。それは夢ではありません。これがオープンソースへの貢献のすべてです!
これは本当に特別な何かの一部になるチャンスです。毎日何百万人もの開発者が使うツールを改善したり、友達が愛用するアプリのバグを修正したりすることを想像してください。それはただの夢ではありません。それがオープンソースへの貢献のすべてです!
これを考えるたびにいつも感動するのは、あなたが学んでいるすべてのツール—コードエディタ、これから探求するフレームワーク、さらにはこれを読んでいるブラウザ—が、まさにあなたのような人が最初の貢献をしたことから始まったということです。あなたの好きなVS Code拡張機能を作ったあの素晴らしい開発者も、かつては震える手で「プルリクエストを作成」をクリックしていた初心者でした。まさに今、あなたがしようとしていることです。
これを考えるたびにゾクゾクする理由はこれです:あなたが学んでいるすべてのツール—コードエディタ、これから探求するフレームワーク、さらにはこれを読んでいるブラウザ—は、最初の貢献をした誰かから始まりました。あなたのお気に入りのVS Code拡張機能を作ったあの素晴らしい開発者も、かつては震える手で「プルリクエストを作成」をクリックしていた初心者でした。そして、あなたもまさにその一歩を踏み出そうとしているのです。
そして、これが最も美しい部分です。オープンソースコミュニティはインターネット最大のグループハグのようなものです。ほとんどのプロジェクトは新しい参加者を積極的に探しており、「good first issue」とタグ付けされた問題を持っています。これはまさにあなたのような人のためのものですメンテナーは新しい貢献者を見ると本当に興奮します。なぜなら、彼ら自身の最初の一歩を覚えているからです。
そして最も美しい部分はこれです:オープンソースコミュニティはインターネット最大のグループハグのようなものです。ほとんどのプロジェクトは新を積極的に探しており、「good first issue」とタグ付けされた問題を持っています。これはまさにあなたのような人のためのものですメンテナーは新しい貢献者を見ると本当に興奮します。なぜなら彼ら自身の最初の一歩を思い出すからです。
```mermaid
flowchart TD
@ -592,17 +587,17 @@ flowchart TD
style M fill:#fff59d
```
ここで学んでいるのは単なるコーディングではありません。デジタルの世界を少しでも良くする方法を毎日考えるグローバルなビルダーの家族に参加する準備をしているのです。クラブへようこそ!🌟
ここで学んでいるのはただコードを書くことではありません。デジタル世界を少しでも良くする方法を毎日考えるグローバルなビルダーの家族に参加する準備をしているのです。クラブへようこそ!🌟
まず、GitHubで興味のあるリポジトリ**repo**)を見つけて、変更を加えたいと思うものを選びましょう。その内容を自分のマシンにコピーする必要があります
まず、GitHubで興味のあるリポジトリ**repo**)を見つけて、変更を加えたいと思うものを選びましょう。その内容を自分のマシンにコピーしたいですね
✅ '初心者向け'のリポジトリを見つける良い方法は、[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/)です。
![リポジトリをローカルにコピー](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.ja.png)
コードをコピーする方法はいくつかあります。一つの方法は、リポジトリの内容をHTTPS、SSH、またはGitHub CLIコマンドラインインターフェースを使用して「クローン」することです。
コードをコピーする方法はいくつかあります。一つの方法は、HTTPS、SSH、またはGitHub CLIコマンドラインインターフェースを使用してリポジトリの内容を「クローン」することです。
ターミナルを開いて以下のようにリポジトリをクローンします:
ターミナルを開いて以下のようにリポジトリをクローンします:
```bash
# Using HTTPS
git clone https://github.com/ProjectURL
@ -625,20 +620,20 @@ gh repo clone username/repository
最後に、コードを圧縮フォルダとしてダウンロードすることもできます。
### GitHubに関するいくつかの興味深いこと
### GitHubについてのいくつかの興味深いこと
GitHub上の任意の公開リポジトリをスターを付けたり、ウォッチしたり、フォークしたりすることができます。スターを付けたリポジトリは右上のドロップダウンメニューで見つけることができます。これはコードのブックマークのようなものです。
GitHub上の任意の公開リポジトリをスター、ウォッチ、または「フォーク」することができます。スターを付けたリポジトリは右上のドロップダウンメニューで見つけることができます。これはコードのブックマークのようなものです。
プロジェクトには通常、GitHubの「Issues」タブに問題トラッカーがあり、プロジェクトに関連する問題について議論されています。プルリクエストタブでは、進行中の変更について議論やレビューが行われます。
プロジェクトには問題トラッカーがあり、ほとんどの場合GitHubの「Issues」タブにあります特に他に示されていない場合。ここでプロジェクトに関連する問題について議論します。また、Pull Requestsタブでは進行中の変更について議論しレビューします。
プロジェクトにはフォーラム、メーリングリスト、Slack、Discord、IRCなどのチャットチャンネルで議論が行われることもあります。
🔧 **GitHubの最新機能**:
- **GitHub Discussions** - コミュニティ会話のための組み込みフォーラム
- **GitHub Sponsors** - メンテナーを経済的に支援
- **Securityタブ** - 脆弱性レポートとセキュリティアドバイザリ
- **Actionsタブ** - 自動化ワークフローとCI/CDパイプラインを確認
- **Insightsタブ** - コントリビューター、コミット、プロジェクトの健全性に関する分析
🔧 **モダンなGitHub機能**:
- **GitHub Discussions** - コミュニティ会話のための組み込みフォーラム
- **GitHub Sponsors** - メンテナーを金銭的に支援する
- **Securityタブ** - 脆弱性レポートとセキュリティ勧告
- **Actionsタブ** - 自動化ワークフローとCI/CDパイプラインを見る
- **Insightsタブ** - コントリビューター、コミット、プロジェクトの健康状態に関する分析
- **Projectsタブ** - GitHubの組み込みプロジェクト管理ツール
✅ 新しいGitHubリポジトリを見て、設定を編集したり、情報を追加したり、プロジェクト例えばカンバンボードを作成したり、GitHub Actionsを設定して自動化を試してみてください。できることはたくさんあります
@ -647,24 +642,24 @@ GitHub上の任意の公開リポジトリをスターを付けたり、ウォ
## 🚀 チャレンジ
さて、あなたの新しいGitHubスーパーパワーを試す時が来ました🚀 これを実行すると、すべてが最も満足のいく形で理解できるようになります:
さて、あなたの新しいGitHubスーパーパワーを試す時が来ました🚀 これを実行すると、すべてが最も満足のいく方法でクリックするようになります:
友達(またはいつも「そのコンピュータのことは何してるの?」と聞いてくる家族)を誘って、一緒にコラボレーションコーディングの冒険に出かけましょう!ここが本当の魔法が起こる場所です。プロジェクトを作成し、彼らにフォークさせ、ブランチを作成し、プロのように変更をマージしてください
友達(または「このコンピュータのこと何してるの?」といつも聞いてくる家族)を捕まえて、一緒にコラボレーションコーディングの冒険に出かけましょう!ここが本当の魔法が起こる場所です。プロジェクトを作成し、彼らにフォークさせ、ブランチを作成し、プロのように変更をマージしましょう
正直に言うと、笑う瞬間があるかもしれません(特に同じ行を変更しようとしたとき)、混乱して頭をかきむしるかもしれませんが、すべての学びが価値あるものになる素晴らしい「なるほど!」の瞬間を必ず経験するでしょう。そして、誰かと最初の成功したマージを共有することには特別な何かがあります。それは、どれだけ成長したかを祝う小さな瞬間のようです!
正直に言うと、笑う瞬間があるかもしれません(特に同じ行を変更しようとしたとき)、混乱して頭をかかもしれませんが、すべての学びが価値あるものになる素晴らしい「なるほど!」の瞬間を確実に得られるでしょう。さらに、誰かと最初の成功したマージを共有することには特別な何かがあります。それは、どれだけ進歩したかを祝う小さな瞬間のようなものです!
まだコーディング仲間がいない全く問題ありませんGitHubコミュニティには、初心者だった頃を覚えている非常に歓迎的な人々がたくさんいます。「good first issue」ラベルの付いたリポジトリを探してみてください。それは基本的に「初心者の皆さん、一緒に学びましょう」と言っているようなものです。素晴らしいですね
まだコーディング仲間がいない全く問題ありませんGitHubコミュニティには新しい人を歓迎する素晴らしい人々がたくさんいます。「good first issue」ラベルの付いたリポジトリを探してみてください。それは基本的に「初心者の皆さん、一緒に学びましょう」と言っているようなものです。素晴らしいですね
## 講義後のクイズ
[講義後のクイズ](https://ff-quizzes.netlify.app/web/en/)
## 復習と学び続ける
やったね!🎉 GitHubの基本を完全にマスターしましたもし今、頭が少しいっぱいになっていると感じたら、それは完全に正常で、実際には良い兆候です。これらのツールを習得するのに何週間もかかった私が最初に学んだことを、あなたは今学びました
ふぅ!🎉 見てください GitHubの基本を絶対的なチャンピオンのように征服しましたもし今頭が少しいっぱいになっていると感じたら、それは完全に正常で、正直に言うと良い兆候です。これは私が始めたときに慣れるのに数週間かかったツールを学んだばかりということです
GitとGitHubは非常に強力です本当に強力です私が知っているすべての開発者—今では魔法使いのように見える人たちも含めて—は、すべてが理解できるようになるまで練習し、試行錯誤を繰り返しました。このレッスンを終えたということは、開発者のツールキットの中で最も重要なツールを習得する道をすでに歩み始めているということです。
GitとGitHubは非常に強力です本当に強力です、そして私が知っているすべての開発者—今では魔法使いのように見える人たちも含めて—は、それがすべてクリックするまで練習し、つまずきながら学びました。このレッスンを終えたという事実は、開発者のツールキットで最も重要なツールを習得する道をすでに歩んでいることを意味します。
以下は、練習してさらに素晴らしくなるための絶対に素晴らしいリソースす:
練習してさらに素晴らしくなるための絶対に素晴らしいリソースをいくつか紹介します:
- [オープンソースソフトウェアへの貢献ガイド](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) 影響を与えるためのロードマップ
- [Gitチートシート](https://training.github.com/downloads/github-git-cheat-sheet/) クイックリファレンス用にこれを手元に置いておきましょう!
@ -676,19 +671,19 @@ GitとGitHubは非常に強力です本当に強力です。私が知っ
- [GitHub Pages](https://github.com/skills/github-pages)
- [マージコンフリクトの管理](https://github.com/skills/resolve-merge-conflicts)
**冒険心がある方はこちらをチェックしてください:**
- [GitHub CLIドキュメント](https://cli.github.com/manual/) コマンドラインの魔法使いのように感じたいときに
**冒険心があるなら、これらのモダンツールをチェックしてください:**
- [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) ワークフローをレベルアップ
## GitHub Copilot Agentチャレンジ 🚀
## GitHub Copilotエージェントチャレンジ 🚀
Agentモードを使用して以下のチャレンジを完了してください:
エージェントモードを使用して以下のチャレンジを完了してください:
**説明:** このレッスンで学んだGitHubワークフローを完全に示すコラボレーションウェブ開発プロジェクトを作成してください。このチャレンジは、リポジトリ作成、コラボレーション機能、モダンGitワークフローを実際のシナリオで練習するのに役立ちます。
**説明:** このレッスンで学んだGitHubワークフローを完全に示すコラボレーションウェブ開発プロジェクトを作成してください。このチャレンジは、リポジトリ作成、コラボレーション機能、モダンGitワークフローを実際のシナリオで練習するのに役立ちます。
**プロンプト:** シンプルな「Web Development Resources」プロジェクトのための新しい公開GitHubリポジトリを作成してください。リポジトリには、カテゴリHTML、CSS、JavaScriptなどごとに整理された便利なウェブ開発ツールとリソースをリストした構造化されたREADME.mdファイルを含めてください。ライセンス、貢献ガイドライン、行動規範を含む適切なコミュニティ標準でリポジトリを設定してください。CSSリソースを追加するための1つの機能ブランチとJavaScriptリソースを追加するためのもう1つの機能ブランチを作成してください。各ブランチに説明的なコミットメッセージを付けてコミットを行い、変更をmainにマージするためのプルリクエストを作成してください。Issues、DiscussionsなどのGitHub機能を有効にし、基本的なGitHub Actionsワークフローを設定して自動チェックを行ってください。
**プロンプト:** シンプルな「Web開発リソース」プロジェクトのための新しい公開GitHubリポジトリを作成してください。リポジトリには、カテゴリHTML、CSS、JavaScriptなどごとに整理された便利なウェブ開発ツールとリソースをリストした構造化されたREADME.mdファイルを含めてください。ライセンス、貢献ガイドライン、行動規範を含む適切なコミュニティ標準でリポジトリを設定してください。CSSリソースを追加するためのブランチとJavaScriptリソースを追加するためのブランチを少なくとも2つ作成してください。それぞれのブランチに説明的なコミットメッセージを付けてコミットを行い、変更をmainにマージするためのプルリクエストを作成してください。Issues、DiscussionsなどのGitHub機能を有効にし、基本的なGitHub Actionsワークフローを設定して自動チェックを行いましょう
## 課題
@ -696,7 +691,7 @@ Agentモードを使用して以下のチャレンジを完了してください
**さらに挑戦する準備ができていますか?**
- GitHubアカウントのSSH認証を設定するもうパスワードは不要
- GitHub CLIを使って日常のGit操作を試す
- 日常のGit操作にGitHub CLIを試してみる
- GitHub Actionsワークフローを持つリポジトリを作成する
- このリポジトリをクラウドベースのエディタで開いてGitHub Codespacesを探索する
@ -704,16 +699,16 @@ Agentモードを使用して以下のチャレンジを完了してください
## 🚀 GitHubマスタリータイムライン
### ⚡ **次の5分でできること**
### ⚡ **次の5分でできること**
- [ ] このリポジトリと興味のある他の3つのプロジェクトにスターを付ける
- [ ] GitHubアカウント二要素認証を設定する
- [ ] GitHubアカウント二要素認証を設定する
- [ ] 最初のリポジトリにシンプルなREADMEを作成する
- [ ] あなたにインスピレーションを与える5人の開発者をフォローする
- [ ] あなたがインスパイアされる開発者5人をフォローする
### 🎯 **この1時間で達成できること**
- [ ] 講義後のクイズを完了し、GitHubの旅を振り返る
- [ ] SSHキーを設定してパスワード不要のGitHub認証を行う
- [ ] 素晴らしいコミットメッセージを付けた最初の意味のあるコミットを作成する
- [ ] SSHキーを設定してパスワードなしでGitHub認証を行う
- [ ] 素晴らしいコミットメッセージ最初の意味のあるコミットを作成する
- [ ] GitHubの「Explore」タブを探索してトレンドプロジェクトを発見する
- [ ] リポジトリをフォークして小さな変更を加える練習をする
@ -725,19 +720,19 @@ Agentモードを使用して以下のチャレンジを完了してください
- [ ] 適切なコミュニティ標準README、ライセンスなどを備えたリポジトリを作成する
- [ ] クラウドベースの開発のためにGitHub Codespacesを試す
### 🌟 **1月間の変革**
### 🌟 **1月間の変革**
- [ ] 3つの異なるオープンソースプロジェクトに貢献する
- [ ] GitHub初心者を指導する(恩返しをしよう
- [ ] GitHub Actionsを使って自動化ワークフローを設定する
- [ ] GitHubの新しいユーザーをメンターする(恩返し
- [ ] GitHub Actions自動化ワークフローを設定する
- [ ] GitHubの貢献を紹介するポートフォリオを作成する
- [ ] Hacktoberfestや同様のコミュニティイベントに参加する
- [ ] 他の人が貢献する自分のプロジェクトのメンテナーになる
### 🎓 **最終的なGitHubマスタリーチェックイン**
### 🎓 **最終GitHubマスタリーチェックイン**
**これまでの成果を祝おう:**
- GitHubを使うことについて、あなたが一番好きなことは何ですか?
- どのコラボレーション機能が一番ワクワクしますか?
**これまでの進歩を祝う:**
- GitHubを使うことについてお気に入りのことは何ですか?
- 最も興奮するコラボレーション機能は何ですか?
- オープンソースに貢献することについてどれくらい自信がありますか?
- 最初に貢献したいプロジェクトは何ですか?
@ -758,9 +753,11 @@ journey
Inspiring Others: 5: You
```
> 🌍 **グローバルな開発者コミュニティへようこそ!** あなたは今、世界中の何百万もの開発者と協力するためのツールを手に入れました。最初の
> 🌍 **グローバルな開発者コミュニティへようこそ!** あなたは今、世界中の何百万もの開発者とコラボレーションするためのツールを手に入れました。最初の
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**免責事項**:
この文書はAI翻訳サービス[Co-op Translator](https://github.com/Azure/co-op-translator)を使用して翻訳されています。正確性を追求していますが、自動翻訳には誤りや不正確さが含まれる可能性があります。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤解について、当社は責任を負いません。
この文書はAI翻訳サービス[Co-op Translator](https://github.com/Azure/co-op-translator)を使用して翻訳されています。正確性を追求しておりますが、自動翻訳には誤りや不正確な部分が含まれる可能性があります。元の言語で記載された文書が正式な情報源とみなされるべきです。重要な情報については、専門の人間による翻訳を推奨します。この翻訳の使用に起因する誤解や誤認について、当社は責任を負いません。
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,19 +1,19 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0fe3ff66299b447f1c8cb34dcbf0c5ef",
"translation_date": "2025-11-06T12:06:34+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-18T18:42:39+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "ms"
}
-->
# Pengenalan kepada GitHub
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.
**Persediaan Pengesahan Moden:**
@ -120,11 +120,11 @@ git remote set-url origin git@github.com:username/repository.git
## Menguruskan Kod Anda Seperti Pro
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 <baris subjek anda di sini>
Jika diterapkan, komit ini akan <baris subjek anda di sini>
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 |
|--------------------------|--------------------|--------------------------------|
| Apa yang 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:
```bash
gh pr create --title "Your PR title" --body "Description of changes"
```
@ -561,9 +562,9 @@ mindmap
git branch -d [branch-name]
```
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
- [Mengurus konflik gabungan](https://github.com/skills/resolve-merge-conflicts)
**Rasa berani? Lihat alat moden ini:**
- [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.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,23 +1,23 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0fe3ff66299b447f1c8cb34dcbf0c5ef",
"translation_date": "2025-11-06T14:21:42+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-18T19:05:45+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "my"
}
-->
# GitHub ကိုမိတ်ဆက်ခြင်း
# GitHub အကြောင်းမိတ်ဆက်
ယ်လို၊ အနာဂတ် Developer! 👋 ကမ္ဘာတစ်ဝှမ်းရှိ coder သန်းပေါင်းများစွာနှင့် ပူးပေါင်းလုပ်ဆောင်ရန် အသင့်ဖြစ်ပြီလား? GitHub ကိုမိတ်ဆက်ပေးဖို့ အရမ်းလှုပ်ရှားနေပါတယ် ဒါကို programmer တွေအတွက် social media platform လို့ထင်ပါ။ Lunch ရဲ့ဓာတ်ပုံတွေမျှဝေတဲ့အစား၊ ကျွန်တော်တို့ code တွေကိုမျှဝေပြီး အံ့မခန်းအရာတွေကိုအတူတူတည်ဆောက်နေပါတယ်!
ေး၊ အနာဂတ် Developer! 👋 ကမ္ဘာတစ်ဝှမ်းရှိ coder သန်းပေါင်းများစွာနဲ့ ပူးပေါင်းဖို့ အဆင်သင့်ဖြစ်ပြီလား? GitHub ကို မိတ်ဆက်ပေးဖို့ တကယ်ပဲ စိတ်လှုပ်ရှားနေပါတယ် ဒါကို programmer တွေအတွက် social media platform လို့ ထင်ပါ။ ဒါပေမယ့် lunch ရဲ့ ဓာတ်ပုံတွေ မျှဝေတဲ့အစား code တွေကို မျှဝေပြီး အံ့ဖွယ်ရာတွေကို အတူတူ တည်ဆောက်နေကြတာပါ!
ံ့မခန်းဖြစ်စေတဲ့အရာကတော့ သင့်ဖုန်းထဲမှာရှိတဲ့ app တစ်ခုစီ၊ သင်သွားလည်တဲ့ website တစ်ခုစီ၊ သင်သုံးဖို့လေ့လာမယ့် tools များစွာကို GitHub ကဲ့သို့သော platform တွေပေါ်မှာ developer အဖွဲ့များပူးပေါင်းပြီးတည်ဆောက်ထားတာပါ။ သင်နှစ်သက်တဲ့ music app? သင်လို developer တစ်ယောက်က အထောက်အကူပြုထားတာပါ။ သင်မရပ်နိုင်တဲ့ game? ဟုတ်ပါတယ်၊ GitHub ပေါ်မှာပူးပေါင်းလုပ်ဆောင်ထားတာဖြစ်နိုင်ပါတယ်။ အခုတော့ သင်ဟာ ဒီအံ့မခန်း community ရဲ့အဖွဲ့ဝင်ဖြစ်ဖို့ လေ့လာသွားမှာပါ!
ဲဒါက တကယ်ကို အံ့ဩစရာပါပဲ သင့်ဖုန်းထဲက app တစ်ခုစီ၊ သင့်ရောက်သွားတဲ့ website တစ်ခုစီ၊ သင်သုံးဖို့ လေ့လာမယ့် tools များစွာဟာ GitHub လို platform တွေမှာ developer အဖွဲ့တွေ ပူးပေါင်းပြီး တည်ဆောက်ထားတာပါ။ သင်ချစ်တဲ့ music app? သင့်လိုသူတစ်ယောက်က အဲဒါကို ပံ့ပိုးပေးထားတာပါ။ သင်မရပ်နိုင်တဲ့ game? ဟုတ်ပါတယ်၊ GitHub ပေါ်မှာ ပူးပေါင်းပြီး တည်ဆောက်ထားတာပါ။ အခုတော့ သင်ဟာ အဲဒီအံ့ဖွယ်ကမ္ဘာကြီးရဲ့ အစိတ်အပိုင်းတစ်ခုဖြစ်လာဖို့ လေ့လာတော့မှာပါ!
ဒီအရာတွေကိုစတင်လေ့လာတဲ့အခါ အများကြီးဖြစ်နေသလိုခံစားရနိုင်ပါတယ် ကျွန်တော်လည်း ပထမဆုံး GitHub စာမျက်နှာကိုကြည့်ပြီး "ဒီအရာတွေကဘာကိုဆိုလိုတာလဲ?" လို့တွေးနေခဲ့တာကိုသိတယ်။ ဒါပေမယ့် အရေးကြီးတာက developer တစ်ယောက်စီဟာ သင်အခုရှိနေတဲ့နေရာမှာပဲ စတင်ခဲ့တာပါ။ ဒီသင်ခန်းစာအဆုံးမှာ သင်မှာ GitHub repository ကိုယ်ပိုင်တစ်ခု (cloud ပေါ်မှာ သင့် project ကိုပြသတဲ့နေရာ) ရှိလာပြီး သင့်အလုပ်ကိုသိမ်းဆည်းနည်း၊ အခြားသူများနှင့်မျှဝေနည်း၊ သန်းပေါင်းများစွာသောလူများအသုံးပြုနေတဲ့ project တွေကိုပါအထောက်အကူပြုနည်းကိုသိလာပါမယ်။
ဒီအရာတွေ အစမှာ အတော်လေး များပြားနေသလို ခံစားရနိုင်ပါတယ် ဟုတ်ပါတယ်၊ ငါ့ရဲ့ ပထမဆုံး GitHub စာမျက်နှာကို ကြည့်ပြီး "ဒါတွေ ဘာကိုဆိုလိုတာလဲ?" လို့ စဉ်းစားနေတဲ့အချိန်ကို သတိရတယ်။ ဒါပေမယ့် အရေးကြီးတာက developer တစ်ယောက်စီဟာ အတိအကျ သင့်ရဲ့ အခုအနေအထားမှာ စတင်ခဲ့ကြတာပါ။ ဒီသင်ခန်းစာအဆုံးမှာတော့ သင့်ကိုယ်ပိုင် GitHub repository (cloud ပေါ်မှာ သင့်ရဲ့ ကိုယ်ပိုင် project ပြသမှု) ရှိလာပြီး သင့်အလုပ်ကို သိမ်းဆည်းနည်း၊ အခြားသူတွေနဲ့ မျှဝေနည်း၊ သန်းပေါင်းများစွာသုံးနေတဲ့ project တွေကို ပံ့ပိုးပေးနည်းကို သိလာပါလိမ့်မယ်။
ကျွန်တော်တို့ ဒီခရီးကိုအတူတူတစ်ဆင့်ချင်းဆင့်ယူသွားမှာပါ။ အလျင်မပြုပါနဲ့၊ ဖိအားမပေးပါနဲ့ သင်၊ ကျွန်တော်၊ နဲ့ သင့်အနာဂတ်အကောင်းဆုံး tools တွေကိုအတူတူလေ့လာသွားမှာပါ!
ဒီခရီးကို အတူတူ လျှောက်ကြမယ်၊ တစ်ဆင့်ချင်းစီနဲ့။ အလျင်မပြေးပါနဲ့၊ ဖိအားမပေးပါနဲ့ သင်၊ ငါနဲ့ သင့်ရဲ့ အကောင်းဆုံးသူငယ်ချင်းအသစ်ဖြစ်လာမယ့် အလွန်အမင်းအေးချမ်းတဲ့ tools တွေပါ!
![GitHub ကိုမိတ်ဆက်ခြင်း](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.my.png)
![GitHub အကြောင်းမိတ်ဆက်](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.my.png)
> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
```mermaid
@ -37,72 +37,72 @@ journey
Open Source: 5: You
```
## သင်ခန်းစာမတိုင်မီ Quiz
[Pre-lecture quiz](https://ff-quizzes.netlify.app)
## သင်ခန်းစာမတိုင်မီ စမ်းမေးခွန်း
[သင်ခန်းစာမတိုင်မီ စမ်းမေးခွန်း](https://ff-quizzes.netlify.app)
## မိတ်ဆက်
အရမ်းစိတ်လှုပ်ရှားစရာကောင်းတဲ့အရာတွေကိုစတင်မပြောခင်၊ သင့်ကွန်ပျူတာကို GitHub magic အတွက်အသင့်ဖြစ်အောင်လုပ်ရအောင်! ဒါကို သင်ပန်းချီကားတစ်ခုဖန်တီးမယ့်အခါ art supplies တွေကိုစီစဉ်ထားတဲ့အတိုင်းထင်ပါ tools တွေကိုအဆင်ပြေစွာအသင့်ထားတာက အားလုံးကိုပိုမိုချောမွေ့စေပြီး ပိုမိုပျော်ရွှင်စေပါတယ်
စိတ်လှုပ်ရှားစရာအရာတွေကို စတင်မပြုမီ သင့်ကွန်ပျူတာကို GitHub အတွက် ပြင်ဆင်လိုက်ရအောင်! ဒါကို သင့်ရဲ့ အနုပညာပစ္စည်းတွေကို စီစဉ်နေတဲ့အတိုင်း ထင်ပါ အမှန်တကယ် smooth ဖြစ်ပြီး ပိုပြီး ပျော်စရာကောင်းအောင် tools တွေကို အဆင်သင့်ထားတာပါ
Setup တစ်ခုချင်းစီကို ကျွန်တော်ကိုယ်တိုင်လမ်းညွှန်ပေးမှာဖြစ်ပြီး၊ ပထမဆုံးကြည့်တဲ့အခါ အတော်လေးကြောက်စရာကောင်းတယ်လို့ခံစားရနိုင်ပေမယ့် အဲဒါမဟုတ်ပါဘူးလို့အာမခံပါတယ်။ တစ်ခုခုမရမချင်းဖြစ်ရင်လည်း အလွန်ပုံမှန်ပါပဲ! ကျွန်တော်ပထမဆုံး development environment ကို setup လုပ်တဲ့အခါ "ဟိုဂရိုဖစ်စာလုံးတွေကိုဖတ်ဖို့ကြိုးစားနေတာလား" လို့ခံစားခဲ့ရတာကိုသိတယ်။ Developer တစ်ယောက်စီဟာ သင်အခုရှိနေတဲ့နေရာမှာပဲ စတင်ခဲ့ပြီး "ကျွန်တော်မှန်ကန်စွာလုပ်နေလား" လို့တွေးနေခဲ့ပါတယ်။ Spoiler alert: သင်လေ့လာနေတယ်ဆိုရင် သင်ဟာမှန်ကန်စွာလုပ်နေပါပြီ! 🌟
အဆင့်တိုင်းကို ကိုယ်တိုင် လမ်းညွှန်ပေးပါမယ်၊ အစမှာ ကြည့်ရတာ အတော်လေး ကြောက်စရာကောင်းတယ်လို့ ခံစားရနိုင်ပါတယ်။ တစ်ခုခု မရိုးရင်လည်း အဆင်ပြေပါတယ်! ငါ့ရဲ့ ပထမဆုံး development environment ကို စတင်ပြင်ဆင်တဲ့အချိန် ancient hieroglyphics တွေကို ဖတ်နေသလို ခံစားရတာကို သတိရတယ်။ Developer တစ်ယောက်စီဟာ အတိအကျ သင့်ရဲ့ အခုအနေအထားမှာ စတင်ခဲ့ကြတာပါ၊ "သင့်လျော်စွာ လုပ်နေတယ်" ဆိုတာ အတည်ပြုပါတယ်! 🌟
ဒီသင်ခန်းစာမှာ ကျွန်တော်တို့ လေ့လာမယ့်အရာတွေက:
- သင့်ကွန်ပျူတာပေါ်မှာလုပ်ဆောင်တဲ့အလုပ်ကို tracking လုပ်နည်း
- အခြားသူများနှင့် project တွေကိုအတူတူလုပ်ဆောင်နည်း
- open source software တွေကိုအထောက်အကူပြုနည်း
- သင့်ကွန်ပျူတာပေါ်မှာ လုပ်နေတဲ့အလုပ်ကို tracking လုပ်နည်း
- အခြားသူတွေနဲ့ project တွေမှာ ပူးပေါင်းလုပ်ဆောင်နည်း
- open source software တွေကို ပံ့ပိုးပေးနည်း
### လိုအပ်ချက်များ
GitHub magic အတွက် သင့်ကွန်ပျူတာကိုအသင့်ဖြစ်အောင်လုပ်ရအောင်! စိုးရိမ်စရာမလိုပါဘူး ဒီ setup ကိုတစ်ခါတည်းလုပ်ရုံပါပဲ၊ အဲဒီနောက်မှာ သင့် coding ခရီးလုံးအတွက်အသင့်ဖြစ်နေပါပြီ
GitHub အတွက် သင့်ကွန်ပျူတာကို ပြင်ဆင်လိုက်ရအောင်! စိတ်မပူပါနဲ့ ဒီ setup ကို တစ်ခါတည်း လုပ်ရုံနဲ့ သင့် coding ခရီးတစ်လျှောက်လုံး အဆင်သင့်ဖြစ်သွားပါလိမ့်မယ်
ဆောက်အအုံကိုစတင်ရအောင်! ပထမဆုံး Git ဟာ သင့်ကွန်ပျူတာမှာရှိပြီးသားလားဆိုတာစစ်ဆေးရမယ်။ Git ဟာ သင့် code ကိုပြောင်းလဲမှုတစ်ခုချင်းစီကိုမှတ်မိနေတဲ့ super-smart assistant တစ်ယောက်လိုပါပဲ Ctrl+S ကိုနှစ်စက္ကန့်တိုင်းနှိပ်ရတာထက်ပိုကောင်းပါတယ် (ကျွန်တော်တို့အားလုံးအဲဒီလိုလုပ်ဖူးကြတယ်!).
ိုကေ၊ အခြေခံအဆင့်ကို စတင်လိုက်ရအောင်! ပထမဆုံး Git ဟာ သင့်ကွန်ပျူတာမှာ ရှိပြီးသားလားဆိုတာ စစ်ဆေးရမယ်။ Git ဟာ သင့် code မှာ ပြောင်းလဲမှုတိုင်းကို မှတ်မိနေတဲ့ assistant တစ်ယောက်လိုပါပဲ Ctrl+S ကို နှစ်စက္ကန့်တစ်ကြိမ်နှိပ်နေရတာထက် အများကြီး ပိုကောင်းပါတယ် (အားလုံး အဲဒီလို လုပ်ဖူးကြတယ်)။
Git install လုပ်ထားပြီးသားလားဆိုတာစစ်ဆေးဖို့ terminal မှာ ဒီ magic command ကိုရိုက်ပါ:
Git ရှိပြီးသားလားဆိုတာ စစ်ဆေးဖို့ ဒီ magic command ကို terminal မှာ ရိုက်ထည့်ပါ:
`git --version`
Git မရှိသေးရင် စိုးရိမ်စရာမလိုပါဘူး! [download Git](https://git-scm.com/downloads) ကိုသွားပြီး download လုပ်လိုက်ပါ။ Install လုပ်ပြီးတာနဲ့ Git ကို properly မိတ်ဆက်ပေးရမယ်:
Git မရှိသေးရင်လည်း စိတ်မပူပါနဲ့! [download Git](https://git-scm.com/downloads) ကို သွားပြီး ရယူလိုက်ပါ။ Install ပြီးရင်တော့ Git ကို သင့်နဲ့ တရားဝင် မိတ်ဆက်ပေးရပါမယ်:
> 💡 **ပထမဆုံး Setup**: ဒီ command တွေက Git ကို သင်ဘယ်သူလဲဆိုတာပြောပါတယ်။ ဒီအချက်အလက်တွေဟာ သင့် commit တစ်ခုချင်းစီနဲ့တွဲဖက်ပြီးသွားမှာဖြစ်လို့ သင့်အဆင်ပြေတဲ့နာမည်နဲ့ email ကိုရွေးချယ်ပါ။
> 💡 **ပထမဆုံး Setup**: ဒီ command တွေက Git ကို သင်ဘယ်သူလဲဆိုတာ ပြောပြတာပါ။ ဒီအချက်အလက်တွေဟာ သင့်လုပ်ဆောင်မှုတိုင်းနဲ့ တွဲဖက်ထားမယ်၊ ဒါကြောင့် သင့်အဆင်ပြေတဲ့ နာမည်နဲ့ email ကို ရွေးချယ်ပါ။
```bash
git config --global user.name "your-name"
git config --global user.email "your-email"
```
Git ကို configure လုပ်ထားပြီးသားလားဆိုတာစစ်ဆေးဖို့:
Git ရ already configured လားဆိုတာ စစ်ဆေးဖို့:
```bash
git config --list
```
GitHub account တစ်ခု၊ code editor (Visual Studio Code ကောင်းပါတယ်) တစ်ခု၊ terminal (သို့မဟုတ် command prompt) ကိုဖွင့်ဖို့လိုအပ်ပါမယ်။
GitHub account တစ်ခု၊ code editor (Visual Studio Code လို) တစ်ခုနဲ့ terminal (သို့မဟုတ် command prompt) ကို ဖွင့်ဖို့ လိုအပ်ပါမယ်။
[github.com](https://github.com/) ကိုသွားပြီး account တစ်ခုဖွင့်ပါ၊ သို့မဟုတ် login လုပ်ပြီး profile ကိုဖြည့်ပါ။
[github.com](https://github.com/) ကို သွားပြီး account တစ်ခု ဖန်တီးပါ၊ မရှိသေးရင်၊ သို့မဟုတ် login ၀င်ပြီး profile ကို ဖြည့်ပါ။
💡 **ခေတ်သစ်အကြံပေးချက်**: Password မလိုဘဲ authentication ကိုပိုမိုလွယ်ကူစေဖို့ [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) ကို setup လုပ်တာ သို့မဟုတ် [GitHub CLI](https://cli.github.com/) ကိုအသုံးပြုတာကိုစဉ်းစားပါ
💡 **ခေတ်မီအကြံပြုချက်**: [SSH keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh) ကို setup လုပ်တာ သို့မဟုတ် [GitHub CLI](https://cli.github.com/) ကို သုံးတာက password မလိုဘဲ authentication လုပ်ဖို့ ပိုလွယ်ကူစေပါတယ်
✅ GitHub ဟာ ကမ္ဘာမှာရှိတဲ့ code repository တစ်ခုတည်းမဟုတ်ပါဘူး၊ အခြား repository တွေလည်းရှိပေမယ့် GitHub က အထင်ရှားဆုံးဖြစ်ပါတယ်
✅ GitHub ဟာ ကမ္ဘာပေါ်မှာ တစ်ခုတည်းသော code repository မဟုတ်ပါဘူး၊ ဒါပေမယ့် GitHub က အများဆုံး လူသိများပါတယ်။
### ပြင်ဆင်မှု
သင့် local machine (laptop သို့မဟုတ် PC) ပေါ်မှာ code project တစ်ခုပါရှိတဲ့ folder တစ်ခုနဲ့ GitHub ပေါ်မှာ public repository တစ်ခုလိုအပ်ပါမယ်၊ ဒါဟာ အခြားသူများရဲ့ project တွေကိုအထောက်အကူပြုနည်းကိုလေ့လာဖို့နမူနာအဖြစ်အသုံးပြုမယ်။
သင့် local machine (laptop သို့မဟုတ် PC) ပေါ်မှာ code project တစ်ခုပါဝင်တဲ့ folder တစ်ခုနဲ့ GitHub ပေါ်မှာ public repository တစ်ခု လိုအပ်ပါမယ်၊ ဒါဟာ အခြားသူတွေရဲ့ project တွေကို ဘယ်လို ပံ့ပိုးပေးရမလဲဆိုတာကို ဥပမာအနေနဲ့ သုံးပါမယ်။
### သင့် Code ကိုလုံခြုံစွာထားရှိခြင်း
### သင့် Code ကို ဘေးကင်းစွာ ထိန်းသိမ်းခြင်း
လုံခြုံရေးအကြောင်းကိုအနည်းငယ်ပြောကြရအောင် ဒါပေမယ့် စိုးရိမ်စရာကောင်းတဲ့အရာတွေကိုမပြောပါဘူး! ဒီလုံခြုံရေးအလေ့အကျင့်တွေကို သင့်ကား သို့မဟုတ် သင့်အိမ်ကိုသော့ခတ်တဲ့အတိုင်းထင်ပါ ရိုးရှင်းတဲ့အလေ့အကျင့်တွေဖြစ်ပြီး သင့်အလုပ်ကိုလုံခြုံစွာထိန်းသိမ်းနိုင်စေပါတယ်။
အခုတော့ လုံခြုံရေးအကြောင်း ပြောကြရအောင် ဒါပေမယ့် ကြောက်စရာကောင်းတဲ့အရာတွေကို မပြောပါဘူး! ဒီလုံခြုံရေးအလေ့အကျင့်တွေကို သင့်ကား သို့မဟုတ် သင့်အိမ်ကို သော့ခတ်ထားတဲ့အတိုင်း ထင်ပါ။ ဒါတွေက ရိုးရှင်းပြီး အလေ့အကျင့်ဖြစ်လာပြီး သင့်အလုပ်ကို ကာကွယ်ပေးနိုင်ပါတယ်။
GitHub နဲ့အလုပ်လုပ်တဲ့အခါ လုံခြုံရေးအကောင်းဆုံးအလေ့အကျင့်တွေကိုလိုက်နာဖို့အရေးကြီးပါတယ်:
GitHub နဲ့ အလုပ်လုပ်တဲ့အခါ လုံခြုံရေးအကောင်းဆုံးအလေ့အကျင့်တွေကို လိုက်နာဖို့ အရေးကြီးပါတယ်:
| လုံခြုံရေးဧရိယာ | အကောင်းဆုံးအလေ့အကျင့် | အရေးကြီးတဲ့အကြောင်းရင်း |
| လုံခြုံရေးအပိုင်း | အကောင်းဆုံးအလေ့အကျင့် | အရေးကြီးတဲ့အကြောင်းရင်း |
|---------------|---------------|----------------|
| **Authentication** | SSH keys သို့မဟုတ် Personal Access Tokens ကိုအသုံးပြုပါ | Password တွေကပိုမလုံခြုံပြီး phase out လုပ်နေပါတယ် |
| **Two-Factor Authentication** | GitHub account မှာ 2FA ကို enable လုပ်ပါ | Account ကိုထပ်တစ်ဆင့်လုံခြုံစေပါတယ် |
| **Repository Security** | အရေးကြီးတဲ့အချက်အလက်တွေကို commit မလုပ်ပါနဲ့ | API keys နဲ့ passwords တွေကို public repos မှာမထည့်သင့်ပါ |
| **Dependency Management** | Dependabot ကို enable လုပ်ပါ | Dependency တွေကိုလုံခြုံစေပြီး update လုပ်ထားနိုင်ပါတယ် |
| **Authentication** | SSH keys သို့မဟုတ် Personal Access Tokens ကို သုံးပါ | Password တွေက ပိုမလုံခြုံဘဲ phase out လုပ်နေပါတယ် |
| **Two-Factor Authentication** | GitHub account မှာ 2FA ကို ဖွင့်ပါ | Account ကို အပိုကာကွယ်ပေးပါတယ် |
| **Repository Security** | အရေးကြီးတဲ့အချက်အလက်တွေကို commit မလုပ်ပါနဲ့ | API keys နဲ့ passwords တွေကို public repos မှာ မထည့်သင့်ပါ |
| **Dependency Management** | Dependabot ကို enable လုပ်ပါ | Dependency တွေကို လုံခြုံပြီး up-to-date ဖြစ်အောင် ထိန်းသိမ်းပေးပါတယ် |
> ⚠️ **အရေးကြီးတဲ့လုံခြုံရေးအမှတ်တရ**: API keys, passwords, သို့မဟုတ် sensitive information တွေကို repository တစ်ခုခုမှာ commit မလုပ်ပါနဲ့။ Environment variables နဲ့ `.gitignore` files ကိုအသုံးပြုပြီး sensitive data ကိုကာကွယ်ပါ။
> ⚠️ **အရေးကြီးတဲ့ လုံခြုံရေး သတိပေးချက်**: API keys, passwords, သို့မဟုတ် အရေးကြီးတဲ့အချက်အလက်တွေကို repository တစ်ခုခုမှာ commit မလုပ်ပါနဲ့။ Environment variables နဲ့ `.gitignore` ဖိုင်တွေကို သုံးပြီး sensitive data တွေကို ကာကွယ်ပါ။
**ခေတ်သစ် Authentication Setup:**
**ခေတ်မီ Authentication Setup:**
```bash
# Generate SSH key (modern ed25519 algorithm)
@ -112,19 +112,19 @@ ssh-keygen -t ed25519 -C "your_email@example.com"
git remote set-url origin git@github.com:username/repository.git
```
> 💡 **Pro Tip**: SSH keys တွေက password တွေကိုအကြိမ်ကြိမ်ရိုက်ရတာကိုဖယ်ရှားပေးပြီး traditional authentication methods ထက်ပိုမိုလုံခြုံပါတယ်။
> 💡 **Pro Tip**: SSH keys တွေက password တွေကို မကြာခဏ ရိုက်ထည့်စရာမလိုဘဲ ပိုလုံခြုံစေပါတယ်။
---
## သင့် Code ကို Pro တစ်ယောက်လိုစီမံခြင်း
## သင့် Code ကို Professional လို ထိန်းသိမ်းခြင်း
အိုကေ၊ အခုက အရမ်းစိတ်လှုပ်ရှားစရာကောင်းတဲ့နေရာပါ! 🎉 ကျွန်တော်တို့ သင့် code ကို pro တွေလို track နဲ့ manage လုပ်နည်းကိုလေ့လာတော့မှာဖြစ်ပြီး၊ အဲဒါက coding life ကိုပြောင်းလဲစေတဲ့အရာဖြစ်လို့ အရမ်းသင်ပေးချင်တဲ့အရာတစ်ခုပါ။
အိုကေ၊ အခုတော့ အရမ်း စိတ်လှုပ်ရှားစရာကောင်းတဲ့အပိုင်းကို စတင်တော့မယ်! 🎉 Developer တွေလိုပဲ သင့် code ကို tracking နဲ့ management လုပ်နည်းကို လေ့လာတော့မှာပါ၊ ဒီဟာက တကယ်ကို အရေးကြီးတဲ့ game-changer တစ်ခုပါ။
ဒီလိုစဉ်းစားပါ: သင်အံ့မခန်းဇာတ်လမ်းတစ်ပုဒ်ရေးနေပြီး၊ draft တစ်ခုချင်းစီ၊ brilliant edit တစ်ခုချင်းစီ၊ "အို၊ ဒါကအရမ်းကောင်းတယ်!" ဆိုတဲ့အချိန်တစ်ခုချင်းစီကိုမှတ်ထားချင်တယ်။ Git ဟာ သင့် code အတွက်အဲဒီလိုအတိအကျမှတ်ထားတဲ့ time-traveling notebook တစ်ခုလိုပါပဲ! Keystroke တစ်ခုချင်းစီ၊ ပြောင်းလဲမှုတစ်ခုချင်းစီ၊ "အို၊ အဲဒါကအကုန်ပျက်သွားတယ်" ဆိုတဲ့အချိန်တစ်ခုချင်းစီကိုတစ်ချက်တည်းပြန်ပြင်နိုင်ပါတယ်။
ဉပမာ သင် အံ့ဩစရာကောင်းတဲ့ စာရေးနေတယ်လို့ ထင်ပါစို့၊ draft တစ်ခုချင်းစီ၊ brilliant edit တစ်ခုချင်းစီ၊ "အိုဟုတ်တယ်၊ ဒါက အရမ်းကောင်းတယ်!" ဆိုတဲ့ အချိန်တိုင်းကို မှတ်ထားချင်တယ်ဆိုရင် Git ဟာ သင့် code အတွက် အဲဒီလိုပဲ လုပ်ပေးပါတယ်! ဒါဟာ အံ့ဩစရာ time-traveling notebook တစ်ခုလိုပါပဲ keystroke တစ်ခုချင်းစီ၊ ပြောင်းလဲမှုတစ်ခုချင်းစီ၊ "အိုဟုတ်၊ ဒါက အားလုံးကို ပျက်စီးစေတယ်" ဆိုတဲ့ အချိန်တိုင်းကို ပြန်ပြင်နိုင်ပါတယ်။
ရင်ဆုံးတော့ အတော်လေးအလွှမ်းတစ်လွှမ်းဖြစ်နေသလိုခံစားရနိုင်ပါတယ်။ ကျွန်တော်စတင်တဲ့အခါ "ဘာလို့ file တွေကိုပုံမှန်အတိုင်း save လုပ်လို့မရတာလဲ?" လို့တွေးခဲ့တယ်။ ဒါပေမယ့် Git ကိုနားလည်တဲ့အခါ (နောက်ဆုံးမှာနားလည်မှာပါ!) သင်မှာ "Git မရှိဘဲ coding လုပ်ခဲ့တာဘယ်လိုလဲ?" ဆိုတဲ့ lightbulb moment ရပါမယ်။ ဒါဟာ သင်လမ်းလျှောက်နေတဲ့အချိန်မှာ ပျံနိုင်တယ်ဆိုတာရှာဖွေသလိုပါပဲ!
တော်လေး များပြားနေသလို ခံစားရနိုင်ပါတယ်။ ငါစတင်တဲ့အချိန်မှာ "ဘာလို့ file တွေကို ပုံမှန် save လုပ်လို့မရတာလဲ?" လို့ ထင်ခဲ့တယ်။ ဒါပေမယ့် Git ကို နားလည်တဲ့အခါ (နောက်ဆုံးမှာ နားလည်မှာပါ!) "Git မရှိဘဲ ဘယ်လို code ရေးခဲ့တာလဲ?" ဆိုတဲ့ lightbulb moment ရပါလိမ့်မယ်။
သင့် local folder မှာ code project တစ်ခုရှိပြီး git version control system ကိုအသုံးပြုပြီး progress ကို tracking လုပ်ချင်တယ်ဆိုပါစို့။ git ကိုအသုံးပြုတာကို အချို့လူတွေက သင့်အနာဂတ်ကိုယ်တိုင်ကိုချစ်တဲ့စာရေးတာလိုပြောကြတယ်။ commit messages တွေကို ရက်ပေါင်းများစွာ၊ လများစွာ၊ နှစ်များစွာအကြာမှာပြန်ဖတ်တဲ့အခါ သင်ဘာကြောင့်အဲဒီဆုံးဖြတ်ချက်ကိုလုပ်ခဲ့တယ်ဆိုတာကိုမှတ်မိနိုင်ပြီး၊ "rollback" လုပ်နိုင်ပါတယ် ဒါကတော့ သင်ကောင်းမွန်တဲ့ "commit messages" ရေးတဲ့အခါမှာပါ
ဉပမာ သင့် local folder တစ်ခုမှာ code project တစ်ခုရှိပြီး git ကို သုံးပြီး progress ကို tracking လုပ်ချင်တယ်ဆိုပါစို့။ git ကို သုံးတာဟာ သင့်အနာဂတ်ကိုယ်တိုင်ကို ချစ်တဲ့စာရေးတာလိုပါပဲ။ commit messages တွေကို ရက်ပေါင်းများစွာ၊ လအနည်းငယ်၊ နှစ်အနည်းငယ်အကြာမှာ ပြန်ဖတ်တဲ့အခါ သင့်ဆုံးဖြတ်ချက်တွေကို ပြန်လည်သတိရနိုင်ပါတယ်
```mermaid
flowchart TD
@ -150,42 +150,44 @@ flowchart TD
style N fill:#ff4081,color:#fff
```
### Task: သင့်ပထမဆုံး Repository ကိုဖန်တီးပါ!
### Task: သင့်ပထမဆုံး Repository ကို ဖန်တီးပါ!
> 🎯 **သင့်မစ်ရှင် (ကျွန်တော်အရမ်းစိတ်လှုပ်ရှားနေပါတယ်!)**: ကျွန်တော်တို့ သင့်ပထမဆုံး GitHub repository ကိုအတူတူဖန်တီးသွားမယ်! ဒီနေရာမှာပြီးဆုံးတဲ့အခါ သင့် code နေထိုင်တဲ့ internet ရဲ့အနားလေးကိုရရှိပြီး၊ သင့်ပထမဆုံး "commit" (developer တွေက အရမ်း smart နည်းလမ်းနဲ့ အလုပ်ကို save လုပ်တာကိုပြောတာ) ကိုလုပ်ပြီးဖြစ်ပါမယ်။
> 🎯 **သင့် Mission (ငါ့အနေနဲ့ အရမ်းစိတ်လှုပ်ရှားနေတယ်!):** သင့်ပထမဆုံး GitHub repository ကို အတူတူ ဖန်တီးကြမယ်! ဒီမှာ အဆုံးသတ်တဲ့အချိန်မှာ သင့် code နေထိုင်တဲ့ သင့်အင်တာနက်ရဲ့ အနားလေးကို ရရှိပြီး "commit" တစ်ခု (developer တွေပြောတဲ့ အရမ်း smart ဖြစ်တဲ့ save လုပ်နည်း) လုပ်ထားပါလိမ့်မယ်။
>
> ဒီအချိန်ဟာ အရမ်းထူးခြားတဲ့အချိန်ပါ သင်က developer တွေရဲ့ global community ကိုတရားဝင်အဖွဲ့ဝင်ဖြစ်တော့မှာပါ! ကျွန်တော်ပထမဆုံး repo ကိုဖန်တီးတဲ့ thrill ကိုအခုထိမှတ်မိနေပြီး "Wow, ကျွန်တော်အမှန်တကယ်လုပ်နေတယ်!" လို့တွေးခဲ့တာကိုသိတယ်။
> ဒါဟာ တကယ်ကို အထူးအခိုက်အတန့်တစ်ခုပါ သင်ဟာ တရားဝင် developer တွေရဲ့ ကမ္ဘာလောကကို ဝင်ရောက်တော့မှာပါ! ငါ့ပထမဆုံး repo ကို ဖန်တီးတဲ့အချိန်ရဲ့ စိတ်လှုပ်ရှားမှုကို အခုထိ သတိရတယ်၊ "Wow, ငါ တကယ်လုပ်နေပြီ!"
ဒီခရီးကိုအတူတူတစ်ဆင့်ချင်းဆင့်လမ်းလျှောက်သွားရအောင်။ အပိုင်းတစ်ခုချင်းစီကိုအချိန်ယူပါ အလျင်မပြုပါနဲ့၊ အဆင့်တစ်ခုချင်းစီဟာအဓိပ္ပာယ်ရှိလာမယ်လို့အာမခံပါတယ်။ သင်အားလုံးကိုအံ့မခန်းထင်ရတဲ့ coding superstar တွေဟာ သင်အခုရှိနေတဲ့နေရာမှာပဲရှိခဲ့ပြီး ပထမဆုံး repository ကိုဖန်တီးဖို့အဆင်သင့်ဖြစ်နေခဲ့ပါတယ်။ ဒါကဘယ်လောက်အေးလဲ?
ဒီခရီးကို အတူတူ လျှောက်ကြမယ်၊ တစ်ဆင့်ချင်းစီနဲ့။ အပိုင်းတိုင်းကို အချိန်ယူပြီး လုပ်ပါ အလျင်ပြေးရမယ့် ဆုမရှိပါဘူး၊ အဆင့်တိုင်းဟာ အဓိပ္ပါယ်ရှိလာပါလိမ့်မယ်။ သင်ချစ်တဲ့ coding superstar တစ်ယောက်စီဟာ သင့်အခုအနေအထားမှာ တစ်ခါတုန်းက ရှိခဲ့ကြတာပါ၊ သင့်ပထမဆုံး repository ကို ဖန်တီးဖို့ အဆင်သင့်ဖြစ်နေတဲ့အချိန်မှာ။ ဒါက အရမ်းမိုက်တယ်မဟုတ်လား?
> Video ကိုကြည့်ပါ
> ဗီဒီယိုကို ကြည့်ပါ
>
> [![Git နဲ့ GitHub အခြေခံ video](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4)
> [![Git နဲ့ GitHub အခြေခံဗီဒီယို](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](https://www.youtube.com/watch?v=9R31OUPpxU4)
**အတူတူလုပ်ဆောင်ကြရအောင်:**
**အတူတူ လုပ်ကြရအောင်:**
1. **GitHub မှာ သင့် repository ကိုဖန်တီးပါ**. GitHub.com ကိုသွားပြီး အဲဒီလှပတဲ့အစိမ်းရောင် **New** ခလုတ် (သို့မဟုတ် အပေါ်ဘက်ညာဘက်မှာရှိတဲ့ **+** အမှတ်အသား) ကိုရှာပါ။ အဲဒီကိုနှိပ်ပြီး **New repository** ကိုရွေးပါ။
1. **GitHub ပေါ်မှာ သင့် repository ကို ဖန်တီးပါ**။ GitHub.com ကို သွားပြီး အစိမ်းရောင် **New** ခလုတ် (သို့မဟုတ် အပေါ်ညာထောင့်က **+** အမှတ်) ကို ရှာပါ။ အဲဒါကို နှိပ်ပြီး **New repository** ကို ရွေးပါ။
ဒီအတိုင်းလုပ်ပါ:
1. သင့် repository ကိုနာမည်ပေးပါ သင့်အတွက်အဓိပ္ပာယ်ရှိတဲ့အရာကိုရွေးပါ!
1. Description ထည့်ချင်ရင်ထည့်ပါ (ဒါက project ရဲ့အကြောင်းကိုအခြားသူတွေကိုနားလည်စေပါတယ်)
1. Public (လူတိုင်းကြည့်နိုင်တယ်) သို့မဟုတ် Private (သင့်အတွက်ပဲ) ဖြစ်ဖို့ဆုံးဖြတ်ပါ
1. README file ကိုထည့်ဖို့ box ကို check လုပ်ဖို့အကြံပေးပါတယ် project ရဲ့အရှေ့စာမျက်နှာလိုပါပဲ
1. **Create repository** ကိုနှိပ်ပြီး အောင်မြင်မှုကိုခံစားပါ သင့်ပထမဆုံး repo ကိုဖန်တီးပြီးပါပြီ! 🎉
ဒီအတိုင်း လုပ်ပါ:
1. သင့် repository ကို နာမည်ပေးပါ သင့်အတွက် အဓိပ္ပါယ်ရှိတဲ့ နာမည်တစ်ခု ဖြစ်စေပါ!
1. ဖော်ပြချက်တစ်ခု ထည့်ပါ (သင့် project ဘာအကြောင်းလဲဆိုတာ အခြားသူတွေ နားလည်စေပါတယ်)
1. Public (အားလုံးကြည့်နိုင်မယ့်) သို့မဟုတ် Private (သင့်အတွက်ပဲ) ဖြစ်စေဖို့ ဆုံးဖြတ်ပါ
1. README ဖိုင်တစ်ခု ထည့်ဖို့ box ကို check လုပ်ဖို့ ငါ recommend လုပ်တယ် ဒါဟာ သင့် project ရဲ့ မျက်နှာဖုံးလိုပါပဲ
1. **Create repository** ကို နှိပ်ပြီး အောင်မြင်မှုကို ကျင်းပပါ သင့်ပထမဆုံး repo ကို ဖန်တီးပြီးပါပြီ! 🎉
2. **သင့် project folder ကိုသွားပါ**. အခုတော့ terminal ကိုဖွင့်ပြီး (ကြောက်စရာကောင်းတယ်လို့မထင်ပါနဲ့!) သင့် project file တွေရှိတဲ့နေရာကို သင့်ကွန်ပျူတာကိုပြောရမယ်။ ဒီ command ကိုရိုက်ပါ:
2. **သင့် project folder ကို သွားပါ**။ အခုတော့ terminal ကို ဖွင့်လိုက်ရအောင် (ကြည့်ရတာ ကြောက်စရာမကောင်းပါဘူး!)။ သင့်ကွန်ပျူတာကို သင့် project ဖိုင်တွေ ဘယ်မှာရှိလဲဆိုတာ ပြောရမယ်။ ဒီ command ကို ရိုက်ထည့်ပါ:
```bash
cd [name of your folder]
```
**ဒီမှာ
**ကျွန်တော်တို့ လုပ်ခဲ့တာ:**
- သင့်ရဲ့ ဒေသခံပရောဂျက်နဲ့ GitHub repository အကြား ချိတ်ဆက်မှုကို ဖန်တီးခဲ့ပါတယ်။
- "Origin" ဆိုတာ သင့် GitHub repository အတွက် နာမည်တစ်ခုသာဖြစ်ပါတယ် ဖုန်းမှာ contact တစ်ခုထည့်သလိုပဲ။
- အခု သင့် ဒေသခံ Git က သင့် code ကို မျှဝေဖို့ ပြင်ဆင်တဲ့အခါ GitHub ကို ပို့ရမယ့်နေရာကို သိနေပါပြီ။
**ဒီမှာ ဘာလုပ်နေတာလဲဆိုတော့:**
- "ဟေး ကွန်ပျူတာ၊ ငါ့ project folder ကို သွားစေချင်တယ်" လို့ ပြောနေတာပါ
- ဒါဟာ desktop ပေါ်မှာ folder တစ်ခု ဖွင့်တာနဲ့ တူတယ်၊ ဒါပေမယ့် text command တွေနဲ့ လုပ်နေတာပါ
- `[name of your folder]` ကို သင့် project folder ရဲ့ အမှန်တကယ် နာမည်နဲ့ အစားထိုးပါ
- သင့်ရဲ့ ဒေသခံပရောဂျက်နဲ့ GitHub repository အကြား ချိတ်ဆက်မှုကို ဖန်တီးပြီးပါပြီ။
- "Origin" ဆိုတာ သင့် GitHub repository အတွက် နာမည်ပေးထားတဲ့ အမည်တစ်ခုပါပဲ ဖုန်းမှာ contact တစ်ခု ထည့်သလိုပဲ။
- အခု သင့် ဒေသခံ Git က သင့် code ကို မျှဝေဖို့ ပြင်ဆင်တဲ့အခါ ဘယ်ကို ပို့ရမယ်ဆိုတာ သိနေပါပြီ။
💡 **လွယ်ကူတဲ့နည်းလမ်း**: GitHub CLI ကို install လုပ်ထားရင် တစ် command နဲ့ ဒီအရာကို လုပ်နိုင်ပါတယ်:
💡 **လွယ်ကူတဲ့နည်းလမ်း**: GitHub CLI ကို သင်ထည့်သွင်းထားရင်၊ ဒီအဆင့်ကို command တစ်ခုနဲ့ ပြုလုပ်နိုင်ပါတယ်:
```bash
gh repo create my-repo --public --push --source=.
```
@ -196,19 +198,19 @@ flowchart TD
git push -u origin main
```
**🚀 အခုတော့ သင့် code ကို GitHub ကို upload လုပ်နေပါပြီ!**
**🚀 အခုတော့ သင့် code ကို GitHub ကို upload လုပ်နေပါပြီ!**
**ဘာဖြစ်နေသလဲ:**
- သင့် commits တွေက သင့်ကွန်ပျူတာကနေ GitHub ကို သွားနေပါတယ်။
- `-u` flag က အမြဲတမ်း connection တစ်ခုကို ဖန်တီးပေးပြီး အနာဂတ်မှာ push လုပ်တာ ပိုလွယ်ကူစေပါတယ်။
- "main" ဆိုတာ သင့် primary branch ရဲ့ အမည်ပါ (main folder လိုပဲ)။
- ဒီအခါမှာတော့ အနာဂတ် upload တွေအတွက် `git push` ကိုသာ ရိုက်လိုက်ရုံပါပဲ!
**ဘာဖြစ်နေသလဲ:**
- သင့် commits တွေက သင့်ကွန်ပျူတာကနေ GitHub ကို သွားနေပါတယ်။
- `-u` flag က အမြဲတမ်း connection တစ်ခုကို ဖန်တီးပေးပြီး အနာဂတ်မှာ push လုပ်တာ ပိုလွယ်ကူစေပါတယ်။
- "main" ဆိုတာ သင့် primary branch ရဲ့ နာမည်ဖြစ်ပါတယ် (main folder လိုပဲ)။
- ဒီအခါမှာတော့ အနာဂတ် upload တွေအတွက် `git push` ကိုသာ ရိုက်လိုက်ရုံပါပဲ!
💡 **အရေးကြီးအချက်**: သင့် branch အမည်က "master" လို အခြားအမည်ဖြစ်ရင်၊ အဲ့အမည်ကို သုံးပါ။ `git branch --show-current` နဲ့ စစ်ဆေးနိုင်ပါတယ်။
💡 **အရေးကြီးအချက်**: သင့် branch ကို "master" လို့ခေါ်ရင်တော့ အဲဒီနာမည်ကို သုံးပါ။ `git branch --show-current` နဲ့ စစ်ဆေးနိုင်ပါတယ်။
9. **သင့် coding ရဲ့ နေ့စဉ် rhythm** (အခုကတော့ စွဲလမ်းစရာပါ!):
9. **သင့် coding ရဲ့ နေ့စဉ် rhythm** (အခုကတော့ စွဲလန်းစရာပါ!):
အခုကစပြီး သင့် project ကို ပြောင်းလဲမှုတွေ လုပ်တဲ့အခါ ဒီအဆင့်သုံးဆင့် dance လေးကို လုပ်ရပါမယ်:
အခုကစပြီး သင့် project ကို ပြောင်းလဲမှုတွေ ပြုလုပ်တဲ့အခါ၊ အလွယ်ကူတဲ့ အဆင့်သုံးဆင့် dance ရှိပါပြီ:
```bash
git add .
@ -216,23 +218,23 @@ flowchart TD
git push
```
**ဒီ workflow က သင့် coding ရဲ့ heartbeat ဖြစ်လာပါမယ်:**
- သင့် code ကို အံ့ဩစရာ ပြောင်းလဲမှုတွေ လုပ်ပါ ✨
- `git add` နဲ့ stage လုပ်ပါ ("Git ကို ဒီပြောင်းလဲမှုတွေကို သတိထားပါလို့ ပြောတာပါ!")
- `git commit` နဲ့ save လုပ်ပြီး ဖော်ပြချက် message တစ်ခုထည့်ပါ (အနာဂတ်မှာ သင့်ကိုယ်ကို ကျေးဇူးတင်စေပါမယ်!)
- `git push` နဲ့ ကမ္ဘာကို မျှဝေပါ 🚀
- ထပ်လုပ်ပါ အမှန်တကယ် ဒီ workflow က သဘာဝလို ဖြစ်လာပါမယ်!
**ဒီ workflow က သင့် coding ရဲ့ အသက်သွေးဖြစ်လာမယ်:**
- သင့် code ကို အံ့ဩစရာ ပြောင်းလဲမှုတွေ ပြုလုပ်ပါ ✨
- `git add` နဲ့ stage လုပ်ပါ ("Git ကို ဒီပြောင်းလဲမှုတွေကို သတိထားပါဆိုလိုက်ပါ!")
- `git commit` နဲ့ သတ်မှတ်ချက် message နဲ့ save လုပ်ပါ (အနာဂတ်က သင့်ကို ကျေးဇူးတင်ပါလိမ့်မယ်!)
- `git push` နဲ့ ကမ္ဘာကို မျှဝေပါ 🚀
- ထပ်လုပ်ပါ အမှန်တကယ် ဒီ workflow က သဘာဝလို ဖြစ်လာမယ်!
ဒီ workflow ကို ကျွန်တော်ချစ်တာက video game မှာ save points အများကြီး ရှိသလိုပါပဲ။ သင့်အကြိုက်ပြောင်းလဲမှုတစ်ခု လုပ်လိုက်ရင် commit လုပ်ပါ! အန္တရာယ်ရှိတဲ့အရာကို စမ်းချင်ရင်လည်း အဆင်ပြေပါတယ် အရာတွေ မအောင်မြင်ရင် နောက်ဆုံး commit ကို ပြန်သွားနိုင်ပါတယ်!
ဒီ workflow ကို သဘောကျတာက video game မှာ save point တွေ အများကြီး ရှိသလိုပါပဲ။ သင်ချစ်တဲ့ ပြောင်းလဲမှုတစ်ခု ပြုလုပ်ပြီးလား? Commit လုပ်လိုက်ပါ! အန္တရာယ်ရှိတဲ့အရာကို စမ်းချင်လား? အဆင်ပြေပါတယ် အရာတွေ မအောင်မြင်ရင် နောက်ဆုံး commit ကို ပြန်သွားနိုင်ပါတယ်!
> 💡 **အကြံပေးချက်**: `.gitignore` file တစ်ခုကို သုံးဖို့ စဉ်းစားပါ၊ သင့် GitHub မှာ track လုပ်ချင်မယ့် file တွေကို မပါစေဖို့ public repository မှာ မရှိသင့်တဲ့ notes file လို file တွေပါ။ `.gitignore` file templates တွေကို [.gitignore templates](https://github.com/github/gitignore) မှာ ရှာနိုင်ပါတယ်၊ ဒါမှမဟုတ် [gitignore.io](https://www.toptal.com/developers/gitignore) ကို သုံးပြီး ဖန်တီးနိုင်ပါတယ်။
> 💡 **အကြံပေးချက်**: `.gitignore` ဖိုင်ကို သုံးပြီး GitHub မှာ track မလုပ်ချင်တဲ့ ဖိုင်တွေကို ကာကွယ်နိုင်ပါတယ် - public repository မှာ မရှိသင့်တဲ့ notes ဖိုင်လို အရာတွေပါ။ `.gitignore` ဖိုင် template တွေကို [.gitignore templates](https://github.com/github/gitignore) မှာ ရှာနိုင်ပါတယ်၊ ဒါမှမဟုတ် [gitignore.io](https://www.toptal.com/developers/gitignore) ကို သုံးပြီး ဖန်တီးနိုင်ပါတယ်။
### 🧠 **ပထမဆုံး Repository Check-in: အဲဒီအရာကို ခံစားရတာ ဘယ်လိုလဲ?**
### 🧠 **ပထမဆုံး Repository Check-in: အဲ့အခါ ဘယ်လိုခံစားရလဲ?**
**အနားယူပြီး အတွေးအမြင်တွေ ပြန်လည်သုံးသပ်ပါ:**
- သင့် code ကို GitHub မှာ ပထမဆုံးမြင်ရတာ ဘယ်လိုခံစားရလဲ?
- ဘယ်အဆင့်က အလွယ်ဆုံးလို့ ခံစားရပြီး ဘယ်အဆင့်က အလွယ်တကူ မဖြစ်နိုင်ဘူးလို့ ထင်ရလဲ?
- `git add`, `git commit`, နဲ့ `git push` တို့ရဲ့ ကွာခြားချက်ကို သင့်စကားနဲ့ ရှင်းပြနိုင်လား?
- သင့် code ကို GitHub မှာ ပထမဆုံးမြင်တဲ့အခါ ဘယ်လိုခံစားရလဲ?
- ဘယ်အဆင့်က အလွယ်ကူဆုံးလို့ ခံစားရပြီး ဘယ်အဆင့်က အလွယ်တကူ မဖြစ်နိုင်ဘူးလို့ ထင်ရလဲ?
- `git add`, `git commit`, နဲ့ `git push` တို့ရဲ့ ကွာခြားချက်ကို သင့်စကားနဲ့ ရှင်းပြနိုင်ပါသလား?
```mermaid
stateDiagram-v2
@ -251,41 +253,41 @@ stateDiagram-v2
end note
```
> **သတိပြုပါ**: အတွေ့အကြုံရှိတဲ့ developer တွေတောင် command တွေကို တိတိကျကျ မမှတ်မိတာ ရှိတတ်ပါတယ်။ ဒီ workflow ကို muscle memory ဖြစ်လာဖို့ အလေ့အကျင့်လိုပါတယ် သင့်အနေဖြင့် အရမ်းကောင်းနေပါတယ်!
> **သတိပေးချက်**: အတွေ့အကြုံရှိတဲ့ developer တွေတောင် command တွေကို မျှတချိန်မှာ မေ့တတ်ပါတယ်။ ဒီ workflow ကို muscle memory ဖြစ်အောင် လေ့ကျင့်ဖို့ လိုအပ်ပါတယ် - သင့်အနေအထားက အရမ်းကောင်းပါတယ်!
#### ခေတ်မီ Git workflows
#### ခေတ်မီ Git workflow များ
ဒီ practices တွေကို စဉ်းစားပြီး လက်ခံသုံးစွဲပါ:
ဒီခေတ်မီနည်းလမ်းတွေကို လက်ခံသုံးစွဲဖို့ စဉ်းစားပါ:
- **Conventional Commits**: `feat:`, `fix:`, `docs:` စတဲ့ standardized commit message format ကို သုံးပါ။ [conventionalcommits.org](https://www.conventionalcommits.org/) မှာ ပိုမိုလေ့လာနိုင်ပါတယ်။
- **Atomic commits**: commit တစ်ခုစီကို တစ်ခုတည်းသော logical ပြောင်းလဲမှုကို ကိုယ်စားပြုပါ။
- **Frequent commits**: အကြီးမားတဲ့ commit တွေ မလုပ်ဘဲ အကြောင်းဖော်ပြချက် message တွေပါရှိတဲ့ commit တွေကို မကြာခဏလုပ်ပါ။
- **Frequent commits**: commit message တွေကို ဖော်ပြချက်ပြည့်စုံစွာ ရေးပြီး မကြာခဏ commit လုပ်ပါ။
#### Commit messages
Git commit subject line က ဒီစာကြောင်းကို ပြည့်စုံစေပါတယ်:
ဒီ commit ကို အသုံးပြုရင် <သင့် subject line> ဖြစ်ပါလိမ့်မယ်။
ဒီ commit ကို အကောင်အထည်ဖော်ရင် <သင့် subject line> ဖြစ်ပါမယ်။
Subject မှာ imperative, present tense ကို သုံးပါ: "change" ဖြစ်ရမယ်၊ "changed" သို့မဟုတ် "changes" မဟုတ်ပါဘူး။
Subject မှာ imperative, present tense ကို သုံးပါ: "change" မဟုတ်ရင် "changed" သို့မဟုတ် "changes" မသုံးပါနဲ့။
Subject မှာလိုပဲ body (optional) မှာလည်း imperative, present tense ကို သုံးပါ။ Body မှာ ပြောင်းလဲမှုရဲ့ motivation ကို ရှင်းပြပြီး ယခင်အခြေအနေနဲ့ ကွာခြားချက်ကို ဖော်ပြပါ။ `why` ကို ရှင်းပြတာဖြစ်ပြီး `how` ကို မဟုတ်ပါ။
✅ GitHub မှာ surf လုပ်ပြီး commit message ကောင်းတစ်ခုကို ရှာဖွေပါ။ အနည်းဆုံး message တစ်ခုကို ရှာဖွေပါ။ commit message မှာ ဘယ်အချက်တွေက အရေးကြီးပြီး အသုံးဝင်တယ်လို့ သင်ထင်ပါသလဲ?
✅ GitHub မှာ လှည့်လည်ကြည့်ပြီး commit message ကောင်းတစ်ခုကို ရှာနိုင်ပါသလား? အနည်းဆုံး message တစ်ခုကို ရှာနိုင်ပါသလား? Commit message မှာ ဘယ်အချက်တွေက အရေးကြီးပြီး အသုံးဝင်တယ်လို့ သင်ထင်ပါသလဲ?
## အခြားသူတွေနဲ့ အလုပ်လုပ်ခြင်း (ပျော်စရာအပိုင်း!)
အခုတော့ GitHub က အံ့ဩစရာကောင်းတဲ့အပိုင်းကို စတင်ပါမယ်! 🪄 သင့်ကိုယ်ပိုင် code ကို စီမံခန့်ခွဲတာကို ကျွမ်းကျင်ပြီးသားဖြစ်ပါတယ်၊ ဒါပေမယ့် အခုတော့ ကျွန်တော်အကြိုက်ဆုံးအပိုင်း ကမ္ဘာတစ်ဝှမ်းက အံ့ဩစရာကောင်းတဲ့လူတွေနဲ့ ပူးပေါင်းလုပ်ဆောင်ခြင်းကို စတင်ပါမယ်
အခုတော့ GitHub က အံ့ဩစရာ ဖြစ်လာတဲ့အချိန်ပါ! 🪄 သင့် code ကို ကိုယ်တိုင် စီမံခန့်ခွဲနိုင်ပြီးသားဖြစ်တဲ့အခါ၊ အခုတော့ ကမ္ဘာတစ်ဝှမ်းက developer တွေနဲ့ ပူးပေါင်းလုပ်ဆောင်ဖို့ သင်ကြားသွားမှာပါ
ဒီလိုပုံစံကို စိတ်ကူးပါ: မနက်ဖြန် နိုးလာတဲ့အခါ တိုကျိုက developer တစ်ဦးက သင့် code ကို တိုးတက်အောင် လုပ်ထားပါတယ်။ ပြီးတော့ ဘာလင်က developer တစ်ဦးက သင့်အခက်အခဲဖြေရှင်းပေးပါတယ်။ နေ့လယ်မှာတော့ ဆာအိုပေါလိုက developer တစ်ဦးက သင့်မစဉ်းစားမိတဲ့ feature တစ်ခုကို ထည့်သွင်းပေးပါတယ်။ ဒါက သိပ္ပံစိတ်ကူးမဟုတ်ပါဘူး GitHub universe မှာ အဲဒီအရာက သာမန်နေ့တစ်နေ့ပါပဲ!
ဒီလိုပုံစံကို စိတ်ကူးပါ: မနက်ဖြန် သင်အိပ်ရာထလာတဲ့အခါ Tokyo မှာရှိတဲ့ developer တစ်ဦးက သင့် code ကို တိုးတက်အောင် ပြုလုပ်ထားပါတယ်။ Berlin မှာရှိတဲ့ developer တစ်ဦးက သင့်အတွက် အခက်အခဲဖြစ်နေတဲ့ bug ကို ဖြေရှင်းပေးထားပါတယ်။ နေ့လယ်မှာတော့ São Paulo မှာရှိတဲ့ developer တစ်ဦးက သင်မစဉ်းစားထားတဲ့ feature တစ်ခုကို ထည့်သွင်းပေးထားပါတယ်။ ဒါက သိပ္ပံစိတ်ကူးမဟုတ်ပါဘူး GitHub ကမ္ဘာမှာ အင်္ဂါနေ့ပုံမှန်ပဲ!
ကျွန်တော်ကို အရမ်းစိတ်လှုပ်ရှားစေတဲ့အချက်က သင်လေ့လာမယ့် collaboration skills တွေက Google, Microsoft, နဲ့ သင့်အကြိုက်ဆုံး startups တွေမှာ နေ့စဉ်အသုံးပြုတဲ့ workflows တွေပါပဲ။ သင် cool tool တစ်ခုကို လေ့လာတာမဟုတ်ပါဘူး software ကမ္ဘာတစ်ခုလုံးကို ပူးပေါင်းလုပ်ဆောင်စေတဲ့ လျှို့ဝှက်ဘာသာစကားကို လေ့လာနေပါတယ်။
အခု သင်သင်ယူမယ့် ပူးပေါင်းလုပ်ဆောင်မှု skill တွေက Google, Microsoft, နဲ့ သင့်အကြိုက်ဆုံး startup တွေမှာ နေ့စဉ်အသုံးပြုတဲ့ workflow တွေပါပဲ။ သင် cool tool တစ်ခုကို သင်ယူတာမဟုတ်ပါဘူး software ကမ္ဘာတစ်ခုလုံးကို ပူးပေါင်းလုပ်ဆောင်စေတဲ့ လျှို့ဝှက်ဘာသာစကားကို သင်ယူနေပါတယ်။
အမှန်တကယ် open source project မှာ ပထမဆုံး pull request ကို merge လုပ်တဲ့အခါရဲ့ စိတ်လှုပ်ရှားမှုကို ခံစားရတဲ့အခါ developer တွေက ဘာကြောင့် အရမ်းစိတ်အားထက်သန်နေကြတာကို နားလည်နိုင်ပါလိမ့်မယ်။ ဒါက ကမ္ဘာ့အကြီးဆုံး၊ အဖန်တီးဆုံး team project ရဲ့ အစိတ်အပိုင်းတစ်ခုဖြစ်သလိုပါပဲ!
အမှန်တကယ် open source project မှာ ပထမဆုံး pull request ကို merge လုပ်တဲ့အခါရဲ့ စိတ်လှုပ်ရှားမှုကို ခံစားပြီးရင် developer တွေက ဘာလို့ open source ကို အရမ်းစိတ်အားထက်သန်ကြလဲဆိုတာ နားလည်နိုင်ပါလိမ့်မယ်။ ဒါက ကမ္ဘာ့အကြီးဆုံး၊ အဖန်တီးဆုံး အဖွဲ့အစည်း project တစ်ခုရဲ့ အစိတ်အပိုင်းဖြစ်တာလိုပါပဲ!
> ဗီဒီယိုကြည့်ပါ
>
> [![Git နဲ့ GitHub အခြေခံဗီဒီယို](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
GitHub မှာ အရာတွေကို ထည့်သွင်းတာရဲ့ အဓိကအကြောင်းရင်းက အခြား developer တွေနဲ့ ပူးပေါင်းလုပ်ဆောင်နိုင်ဖို့ပါ။
GitHub မှာ အရာတွေကို ထည့်သွင်းထားတဲ့ အဓိကအကြောင်းရင်းက အခြား developer တွေနဲ့ ပူးပေါင်းလုပ်ဆောင်နိုင်ဖို့ ဖြစ်ပါတယ်
```mermaid
flowchart LR
@ -307,56 +309,56 @@ flowchart LR
style L fill:#fff3e0
```
သင့် repository မှာ `Insights > Community` ကို သွားပြီး သင့် project က community standards အတွက် အဆင့်က ဘယ်လိုရှိလဲ စစ်ဆေးပါ
သင့် repository မှာ `Insights > Community` ကို သွားပြီး သင့် project က community standards အတွက် အဆင့်သင့်ဖြစ်နေသလား စစ်ဆေးနိုင်ပါတယ်
သင့် repository ကို professional နဲ့ ကြိုဆိုဖွယ်ကောင်းအောင် လုပ်ချင်ပါသလား? သင့် repository ကို သွားပြီး `Insights > Community` ကို click လုပ်ပါ။ ဒီ feature က သင့် project က GitHub community ရဲ့ "good repository practices" လို့ သတ်မှတ်ထားတဲ့အချက်တွေနဲ့ ဘယ်လိုတူညီလဲဆိုတာ ပြသပေးပါယ်။
သင့် repository ကို professional ဖြစ်ပြီး ကြိုဆိုဖွယ်ကောင်းအောင် ပြုလုပ်ချင်ပါသလား? Repository ကို သွားပြီး `Insights > Community` ကို click လုပ်ပါ။ ဒီ feature က သင့် project က GitHub community ရဲ့ "repository ကောင်း" အဖြစ် သတ်မှတ်ချက်တွေနဲ့ ဘယ်လိုတူညီလဲဆိုတာ ပြသပေးပါယ်။
> 🎯 **သင့် Project ကို ထင်ဟပ်စေခြင်း**: စီမံထားတဲ့ repository တစ်ခုက documentation ကောင်းကောင်းနဲ့ ရှိရင် သင့်အလုပ်ကို အရေးကြီးစေပြီး အခြားသူတွေကို ပါဝင်ချင်စေပါတယ်!
> 🎯 **သင့် project ကို ထင်ဟပ်စေခြင်း**: စီမံထားပြီး documentation ကောင်းတဲ့ repository တစ်ခုက သန့်ရှင်းပြီး ကြိုဆိုဖွယ်ကောင်းတဲ့ storefront တစ်ခုလိုပါပဲ။ ဒါက သင့်အလုပ်ကို အရေးကြီးစေပြီး အခြားသူတွေက ပါဝင်ချင်စေပါတယ်!
**Repository ကို အံ့ဩစရာကောင်းအောင် လုပ်စေတဲ့အရာတွေ:**
**Repository ကောင်းတစ်ခုကို ဖန်တီးဖို့ အရေးကြီးတဲ့အချက်များ:**
| ဘာထည့်မလဲ | အရေးကြီးတဲ့အကြောင်းရင်း | သင့်အတွက် ဘာလုပ်ပေးမလဲ |
|-------------|-------------------|---------------------|
| **Description** | ပထမဆုံး impression အရေးကြီးပါတယ်! | သင့် project ဘာလုပ်ပေးနိုင်လဲဆိုတာ လူတွေ ချက်ချင်းသိနိုင်ပါတယ် |
| **README** | သင့် project ရဲ့ မျက်နှာဖုံး | သစ်လွင်တဲ့ visitor တွေအတွက် လမ်းညွှန် guide လိုပါပဲ |
| **Contributing Guidelines** | အကူအညီကို ကြိုဆိုတယ်ဆိုတာ ပြသပါတယ် | လူတွေ သင့်ကို ဘယ်လိုကူညီနိုင်လဲဆိုတာ သိနိုင်ပါတယ် |
| **Code of Conduct** | အပေါင်းအသင်းကောင်းကောင်း ဖန်တီးပေးပါတယ် | လူတိုင်း ပါဝင်ဖို့ ကြိုဆိုခံစားရပါတယ် |
| **License** | ဥပဒေကြောင်းရှင်းလင်းမှု | အခြားသူတွေ သင့် code ကို ဘယ်လိုအသုံးပြုနိုင်လဲဆိုတာ သိနိုင်ပါတယ် |
| **Security Policy** | သင့်ရဲ့ တာဝန်ရှိမှုကို ပြသပါတယ် | ပရော်ဖက်ရှင်နယ် လုပ်ဆောင်မှုတွေကို ပြသပါတယ် |
| **README** | သင့် project ရဲ့ မျက်နှာဖုံး | သစ်လွင်တဲ့ visitor တွေအတွက် လမ်းညွှန် guide တစ်ခုလိုပါပဲ |
| **Contributing Guidelines** | အကူအညီကို ကြိုဆိုတယ်ဆိုတာ ပြသပါတယ် | လူတွေက သင့်ကို ဘယ်လိုကူညီနိုင်လဲဆိုတာ သိနိုင်ပါတယ် |
| **Code of Conduct** | သင့်လွှာကို ဖန်တီးပေးပါတယ် | အားလုံးက ပါဝင်ဖို့ ကြိုဆိုခံစားရပါတယ် |
| **License** | ဥပဒေကြောင်းရှင်းလင်းမှု | အခြားသူတွေက သင့် code ကို ဘယ်လိုအသုံးပြုနိုင်လဲဆိုတာ သိနိုင်ပါတယ် |
| **Security Policy** | တာဝန်ရှိတယ်ဆိုတာ ပြသပါတယ် | Professional လုပ်ဆောင်မှုကို ပြသပါတယ် |
> 💡 **Pro Tip**: GitHub က ဒီ file တွေအတွက် templates တွေ ပေးထားပါတယ်။ repository အသစ်တစ်ခု ဖန်တီးတဲ့အခါ ဒီ file တွေကို auto generate လုပ်ဖို့ box တွေကို check လုပ်ပါ။
> 💡 **Pro Tip**: GitHub က ဒီဖိုင်တွေ အတွက် template တွေ ပေးထားပါတယ်။ Repository အသစ်တစ်ခု ဖန်တီးတဲ့အခါ၊ ဒီဖိုင်တွေကို auto generate လုပ်ဖို့ box တွေကို check လုပ်ပါ။
**ခေတ်မီ GitHub Features တွေကို စူးစမ်းပါ:**
**ခေတ်မီ GitHub Features တွေကို စမ်းသုံးပါ:**
🤖 **Automation & CI/CD:**
- **GitHub Actions** ကို automated testing နဲ့ deployment အတွက်
- **Dependabot** ကို automatic dependency updates အတွက်
💬 **Community & Project Management:**
- **GitHub Discussions** ကို issues ထက်ပိုပြီး community conversations အတွက်
- **GitHub Discussions** ကို issues အပြင် community conversations အတွက်
- **GitHub Projects** ကို kanban-style project management အတွက်
- **Branch protection rules** ကို code quality standards ကို အတည်ပြုဖို့
ဒီ resource တွေက အသစ်ရောက်တဲ့ team member တွေကို အကျိုးရှိစေပါမယ်။ အဲဒီ resource တွေက typically အသစ်ရောက်တဲ့ contributor တွေ project ကို စတင်ကြည့်မယ့်အခါ အရေးကြီးတဲ့အရာတွေဖြစ်ပါတယ်
ဒီ resource တွေက အသစ် join လုပ်တဲ့ team member တွေကို အကျိုးရှိစေပါမယ်။ အဲဒီ resource တွေက typically contributor အသစ်တွေ project ကို စတင်ကြည့်တဲ့အခါ အရေးကြီးပါတယ်၊ project က သူတို့အချိန်ကို သုံးစွဲဖို့ သင့်တော်တဲ့နေရာလားဆိုတာ သိဖို့
✅ README files တွေက ပြင်ဆင်ဖို့ အချိန်ယူရတတ်ပေမယ့် 忙碌တဲ့ maintainer တွေက မကြာခဏ မလေးစားတတ်ပါဘူး။ အရမ်းဖော်ပြချက်ကောင်းတဲ့ README file တစ်ခုကို ရှာဖွေပါ။ Note: [tools to help create good READMEs](https://www.makeareadme.com/) တွေကို စမ်းသုံးကြည့်ပါ
✅ README ဖိုင်တွေက ပြင်ဆင်ဖို့ အချိန်ယူရတတ်ပေမယ့် 忙碌တဲ့ maintainer တွေက မကြာခဏ မလေးစားတတ်ပါဘူး။ အလွန်ဖော်ပြချက်ပြည့်စုံတဲ့ README တစ်ခုကို ရှာနိုင်ပါသလား? Note: [tools to help create good READMEs](https://www.makeareadme.com/) တွေကို စမ်းသုံးနိုင်ပါတယ်
### Task: Code တစ်ခုကို Merge လုပ်ပါ
Contributing docs တွေက project ကို ကူညီဖို့ လူတွေကို ကူညီပေးပါတယ်။ ဘယ်လို contribution အမျိုးအစားတွေကို ရှာဖွေနေပြီး process က ဘယ်လိုလုပ်ရမလဲဆိုတာ ရှင်းပြပါတယ်။ Contributors တွေ GitHub မှာ သင့် repo ကို contribute လုပ်ဖို့ အဆင့်တွေကို လုပ်ရပါမယ်:
Contributing docs တွေက project ကို ကူညီဖို့ လူတွေကို ကူညီပေးပါတယ်။ ဘယ်လို contribution အမျိုးအစားတွေကို ရှာနေပြီး၊ process ဘယ်လိုလုပ်ရမယ်ဆိုတာ ရှင်းပြပါတယ်။ Contributors တွေက သင့် repo မှာ contribute လုပ်ဖို့ GitHub မှာ အဆင့်တွေကို လုပ်ဆောင်ရပါမယ်:
1. **Forking your repo** သင့် project ကို _fork_ လုပ်ဖို့ contributor တွေကို လိုအပ်ပါတယ်။ Forking ဆိုတာ သူတို့ရဲ့ GitHub profile မှာ သင့် repository ရဲ့ replica တစ်ခုကို ဖန်တီးတာပါ။
1. **Clone**. အဲဒီနေရာက သူတို့ project ကို သူတို့ရဲ့ local machine မှာ clone လုပ်ပါမယ်
1. **Create a branch**. သူတို့ရဲ့ အလုပ်အတွက် _branch_ တစ်ခုကို ဖန်တီးဖို့ contributor တွေကို တောင်းဆိုပါ။
1. **Focus their change on one area**. Contributor တွေကို တစ်ခါတစ်ခါမှာ တစ်ခုတည်းသော အရာကို အာရုံစိုက်ဖို့ တောင်းဆိုပါ အဲဒီလိုဆိုရင် သူတို့ရဲ့ အလုပ်ကို _merge_ လုပ်နိုင်တဲ့ အခွင့်အလမ်း ပိုများပါမယ်။ Bug fix တစ်ခုရေးတာ၊ feature အသစ်တစ်ခုထည့်တာ၊ နဲ့ test အများကြီး update လုပ်တာကို imagine လုပ်ပါ သင့်အနေဖြင့် ၃ ခုထဲက ၂ ခု သို့မဟုတ် ၁ ခုကိုသာ implement လုပ်နိုင်ရင် ဘာဖြစ်မလဲ?
1. **Forking your repo** သင့် project ကို _fork_ လုပ်ဖို့ contributor တွေကို တိုက်တွန်းပါ။ Forking ဆိုတာ သူတို့ရဲ့ GitHub profile မှာ သင့် repository ရဲ့ replica တစ်ခုကို ဖန်တီးတာပါ။
1. **Clone**. အဲဒီနေရာက project ကို သူတို့ရဲ့ local machine ကို clone လုပ်ပါ
1. **Create a branch**. သူတို့ရဲ့ အလုပ်အတွက် _branch_ တစ်ခု ဖန်တီးဖို့ contributor တွေကို တိုက်တွန်းပါ။
1. **Focus their change on one area**. Contributor တွေကို contribution တစ်ခုချင်းစီကို အာရုံစိုက်ဖို့ တိုက်တွန်းပါ - ဒီလိုဆိုရင် သူတို့ရဲ့ အလုပ်ကို _merge_ လုပ်နိုင်တဲ့ အခွင့်အလမ်း ပိုများပါမယ်။ Bug fix တစ်ခုရေး၊ feature အသစ်တစ်ခုထည့်၊ နဲ့ test အများကြီး update လုပ်တယ်ဆိုရင် - သင့်အနေနဲ့ ၃ ခုထဲက ၂ ခု၊ ဒါမှမဟုတ် ၁ ခုကိုပဲ implement လုပ်နိုင်တယ်ဆိုရင် ဘာဖြစ်မလဲ?
✅ Branch တွေက code ရေးနဲ့ ပို့တဲ့အတွက် အရေးကြီးတဲ့အခြေအနေကို imagine လုပ်ပါ။ ဘယ်လို use cases တွေကို စဉ်းစားနိုင်ပါသလဲ?
✅ Branch တွေက code ကောင်းရေးနဲ့ shipping အတွက် အရေးကြီးတဲ့ အခြေအနေကို စဉ်းစားပါ။ ဘယ်လို use case တွေကို စဉ်းစားနိုင်ပါသလဲ?
> သင်လိုချင်တဲ့ ပြောင်းလဲမှုကို အခြားသူတွေမှာ မျှော်လင့်သလို သင့်ကိုယ်တိုင်အတွက် branch တွေကို ဖန်တီးပါ။ သင် commit တွေက သင် "checked out" လုပ်ထားတဲ့ branch မှာ လုပ်ပါမယ်။ `git status` ကို သုံးပြီး ဘယ် branch မှာ ရှိလဲဆိုတာ ကြည့်ပါ။
> Note, သင်ကလည်း သင်လိုချင်တဲ့ ပြောင်းလဲမှုကို အကောင်အထည်ဖော်ပါ၊ သင့်အလုပ်အတွက် branch တွေကို ဖန်တီးပါ။ သင်လုပ်တဲ့ commits တွေက သင် "checked out" လုပ်ထားတဲ့ branch မှာ ဖြစ်ပါမယ်။ `git status` ကို သုံးပြီး ဘယ် branch မှာရှိလဲဆိုတာ ကြည့်ပါ။
Contributor workflow ကို လုပ်ဆောင်ကြည့်ပါ။ Contributor က repo ကို _fork_ နဲ့ _clone_ လုပ်ပြီး Git repo ကို သူတို့ရဲ့ local machine မှာ အလုပ်လုပ်ဖို့ ပြင်ဆင်ထားပြီးသားဖြစ်တယ်လို့ assume လုပ်ပါ:
Contributor workflow ကို လိုက်ပါစဉ်းစားကြည့်ပါ။ Contributor က repo ကို _fork_ နဲ့ _clone_ လုပ်ပြီးသားဖြစ်ပြီး၊ local machine မှာ Git repo ရှိနေပြီလို့ ယူဆပါ:
1. **Create a branch**. Contributor တွေ contribute လုပ်ဖို့ ပြောင်းလဲမှုတွေကို ထည့်သွင်းမယ့် branch ကို ဖန်တီးဖို့ `git branch` command ကို သုံးပါ:
1. **Create a branch**. Contributor က သူတို့ contribute လုပ်ဖို့ ပြောင်းလဲမှုတွေကို ထည့်သွင်းမယ့် branch ကို ဖန်တီးဖို့ `git branch` command ကို သုံးပါ:
```bash
git branch [branch-name]
@ -373,45 +375,45 @@ Contributor workflow ကို လုပ်ဆောင်ကြည့်ပါ
git switch [branch-name]
```
> 💡 **ခေတ်မီအချက်**: `git switch` က branch တွေကို ပြောင်းလဲတဲ့အခါ `git checkout` ရဲ့ ခေတ်မီအစားထိုးဖြစ်ပါတယ်။ အရင်ထက် ပိုရှင်းပြီး beginner တွေအတွက် ပိုလုံခြုံပါတယ်။
> 💡 **ခေတ်မီအချက်**: `git switch` က branch တွေကို ပြောင်းလဲတဲ့အခါ `git checkout` ရဲ့ ခေတ်မီအစားထိုးဖြစ်ပါတယ်။ အဓိကနဲ့ beginner တွေအတွက် ပိုလွယ်ကူပါတယ်။
1. **Do work**. အခုတော့ သင့်ပြောင်းလဲမှုတွေကို ထည့်သွင်းပါ။ Git ကို အဲဒီအကြောင်းကို ပြောဖို့ commands တွေကို မမေ့ပါနဲ့:
1. **Do work**. အခုတော့ သင့်ပြောင်းလဲမှုတွေကို ထည့်သွင်းပါ။ Git ကို အဲ့အရာကို ပြောဖို့ commands တွေကို မမေ့ပါနဲ့:
```bash
git add .
git commit -m "my changes"
```
> ⚠️ **Commit Message Quality**: သင့် commit ကို ကောင်းမွန်တဲ့နာမည်ပေးပါ၊ သင့်အတွက်နဲ့ သင့်ကို ကူညီနေတဲ့ repo maintainer အတွက်ပါ။ သင့်ပြောင်းလဲမှုကို အတိအကျဖော်ပြပါ!
> ⚠️ **Commit Message Quality**: Commit message ကို ကောင်းမွန်တဲ့နာမည်ပေးပါ၊ သင့်အတွက်နဲ့ repo maintainer အတွက်ပါ အရေးကြီးပါတယ်။ သင့်ပြောင်းလဲမှုကို အတိအကျဖော်ပြပါ!
1. **Combine your work with the `main` branch**. တစ်ချိန်မှာတော့ သင့်အ
1. **ရှင်းလင်းမှု**။ PR ကိုအောင်မြင်စွာပေါင်းစည်းပြီးနောက်မှာ _ရှင်းလင်း_ လုပ်တာက အကောင်းဆုံးအလေ့အကျင့်တစ်ခုအဖြစ် သတ်မှတ်ထားပါတယ်။ သင့်ရဲ့ local branch နဲ့ GitHub ကို push လုပ်ထားတဲ့ branch နှစ်ခုလုံးကို ရှင်းလင်းချင်ပါတယ်။ အရင်ဆုံး local မှာ delete လုပ်ဖို့အတွက် အောက်ပါ command ကိုသုံးပါ:
1. **Combine your work with the `main` branch**. အချိန်တ
1. **ရှင်းလင်းမှု**။ PR ကိုအောင်မြင်စွာပေါင်းစည်းပြီးနောက်မှာ _ရှင်းလင်းမှု_ လုပ်တာက အကောင်းဆုံးအလေ့အကျင့်တစ်ခုအဖြစ် သတ်မှတ်ထားပါတယ်။ သင့်ရဲ့ ဒေသခံ branch နဲ့ GitHub ကို push လုပ်ထားတဲ့ branch နှစ်ခုလုံးကို ရှင်းလင်းချင်ပါတယ်။ အရင်ဆုံး ဒေသခံမှာ ဖျက်ဖို့အတွက် အောက်ပါ command ကိုသုံးပြုပါ:
```bash
git branch -d [branch-name]
```
GitHub မှာ fork လုပ်ထားတဲ့ repo ရဲ့ page ကိုသွားပြီး remote branch ကိုလည်း ဖျက်ပစ်ပါ။
GitHub မှာ fork လုပ်ထားတဲ့ repo ရဲ့ page ကိုသွားပြီး သင် push လုပ်ထားတဲ့ remote branch ကို ဖျက်ပါ။
`Pull request` ဆိုတာ အနည်းငယ်အရူးအမူးဖြစ်နိုင်ပါတယ်၊ အကြောင်းကတော့ သင့်ရဲ့ project ကို push လုပ်ချင်တာပါ။ ဒါပေမဲ့ maintainer (project owner) သို့မဟုတ် core team က သင့်ရဲ့ changes ကို project ရဲ့ "main" branch နဲ့ပေါင်းစည်းမလားဆိုတာကို ဆုံးဖြတ်ဖို့လိုပါတယ်။ ဒါကြောင့် သင် maintainer ကို change ဆုံးဖြတ်ချက်တောင်းနေတဲ့အခြေအနေဖြစ်ပါတယ်
`Pull request` ဆိုတာ အရမ်းရယ်စရာကောင်းတဲ့စကားလုံးတစ်ခုလိုပဲ။ အမှန်တကယ်တော့ သင့်ရဲ့ ပြောင်းလဲမှုတွေကို project ထဲ push လုပ်ချင်တာပါ။ ဒါပေမဲ့ maintainer (project owner) သို့မဟုတ် core team က သင့်ရဲ့ ပြောင်းလဲမှုတွေကို project ရဲ့ "main" branch နဲ့ ပေါင်းစည်းမလားဆိုတာ ဆုံးဖြတ်ဖို့လိုပါတယ်။ ဒါကြောင့် အမှန်တကယ်တော့ maintainer ကို ပြောင်းလဲမှုအပေါ် ဆုံးဖြတ်ချက်တောင်းနေတဲ့အခြေအနေပါ။
Pull request ဆိုတာ review, comment, integrated test စတဲ့အရာတွေနဲ့ branch မှာ introduce လုပ်ထားတဲ့ အပြောင်းအလဲတွေကို နှိုင်းယှဉ်ပြီး ဆွေးနွေးဖို့နေရာတစ်ခုဖြစ်ပါတယ်။ commit message နဲ့တူတဲ့ rule တွေကို follow လုပ်တဲ့ pull request ကောင်းတစ်ခုဖြစ်ပါတယ်။ Issue tracker မှာ issue ကို reference လုပ်နိုင်ပါတယ်၊ ဥပမာ သင့်ရဲ့အလုပ်က issue တစ်ခုကို ဖြေရှင်းပေးတယ်ဆိုရင် `#` နဲ့ issue number ကိုထည့်သွင်းနိုင်ပါတယ်။ ဥပမာ `#97`
Pull request ဆိုတာ review, comment, integrated test စတဲ့ အရာတွေကို အသုံးပြုပြီး branch မှာ ပြောင်းလဲမှုတွေကို နှိုင်းယှဉ်ဆွေးနွေးဖို့နေရာတစ်ခုပါ။ commit message နဲ့ တူတဲ့ rule တွေကို follow လုပ်တဲ့ pull request ကောင်းတစ်ခုဖြစ်ပါတယ်။ Issue tracker မှာ issue ကို reference လုပ်နိုင်ပါတယ်၊ ဥပမာအားဖြင့် သင့်ရဲ့အလုပ်က issue တစ်ခုကို ဖြေရှင်းပေးနိုင်တဲ့အခါမှာပါ။ ဒါကို `#` နဲ့ issue number ကို အသုံးပြုပြီးလုပ်နိုင်ပါတယ်။ ဥပမာ `#97`
🤞 Fingers crossed သင့်ရဲ့ changes တွေကို project owner(s) က project ထဲ merge လုပ်ပေးပါစေ 🤞
🤞 Fingers crossed သင့်ရဲ့ ပြောင်းလဲမှုတွေကို project owner(s) က project ထဲ merge လုပ်ပါစေ 🤞
GitHub မှာရှိတဲ့ remote branch ရဲ့ commit အသစ်တွေကို သင့် local working branch နဲ့ update လုပ်ပါ:
GitHub မှာရှိတဲ့ remote branch ရဲ့ commit အသစ်တွေကို သင့်ရဲ့ ဒေသခံ branch နဲ့ update လုပ်ပါ:
`git pull`
## Open Source ကိုပံ့ပိုးခြင်း (သင့်ရဲ့ အကျိုးသက်ရောက်မှုကို ဖန်တီးရန် အခွင့်အရေး!)
## Open Source ကို အထောက်အကူပြုခြင်း (သင့်ရဲ့ အကျိုးသက်ရောက်မှုကို ဖန်တီးပါ!)
ံ့ဩစရာကောင်းတဲ့အရာတစ်ခုကို ပြောပြမယ့်အတွက် အရမ်းလှုပ်ရှားနေပါတယ် 🤯 Open source project တွေကို ပံ့ပိုးခြင်းအကြောင်းကို ပြောကြားပါစို့ ဒီအကြောင်းကို မျှဝေဖို့ စိတ်လှုပ်ရှားနေပါတယ်!
ခု သင့်စိတ်ကို အလွန်လှုပ်ရှားစေမယ့်အရာတစ်ခုကို ပြောပြမယ် 🤯 Open source project တွေကို အထောက်အကူပြုခြင်းအကြောင်းကို ပြောပါမယ် ဒီအကြောင်းကို မျှဝေဖို့ စိတ်လှုပ်ရှားနေပါတယ်!
ဒီအခွင့်အရေးက သင့်အတွက် အထူးတလည်ဖြစ်ပါတယ်။ သန်းပေါင်းများစွာသော developer တွေ အမြဲအသုံးပြုနေတဲ့ tools တွေကို တိုးတက်အောင်လုပ်ပေးတာ၊ သင့်သူငယ်ချင်းတွေချစ်တဲ့ app မှာ bug တစ်ခုကို ဖြေရှင်းပေးတာကို စိတ်ကူးယဉ်ပါ။ ဒါက အိပ်မက်မဟုတ်ပါဘူး ဒါက open source ပံ့ပိုးမှုရဲ့ အဓိကပါ!
ဒီဟာက သင့်အတွက် အလွန်ထူးခြားတဲ့အခွင့်အရေးပါ။ သန်းပေါင်းများစွာသော developer တွေ အချိန်တိုင်း အသုံးပြုနေတဲ့ tools တွေကို တိုးတက်အောင်လုပ်တာ၊ သင့်မိတ်ဆွေတွေချစ်တဲ့ app မှာ bug တစ်ခုကို ဖြေရှင်းတာကို စိတ်ကူးပါ။ ဒါဟာ အိပ်မက်တစ်ခုမဟုတ်ပါဘူး ဒါက open source contribution ရဲ့ အဓိကပါ!
ဒီအကြောင်းကို စဉ်းစားတိုင်း အရမ်းလှုပ်ရှားစရာကောင်းတာက သင့်ရဲ့ code editor, သင့် browser, သင့် framework တွေ အားလုံးက developer တစ်ဦးရဲ့ ပထမဆုံး contribution ကနေစတင်ခဲ့တာပါ။ သင့်ရဲ့အကြိုက်ဆုံး VS Code extension ကို ဖန်တီးခဲ့တဲ့ developer? သူတို့လည်း သင့်လိုပဲ "create pull request" ကို click လုပ်တဲ့ beginner တစ်ဦးဖြစ်ခဲ့ပါတယ်။
ဒီအကြောင်းကို စဉ်းစားတိုင်း အမြဲတမ်း goosebumps ရပါတယ်: သင့်ရဲ့ code editor, သင်လေ့လာမယ့် frameworks, သင်ဖတ်နေတဲ့ browser အဲဒီအရာတွေကို တစ်ချို့ developer တွေက သူတို့ရဲ့ ပထမဆုံး contribution ကိုလုပ်ခဲ့တဲ့အချိန်မှာ စတင်ခဲ့တာပါ။ သင့်ရဲ့ အကြိုက်ဆုံး VS Code extension ကို တည်ဆောက်ခဲ့တဲ့ developer က သူတို့ရဲ့ ပထမဆုံး pull request ကို လုပ်ခဲ့တဲ့အချိန်မှာ သင့်လိုပဲ စိတ်လှုပ်ရှားခဲ့ပါတယ်။
အလှပဆုံးအပိုင်းကတော့ 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 မှာ သင့်စိတ်ဝင်စားတဲ့ repository (repo) ကိုရှာဖွေပြီး change တစ်ခုကို contribute လုပ်ချင်ပါတယ်။ repo ရဲ့ content ကို သင့် machine မှာ copy လုပ်ပါ။
အရင်ဆုံး GitHub မှာ သင့်စိတ်ဝင်စားတဲ့ repository (repo) တစ်ခုကို ရှာဖွေပြီး ပြောင်းလဲမှုတစ်ခုကို contribute လုပ်ချင်ပါတယ်။ အဲဒီ repo ရဲ့ content ကို သင့်ရဲ့ machine မှာ copy လုပ်ပါ။
✅ 'beginner-friendly' repo တွေကို [tag 'good-first-issue' နဲ့ရှာဖွေပါ](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/)။
✅ 'beginner-friendly' repo တွေကို [good-first-issue tag ကို search လုပ်ပြီး](https://github.blog/2020-01-22-browse-good-first-issues-to-start-contributing-to-open-source/) ရှာဖွေပါ
![Copy a repo locally](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.my.png)
![Repo ကို ဒေသခံမှာ copy လုပ်ပါ](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.my.png)
Code ကို copy လုပ်ဖို့နည်းလမ်းများစွာရှိပါတယ်။ Repository ရဲ့ content ကို HTTPS, SSH, GitHub CLI (Command Line Interface) ကိုသုံးပြီး "clone" လုပ်နိုင်ပါတယ်။
Code ကို copy လုပ်ဖို့ နည်းလမ်းအများကြီးရှိပါတယ်။ Repository ရဲ့ content ကို HTTPS, SSH, GitHub CLI (Command Line Interface) ကိုသုံးပြုပြီး "clone" လုပ်နိုင်ပါတယ်။
Terminal ကိုဖွင့်ပြီး repository ကို clone လုပ်ပါ:
Terminal ကို ဖွင့်ပြီး repository ကို clone လုပ်ပါ:
```bash
# Using HTTPS
git clone https://github.com/ProjectURL
@ -455,130 +457,130 @@ git clone git@github.com:username/repository.git
gh repo clone username/repository
```
Project ကိုအလုပ်လုပ်ဖို့ folder မှာ switch လုပ်ပါ:
Project ကို အလုပ်လုပ်ဖို့ folder မှာ switch လုပ်ပါ:
`cd ProjectURL`
Project အားလုံးကိုဖွင့်နိုင်တဲ့နည်းလမ်းများ:
Project တစ်ခုလုံးကို ဖွင့်နိုင်ပါတယ်:
- **[GitHub Codespaces](https://github.com/features/codespaces)** - GitHub ရဲ့ cloud development environment
- **[GitHub Desktop](https://desktop.github.com/)** - Git operation တွေအတွက် GUI application
- **[GitHub.dev](https://github.dev)** - GitHub repo မှာ `.` key ကိုနှိပ်ပြီး browser မှာ VS Code ကိုဖွင့်ပါ
- **[GitHub.dev](https://github.dev)** - GitHub repo မှာ `.` key ကို နှိပ်ပြီး browser မှာ VS Code ကို ဖွင့်ပါ
- **VS Code** GitHub Pull Requests extension နဲ့
နောက်ဆုံးမှာ code ကို zipped folder အနေနဲ့ download လုပ်နိုင်ပါတယ်။
### GitHub အကြောင်း စိတ်ဝင်စားစရာအချက်အချို့
### GitHub အကြောင်း စိတ်ဝင်စားစရာအချို့
GitHub မှာ public repository တစ်ခုကို star, watch, "fork" လုပ်နိုင်ပါတယ်။ Starred repositories တွေကို top-right drop-down menu မှာတွေ့နိုင်ပါတယ်။ Bookmark လုပ်တာလိုပဲ code အတွက်ပါ။
GitHub မှာ public repository တစ်ခုကို star, watch, "fork" လုပ်နိုင်ပါတယ်။ သင့်ရဲ့ starred repositories တွေကို အပေါ်ယာဉ် drop-down menu မှာတွေ့နိုင်ပါတယ်။ Bookmark လုပ်တာလိုပဲ၊ ဒါပေမဲ့ code အတွက်ပါ။
Project တွေမှာ issue tracker ရှိပါတယ်၊ အများစု GitHub ရဲ့ "Issues" tab မှာရှိပါတယ်၊ project နဲ့ပတ်သက်တဲ့ issue တွေကို ဆွေးနွေးဖို့နေရာပါ။ Pull Requests tab ကတော့ အပြောင်းအလဲတွေကို ဆွေးနွေးပြီး review လုပ်တဲ့နေရာပါ။
Project တွေမှာ issue tracker ရှိပါတယ်၊ အများစု GitHub ရဲ့ "Issues" tab မှာရှိပါတယ်၊ project နဲ့ပတ်သက်တဲ့ ပြဿနာတွေကို ဆွေးနွေးဖို့နေရာပါ။ Pull Requests tab မှာ ပြောင်းလဲမှုတွေကို ဆွေးနွေးပြီး review လုပ်ပါတယ်
Project တွေမှာ forum, mailing list, Slack, Discord, IRC လို chat channel တွေမှာ discussion တွေရှိနိုင်ပါတယ်။
Project တွေမှာ forum, mailing list, Slack, Discord, IRC လို chat channel တွေမှာ ဆွေးနွေးမှုတွေရှိနိုင်ပါတယ်။
🔧 **GitHub ရဲ့ ခေတ်မီ features**:
- **GitHub Discussions** - Community conversation တွေအတွက် forum
- **GitHub Sponsors** - Maintainer တွေကို ငွေကြေးပံ့ပိုးမှု
- **GitHub Discussions** - Community conversations အတွက် built-in forum
- **GitHub Sponsors** - Maintainers တွေကို ငွေကြေးအထောက်အကူပေးပါ
- **Security tab** - Vulnerability report နဲ့ security advisories
- **Actions tab** - Automated workflow နဲ့ CI/CD pipeline တွေ
- **Insights tab** - Contributor, commit, project health အတွက် analytics
- **Projects tab** - GitHub ရဲ့ project management tools
- **Actions tab** - Automated workflows နဲ့ CI/CD pipelines တွေကိုကြည့်ပါ
- **Insights tab** - Contributors, commits, project health အကြောင analytics
- **Projects tab** - GitHub ရဲ့ built-in project management tools
✅ GitHub repo အသစ်ကို လေ့လာပြီး setting တွေကို edit လုပ်ပါ၊ repo အတွက် အချက်အလက်တွေထည့်ပါ၊ project တစ်ခု (Kanban board လို) ဖန်တီးပါ၊ GitHub Actions ကို automation အတွက် set up လုပ်ပါ။ GitHub မှာလုပ်နိုင်တဲ့အရာတွေ အများကြီးရှိပါတယ်!
✅ GitHub repo အသစ်ကို လေ့လာပြီး settings ကို edit လုပ်တာ၊ repo အတွက် အချက်အလက်တွေထည့်တာ၊ project တစ်ခု (Kanban board လို) ဖန်တီးတာ၊ GitHub Actions ကို automation အတွက် set up လုပ်တာ စတဲ့အရာတွေကို လုပ်ကြည့်ပါ။ GitHub မှာ လုပ်နိုင်တဲ့အရာတွေ အများကြီးရှိပါတယ်!
---
## 🚀 စိန်ခေါ်မှု
## 🚀 စိန်ခေါ်မှု
GitHub ရဲ့ superpower အသစ်တွေကို စမ်းသပ်ဖို့အချိန်ရောက်ပါပြီ! 🚀 အောက်ပါ challenge ကို လုပ်ဆောင်ပြီး သင့်ရဲ့ GitHub အတတ်ပညာကို အကောင်းဆုံးနားလည်စေပါ:
အိုကေ၊ သင့်ရဲ့ GitHub superpowers အသစ်ကို စမ်းသပ်ဖို့အချိန်ရောက်ပါပြီ! 🚀 ဒီစိန်ခေါ်မှုက သင့်ရဲ့ အတန်းတွေကို အလွန်စိတ်ကျေနပ်စေမယ့်နည်းလမ်းတစ်ခုပါ:
သူငယ်ချင်းတစ်ဦး (သို့မဟုတ် သင့်ရဲ့ computer stuff အကြောင်းမေးနေတဲ့ မိသားစုဝင်) ကိုဖမ်းပြီး coding adventure ကိုအတူတူစတင်ပါ! Project တစ်ခုဖန်တီးပြီး fork လုပ်ပါ၊ branch တွေဖန်တီးပြီး pro လိုပဲ changes တွေကို merge လုပ်ပါ။
မိတ်ဆွေတစ်ယောက် (သို့မဟုတ် သင့်ရဲ့ computer stuff အကြောင်း အမြဲမေးတဲ့ မိသားစုဝင်တစ်ယောက်) ကို ဖမ်းပြီး အတူတူ coding adventure တစ်ခုကို စတင်ပါ! Project တစ်ခုဖန်တီးပြီး သူတို့ fork လုပ်ပါစေ၊ branch တွေဖန်တီးပြီး pro တွေလို changes တွေ merge လုပ်ပါ။
Coding buddy မရှိသေးလား? စိတ်မပူပါနဲ့! GitHub community က အရမ်းကြိုဆိုတဲ့လူတွေရှိပါတယ်။ "good first issue" label တွေပါတဲ့ repo တွေကိုရှာပါ သူတို့က "Hey beginners, come learn with us!" လို့ပြောနေပါတယ်။ အရမ်းအေးပါတယ်မဟုတ်လား?
Coding buddy မရှိသေးလား? စိတ်မပူပါနဲ့! GitHub community က အလွန်ကြိုဆိုတဲ့လူတွေ အများကြီးရှိပါတယ်။ "good first issue" label တွေပါတဲ့ repo တွေကို ရှာဖွေပါ သူတို့ basically "Hey beginners, come learn with us!" လို့ပြောနေပါတယ်။ အဲဒါက အရမ်းအေးပါတယ်မဟုတ်လား?
## Post-Lecture Quiz
[Post-lecture quiz](https://ff-quizzes.netlify.app/web/en/)
## Review & Keep Learning
အို! 🎉 သင် GitHub ရဲ့ basic တွေကို အောင်မြင်စွာကျော်ဖြတ်လိုက်ပြီ! သင့်ရဲ့ ဦးနှောက်က အနည်းငယ်ပြည့်နေတယ်လို့ခံစားရရင်၊ ဒါက အကောင်းဆုံးလက္ခဏာပါ။ Developer တွေရဲ့ toolkit မှာ အရေးကြီးတဲ့ tools တွေကို သင့်ရဲ့အတတ်ပညာအဖြစ် သင်ယူပြီးသားဖြစ်ပါတယ်
အို! 🎉 သင် GitHub basics ကို အလွန်အောင်မြင်စွာ ကျော်လွှားလိုက်ပြီ! Brain အနည်းငယ်ပြည့်နေတယ်လို့ ခံစားရရင် အဲဒါက အလွန်ပုံမှန်ပြီး အကောင်းဆုံးအချက်ပြပါ။ Developer တွေရဲ့ toolkit မှာ အရေးကြီးဆုံး tools တွေကို သင့်ရဲ့ အတန်းကနေ ကျော်လွှားလိုက်ပြီဆိုတာ အမှန်ပါ
Git နဲ့ GitHub က အရမ်းအစွမ်းထက်ပါတယ် (တကယ်တော့ အရမ်းအစွမ်းထက်ပါတယ်)၊ Developer တွေကလည်း အစမှာ practice လုပ်ပြီး stumble လုပ်ခဲ့ရပါတယ်။ Lesson ကိုပြီးမြောက်နိုင်တာက သင့်ရဲ့အတတ်ပညာတိုးတက်မှုရဲ့ အစပြုချက်ပါ။
Git နဲ့ GitHub က အလွန်အစွမ်းထက်ပါတယ် (အရမ်းအစွမ်းထက်ပါတယ်)၊ Developer တွေ အားလုံး wizard လိုပဲမြင်ရတဲ့သူတွေပါ အဲဒီ tools တွေကို သင့်လိုပဲ လေ့ကျင့်ပြီး stumble လုပ်ခဲ့ရပါတယ်။ Lesson ကို ကျော်လွှားလိုက်ပြီဆိုတာ သင့်ရဲ့ အတန်းတွေကို အောင်မြင်စွာ ကျော်လွှားလိုက်ပြီဆိုတာပါ။
အောက်ပါ resource တွေက သင့်ကို ပိုမိုတိုးတက်အောင်လုပ်ပေးနိုင်ပါတယ်:
ဒီ resource တွေက သင့်ကို practice လုပ်ပြီး ပိုမိုအောင်မြင်အောင် ကူညီပေးပါမယ်:
- [Open source software guide](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) အကျိုးသက်ရောက်မှုဖန်တီးဖို့ roadmap
- [Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/) Quick reference အတွက် handy ဖြစ်တဲ့ cheatsheet
- [Open source software guide](https://opensource.guide/how-to-contribute/#how-to-submit-a-contribution) အကျိုးသက်ရောက်မှုကို ဖန်တီးဖို့ roadmap
- [Git cheatsheet](https://training.github.com/downloads/github-git-cheat-sheet/) Quick reference အတွက် handy ဖြစ်တဲ့ cheatsheet!
GitHub ရဲ့ interactive course တွေက safe environment မှာ practice လုပ်ဖို့အတွက် အကောင်းဆုံးပါ:
Practice makes progress, not perfection! Git နဲ့ GitHub ကို ပိုမိုအသုံးပြုသင့်ပါတယ်၊ အဲဒါက ပိုမိုသဘာဝကျလာပါမယ်။ GitHub ရဲ့ interactive courses တွေက safe environment မှာ practice လုပ်ဖို့အတွက် အလွန်အကောင်းဆုံးပါ:
- [Introduction to GitHub](https://github.com/skills/introduction-to-github)
- [Communicate using Markdown](https://github.com/skills/communicate-using-markdown)
- [GitHub Pages](https://github.com/skills/github-pages)
- [Managing merge conflicts](https://github.com/skills/resolve-merge-conflicts)
**Feeling adventurous? Modern tools တွေကိုစမ်းသပ်ပါ:**
- [GitHub CLI documentation](https://cli.github.com/manual/) Command-line wizard ဖြစ်ဖို့
- [GitHub Codespaces documentation](https://docs.github.com/en/codespaces) Cloud-based coding
- [GitHub Actions documentation](https://docs.github.com/en/actions) Automation အတွက်
- [Git best practices](https://www.atlassian.com/git/tutorials/comparing-workflows) Workflow ကို level up လုပ်ပါ
**Feeling adventurous? Modern tools တွေကို စမ်းကြည့်ပါ:**
- [GitHub CLI documentation](https://cli.github.com/manual/) Command-line wizard လိုခံစားဖို့
- [GitHub Codespaces documentation](https://docs.github.com/en/codespaces) Cloud မှာ code လုပ်ပါ!
- [GitHub Actions documentation](https://docs.github.com/en/actions) အရာအားလုံးကို automate လုပ်ပါ
- [Git best practices](https://www.atlassian.com/git/tutorials/comparing-workflows) Workflow game ကို Level up လုပ်ပါ
## GitHub Copilot Agent Challenge 🚀
Agent mode ကိုသုံးပြီး challenge ကိုပြီးမြောက်ပါ:
Agent mode ကိုသုံးပြုပြီး အောက်ပါ challenge ကို ပြီးမြောက်ပါ:
**Description:** GitHub workflow အားလုံးကို သင့်ရဲ့ web development project မှာ အသုံးပြုပါ။
**Description:** GitHub workflow အပြည့်အစုံကို သင့်ရဲ့ real-world scenario မှာ practice လုပ်ဖို့ collaborative web development project တစ်ခုကို ဖန်တီးပါ။
**Prompt:** "Web Development Resources" project အတွက် public GitHub repository အသစ်တစ်ခုဖန်တီးပါ။ README.md file ကို categories (HTML, CSS, JavaScript, etc.) အလိုက် useful resources တွေကို စနစ်တကျရေးပါ။ License, contributing guidelines, code of conduct ပါဝင်တဲ့ community standards ကို set up လုပ်ပါ။ CSS resources အတွက် feature branch တစ်ခု၊ JavaScript resources အတွက် feature branch တစ်ခုဖန်တီးပါ။ Descriptive commit message တွေကိုအသုံးပြုပြီး commit လုပ်ပါ၊ pull request တွေကို create လုပ်ပြီး main branch နဲ့ merge လုပ်ပါ။ GitHub features တွေကို enable လုပ်ပြီး automation checks အတွက် GitHub Actions workflow ကို set up လုပ်ပါ။
**Prompt:** "Web Development Resources" project အတွက် public GitHub repository အသစ်တစ်ခုကို ဖန်တီးပါ။ README.md file ကို categories (HTML, CSS, JavaScript, etc.) အလိုက် useful web development tools နဲ့ resources တွေကို စနစ်တကျ စီစဉ်ထားပါ။ License, contributing guidelines, code of conduct ပါဝင်တဲ့ community standards တွေကို repository မှာ set up လုပ်ပါ။ CSS resources အတွက် feature branch တစ်ခု၊ JavaScript resources အတွက် feature branch တစ်ခု ဖန်တီးပါ။ Descriptive commit messages နဲ့ commit လုပ်ပြီး changes တွေကို main branch နဲ့ merge လုပ်ဖို့ pull request ဖန်တီးပါ။ Issues, Discussions, GitHub Actions workflow အတွက် automation checks တွေကို enable လုပ်ပါ။
## Assignment
Mission: [Introduction to GitHub](https://github.com/skills/introduction-to-github) course ကိုပြီးမြောက်ပါ။ Interactive course က သင့်ကို safe environment မှာ လေ့ကျင့်စေမှာပါ။ Course ပြီးမြောက်ရင် badge 🏅 ရမှာပါ!
သင့်ရဲ့ mission: GitHub Skills ရဲ့ [Introduction to GitHub](https://github.com/skills/introduction-to-github) course ကို ပြီးမြောက်ပါ။ Interactive course က သင့်ကို လမ်းညွှန်ပြီး သင့်ရဲ့ အတန်းတွေကို safe environment မှာ practice လုပ်ခွင့်ပေးပါမယ်။ Course ပြီးမြောက်တဲ့အခါ badge ရပါမယ်! 🏅
**Feeling ready for more challenges?**
- GitHub account အတွက် SSH authentication set up လုပ်ပါ
- GitHub CLI ကို Git operation တွေအတွက် daily သုံးပါ
- GitHub Actions workflow ပါတဲ့ repository တစ်ခုဖန်တီးပါ
- GitHub Codespaces ကိုစမ်းသပ်ပါ
- GitHub account အတွက် SSH authentication ကို set up လုပ်ပါ (password မလိုတော့ဘူး!)
- GitHub CLI ကို သင့်ရဲ့ Git operations အတွက် အသုံးပြုပါ
- GitHub Actions workflow ပါတဲ့ repository တစ်ခုကို ဖန်တီးပါ
- GitHub Codespaces ကို စမ်းကြည့်ပြီး cloud-based editor ကို ဖွင့်ပါ
---
## 🚀 GitHub Mastery Timeline
### ⚡ **Next 5 Minutes**
- [ ] Repository 3 ခုကို star လုပ်ပါ
- [ ] GitHub account အတွက် two-factor authentication set up လုပ်ပါ
- [ ] README ရေးပြီး repository တစ်ခုဖန်တီးပါ
- [ ] Developer 5 ဦးကို follow လုပ်ပါ
### 🎯 **Next Hour**
- [ ] Post-lesson quiz ကိုပြီးမြောက်ပါ
- [ ] SSH keys set up လုပ်ပါ
- [ ] Commit message ကောင်းတစ်ခုနဲ့ meaningful commit တစ်ခုလုပ်ပါ
- [ ] GitHub ရဲ့ "Explore" tab ကိုလေ့လာပါ
- [ ] Repository တစ်ခုကို fork လုပ်ပြီး small change လုပ်ပါ
- [ ] Repository ကို star လုပ်ပြီး သင့်စိတ်ဝင်စားတဲ့ 3 ခုကို star လုပ်ပါ
- [ ] GitHub account အတွက် two-factor authentication ကို set up လုပ်ပါ
- [ ] README ရိုးရှင်းတဲ့ file ကို သင့်ရဲ့ ပထမဆုံး repository အတွက် ဖန်တီးပါ
- [ ] သင့်ကို inspire လုပ်တဲ့ developer 5 ယောက်ကို follow လုပ်ပါ
### 🎯 **This Hour**
- [ ] Post-lesson quiz ကို ပြီးမြောက်ပြီး GitHub journey ကို reflect လုပ်ပါ
- [ ] GitHub authentication အတွက် SSH keys ကို set up လုပ်ပါ
- [ ] Commit message ကောင်းတစ်ခုနဲ့ meaningful commit တစ်ခုကို ဖန်တီးပါ
- [ ] GitHub ရဲ့ "Explore" tab ကို explore လုပ်ပြီး trending projects တွေကို ရှာဖွေပါ
- [ ] Repository တစ်ခုကို fork လုပ်ပြီး small change တစ်ခုကို လုပ်ပါ
### 📅 **Week-Long Adventure**
- [ ] GitHub Skills courses (Introduction to GitHub, Markdown) ကိုပြီးမြောက်ပါ
- [ ] Open source project တစ်ခုမှာ ပထမဆုံး pull request လုပ်ပါ
- [ ] GitHub Pages site တစ်ခုဖန်တီးပါ
- [ ] GitHub Discussions တွေမှာ ပါဝင်ပါ
- [ ] Community standards (README, License, etc.) ပါတဲ့ repository တစ်ခုဖန်တီးပါ
- [ ] GitHub Codespaces ကိုစမ်းသပ်ပါ
- [ ] GitHub Skills courses (Introduction to GitHub, Markdown) ကို ပြီးမြောက်ပါ
- [ ] Open source project တစ်ခုကို ပထမဆုံး pull request လုပ်ပါ
- [ ] GitHub Pages site ကို set up လုပ်ပြီး သင့်ရဲ့ အလုပ်တွေကို ပြသပါ
- [ ] GitHub Discussions မှာ သင့်စိတ်ဝင်စားတဲ့ project တွေကို join လုပ်ပါ
- [ ] README, License ပါတဲ့ community standards အပြည့်အစုံပါတဲ့ repository တစ်ခုကို ဖန်တီးပါ
- [ ] GitHub Codespaces ကို စမ်းကြည့်ပြီး cloud-based development ကို စတင်ပါ
### 🌟 **Month-Long Transformation**
- [ ] Open source project 3 ခုကို contribute လုပ်ပါ
- [ ] GitHub အသစ်တစ်ဦးကို mentor လုပ်ပါ
- [ ] GitHub Actions workflow set up လုပ်ပါ
- [ ] GitHub contribution တွေကို showcase လုပ်တဲ့ portfolio တစ်ခုဖန်တီးပါ
- [ ] Hacktoberfest လို community events တွေမှာပါဝင်ပါ
- [ ] သင့် project ကို maintainer ဖြစ်ပြီး အခြားသူတွေ contribute လုပ်နိုင်အောင်လုပ်ပါ
- [ ] GitHub အသစ်တစ်ယောက်ကို mentor လုပ်ပါ (pay it forward!)
- [ ] GitHub Actions နဲ့ automated workflows တွေကို set up လုပ်ပါ
- [ ] GitHub contributions တွေကို ပြသတဲ့ portfolio တစ်ခုကို တည်ဆောက်ပါ
- [ ] Hacktoberfest သို့မဟုတ် အခြား community events တွေကို ပါဝင်ပါ
- [ ] သင့်ကိုယ်ပိုင် project ကို maintainer ဖြစ်ပြီး အခြားသူတွေ contribute လုပ်ပါစေ
### 🎓 **Final GitHub Mastery Check-in**
**Celebrate how far you've come:**
- GitHub ကိုသုံးရတာမှာ သင့်အကြိုက်ဆုံးအရာကဘာလဲ?
- Collaboration feature တွေထဲမှာ သင့်ကိုအရမ်းစိတ်လှုပ်ရှားစေတဲ့အရာကဘာလဲ?
- Open source ကို contribute လုပ်ဖို့ သင့်ရဲ့ self-confidence ဘယ်လောက်ရှိလဲ?
- ပထမဆုံး contribute လုပ်ချင်တဲ့ project ကဘာလဲ?
- GitHub ကို အသုံးပြုတဲ့အခါ သင့်အကြိုက်ဆုံးအရာက ဘာလဲ?
- Collaboration feature တွေထဲမှာ သင့်ကို အရမ်းစိတ်လှုပ်ရှားစေတဲ့ feature က ဘာလဲ?
- Open source ကို contribute လုပ်ဖို့ ဘယ်လောက် self-confident ရှိလဲ?
- ပထမဆုံး contribute လုပ်ချင်တဲ့ project က ဘာလဲ?
```mermaid
journey
@ -597,11 +599,11 @@ journey
Inspiring Others: 5: You
```
> 🌍 **Global developer community မှာ ကြိုဆိုပါတယ်!** Developer သန်းပေါင်းများစွာနဲ့အတူတူ အလုပ်လုပ်ဖို့ tools တွေရှိပြီ။ သင့်ရဲ့ ပထမဆုံး contribution က သေးငယ်နေပေမဲ့ major open source project တစ်ခုစတင်ခဲ့တဲ့အချိန်မှာလည်း ပထမဆုံး commit တစ်ခုကနေစတင်ခဲ့တာပါ။ သင့်ရဲ့ unique perspective က ဘယ် project ကိုအကျိုးသက်ရောက်မှုပေးမလဲဆိုတာက အဓိကပါ! 🚀
Expert တစ်ဦးကလည်း beginner တစ်ဦးဖြစ်ခဲ့ပါတယ်။ သင့်မှာအောင်မြင်နိုင်တဲ့အခွင့်အရေးရှိပါတယ်! 💪
> 🌍 **Global developer community ကို ကြိုဆိုပါတယ်!** Developer သန်းပေါင်းများစွာနဲ့ အတူတူ ပူးပေါင်းလုပ်ဆောင်ဖို့ tools တွေကို သင်ရရှိလိုက်ပြီ။ သင့်ရဲ့ ပထမဆုံး contribution က သေးငယ်တဲ့အရာလိုပဲ ခံစားရနိုင်ပါတယ်၊ ဒါပေမဲ့ အရေးကြီး open source project တစ်ခုစလို့ ပထမဆုံး commit ကိုလုပ်ခဲ့တဲ့ developer တစ်ယောက်ကနေ စတင်ခဲ့တာပါ။ သင့်ရဲ့ unique perspective က ဘယ် project ကို
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**အကြောင်းကြားချက်**:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရ အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များကို အသုံးပြုရန် အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု [Co-op Translator](https://github.com/Azure/co-op-translator) ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှုအတွက် ကြိုးစားနေသော်လည်း အလိုအလျောက် ဘာသာပြန်မှုများတွင် အမှားများ သို့မဟုတ် မမှန်ကန်မှုများ ပါဝင်နိုင်သည်ကို သတိပြုပါ။ မူရင်းဘာသာစကားဖြင့် ရေးသားထားသော စာရွက်စာတမ်းကို အာဏာတရားရှိသော အရင်းအမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူက ဘာသာပြန်မှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်မှုကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော အလွဲအမှားများ သို့မဟုတ် အနားလွဲမှုများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,21 +1,21 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0fe3ff66299b447f1c8cb34dcbf0c5ef",
"translation_date": "2025-11-06T13:26:05+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-18T18:52:37+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "uk"
}
-->
# Вступ до GitHub
Привіт, майбутній розробнику! 👋 Готовий приєднатися до мільйонів кодерів по всьому світу? Я щиро радий представити тобі GitHub уяви це як соціальну мережу для програмістів, але замість фотографій обіду ми ділимося кодом і створюємо неймовірні речі разом!
Привіт, майбутній розробнику! 👋 Готовий приєднатися до мільйонів кодерів по всьому світу? Я щиро радий познайомити тебе з GitHub уяви це як соціальну мережу для програмістів, але замість фото обідів ми ділимося кодом і створюємо неймовірні речі разом!
Ось що мене вражає: кожен додаток на твоєму телефоні, кожен вебсайт, який ти відвідуєш, і більшість інструментів, які ти навчишся використовувати, були створені командами розробників, які співпрацювали на платформах, таких як GitHub. Той музичний додаток, який ти любиш? Хтось, як ти, зробив свій внесок у його створення. Та гра, від якої ти не можеш відірватися? Так, ймовірно, була створена за допомогою співпраці на GitHub. А тепер ТИ навчишся бути частиною цієї дивовижної спільноти!
Ось що мене вражає: кожен додаток на твоєму телефоні, кожен вебсайт, який ти відвідуєш, і більшість інструментів, які ти навчишся використовувати, були створені командами розробників, які співпрацювали на платформах, подібних до GitHub. Той музичний додаток, який ти любиш? Хтось, як ти, зробив свій внесок у його створення. Та гра, від якої ти не можеш відірватися? Так, ймовірно, створена за допомогою співпраці на GitHub. А тепер ТИ навчишся бути частиною цієї дивовижної спільноти!
Я знаю, що спочатку це може здатися складним чесно кажучи, я пам'ятаю, як дивився на свою першу сторінку GitHub і думав: "Що це все означає?" Але ось у чому справа: кожен розробник починав саме там, де ти зараз. До кінця цього уроку ти матимеш власний репозиторій на GitHub (уяви це як свою персональну вітрину проектів у хмарі), і ти знатимеш, як зберігати свою роботу, ділитися нею з іншими та навіть робити внесок у проекти, якими користуються мільйони людей.
Я знаю, це може здатися складним на початку чесно, я пам’ятаю, як дивився на свою першу сторінку GitHub і думав: "Що це все означає?" Але ось у чому справа: кожен розробник починав саме там, де ти зараз. До кінця цього уроку ти матимеш свій власний репозиторій на GitHub (уяви це як свою персональну вітрину проєктів у хмарі), і ти знатимеш, як зберігати свою роботу, ділитися нею з іншими і навіть робити внесок у проєкти, якими користуються мільйони людей.
Ми пройдемо цей шлях разом, крок за кроком. Без поспіху, без тиску лише ти, я і кілька крутих інструментів, які стануть твоїми новими найкращими друзями!
Ми пройдемо цей шлях разом, крок за кроком. Без поспіху, без тиску лише ти, я і кілька дійсно крутих інструментів, які стануть твоїми новими найкращими друзями!
![Вступ до GitHub](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.uk.png)
> Скетчноут від [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`, щоб захистити чутливі дані.
**Сучасне налаштування аутентифікації:**
@ -114,19 +114,19 @@ ssh-keygen -t ed25519 -C "your_email@example.com"
git remote set-url origin git@github.com:username/repository.git
```
> 💡 **Порада професіонала**: SSH ключі усувають необхідність постійного введення паролів і є більш безпечними, ніж традиційні методи аутентифікації.
> 💡 **Порада професіонала**: SSH-ключі усувають необхідність постійно вводити паролі і є більш безпечними, ніж традиційні методи аутентифікації.
---
## Управління кодом як професіонал
Окей, ОЦЕ те, де все стає справді захоплюючим! 🎉 Ми збираємося навчитися відстежувати і управляти твоїм кодом, як це роблять професіонали, і чесно кажучи, це одна з моїх улюблених тем для навчання, тому що це справжній переворот.
Окей, ось тут починається справжній екшн! 🎉 Ми зараз навчимося відстежувати і керувати твоїм кодом, як це роблять професіонали, і чесно кажучи, це одна з моїх улюблених тем для навчання, тому що це справжній переворот у грі.
Уяви це: ти пишеш дивовижну історію і хочеш зберігати кожен чернетку, кожне блискуче редагування і кожен момент "оце так геніально!" на шляху. Саме це Git робить для твого коду! Це як мати неймовірний блокнот, що подорожує у часі і запам'ятовує ВСЕ кожен натиск клавіші, кожну зміну, кожен момент "ой, це все зламало", який ти можеш миттєво скасувати.
Уяви: ти пишеш дивовижну історію і хочеш зберігати кожен чернетковий варіант, кожне блискуче редагування і кожен момент "оце так геніально!". Саме це Git робить для твого коду! Це як мати найкращий у світі блокнот, що подорожує в часі і запам’ятовує ВСЕ кожен натиск клавіші, кожну зміну, кожен момент "ой, це все зламало", який ти можеш миттєво скасувати.
Чесно кажучи, спочатку це може здатися складним. Коли я починав, я думав: "Чому я просто не можу зберігати свої файли, як зазвичай?" Але повір мені: як тільки Git стане зрозумілим (а це станеться!), ти матимеш той момент осяяння, коли подумаєш: "Як я взагалі міг програмувати без цього?" Це як відкрити, що ти можеш літати, коли все життя ходив пішки!
Зізнаюся спочатку це може здатися складним. Коли я починав, я думав: "Чому я не можу просто зберігати файли, як зазвичай?" Але повір мені: як тільки Git стане зрозумілим (а це станеться!), ти матимеш той момент осяяння, коли подумаєш: "Як я взагалі міг кодувати без цього?" Це як відкрити, що ти можеш літати, коли все життя ходив пішки!
Уявімо, що у тебе є папка локально з якимось проектом коду, і ти хочеш почати відстежувати свій прогрес за допомогою git системи контролю версій. Дехто порівнює використання git із написанням любовного листа до свого майбутнього "я". Читаючи свої повідомлення комітів через дні, тижні чи місяці, ти зможеш згадати, чому прийняв те чи інше рішення, або "відкотити" зміну тобто, якщо ти пишеш хороші "повідомлення комітів".
Припустимо, у тебе є папка з кодовим проєктом, і ти хочеш почати відстежувати свій прогрес за допомогою git системи контролю версій. Дехто порівнює використання git із написанням любовного листа до свого майбутнього "я". Читаючи свої повідомлення про коміти через дні, тижні чи місяці, ти зможеш згадати, чому прийняв те чи інше рішення, або "відкотити" зміни звісно, якщо ти пишеш хороші повідомлення про коміти.
```mermaid
flowchart TD
@ -154,13 +154,13 @@ flowchart TD
### Завдання: Створи свій перший репозиторій!
> 🎯 **Твоя місія (і я так радий за тебе!)**: Ми разом створимо твій перший репозиторій на GitHub! До кінця цього уроку ти матимеш свій власний куточок в інтернеті, де буде зберігатися твій код, і ти зробиш свій перший "коміт" (це розробницька мова для збереження твоєї роботи дуже розумним способом).
> 🎯 **Твоя місія (і я дуже радий за тебе!)**: Ми разом створимо твій перший репозиторій на GitHub! До кінця цього завдання у тебе буде свій власний куточок в інтернеті, де житиме твій код, і ти зробиш свій перший "коміт" (це розробницький термін для розумного збереження твоєї роботи).
>
> Це справді особливий момент ти офіційно приєднуєшся до глобальної спільноти розробників! Я досі пам'ятаю хвилювання від створення свого першого репозиторію і думки: "Вау, я справді це роблю!"
> Це справді особливий момент ти офіційно приєднуєшся до глобальної спільноти розробників! Я досі памятаю хвилювання від створення свого першого репозиторію і думки: "Вау, я справді це роблю!"
Давай пройдемо цей шлях разом, крок за кроком. Не поспішай з кожною частиною тут немає призу за швидкість, і я обіцяю, кожен крок буде зрозумілим. Пам'ятай, кожна зірка програмування, яку ти захоплюєшся, колись сиділа саме там, де ти зараз, готуючись створити свій перший репозиторій. Як це круто?
Давай пройдемо цей шлях разом, крок за кроком. Не поспішай тут немає нагороди за швидкість, і я обіцяю, що кожен крок матиме сенс. Пам’ятай, кожна зірка кодування, якою ти захоплюєшся, колись сиділа саме там, де ти зараз, і створювала свій перший репозиторій. Як це круто?
> Переглянь відео
> Подивись відео
>
> [![Відео про основи Git і GitHub](https://img.youtube.com/vi/9R31OUPpxU4/0.jpg)](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. Це як бути частиною найбільшого, найкреативнішого командного проєкту у світі!
> Перегляньте відео
> Подивіться відео
>
> [![Відео основи Git і GitHub](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](https://www.youtube.com/watch?v=bFCM-PC3cu8)
> [![Основи Git і GitHub](https://img.youtube.com/vi/bFCM-PC3cu8/0.jpg)](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/).
![Скопіювати репозиторій локально](../../../../translated_images/clone_repo.5085c48d666ead57664f050d806e325d7f883be6838c821e08bc823ab7c66665.uk.png)
Існує кілька способів копіювання коду. Один із них "клонувати" вміст репозиторію, використовуючи HTTPS, SSH або GitHub CLI (Command Line Interface).
Відкрийте термінал і клонуйте репозиторій таким чином:
Відкрийте ваш термінал і клонуйте репозиторій таким чином:
```bash
# Using HTTPS
git clone https://github.com/ProjectURL
@ -602,59 +602,59 @@ gh repo clone username/repository
Щоб працювати над проектом, перейдіть до потрібної папки:
`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" вони фактично кажуть "Гей, новачки, приходьте вчитися з нами!" Як це круто?
## Післялекційний тест
[Післялекційний тест](https://ff-quizzes.netlify.app/web/en/)
## Огляд і продовження навчання
Ух! 🎉 Подивіться на себе ви щойно освоїли основи 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)
@ -665,23 +665,23 @@ Git і GitHub неймовірно потужні (серйозно потужн
- [Документація 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, відкривши цей самий репозиторій у хмарному редакторі
@ -696,23 +696,23 @@ Git і GitHub неймовірно потужні (серйозно потужн
- [ ] Підпишіться на 5 розробників, чия робота вас надихає
### 🎯 **Що ви можете досягти за годину**
- [ ] Пройдіть післялекційний тест і подумайте про ваш шлях у GitHub
- [ ] Налаштуйте SSH-ключі для аутентифікації в GitHub без паролів
- [ ] Зробіть ваш перший значущий коміт з чудовим повідомленням
- [ ] Завершіть післялекційний тест і подумайте про ваш шлях у GitHub
- [ ] Налаштуйте SSH-ключі для аутентифікації GitHub без паролів
- [ ] Зробіть ваш перший значущий коміт з чудовим повідомленням про коміт
- [ ] Досліджуйте вкладку "Explore" на GitHub, щоб знайти популярні проекти
- [ ] Практикуйте форк репозиторію та внесіть невеликі зміни
- [ ] Практикуйте форк репозиторію та внесення невеликої зміни
### 📅 **Ваш тижневий GitHub-пригода**
- [ ] Пройдіть курси GitHub Skills (Вступ до GitHub, Markdown)
- [ ] Завершіть курси GitHub Skills (Вступ до GitHub, Markdown)
- [ ] Зробіть ваш перший pull request до проекту з відкритим кодом
- [ ] Налаштуйте сайт GitHub Pages, щоб показати вашу роботу
- [ ] Налаштуйте сайт GitHub Pages, щоб продемонструвати вашу роботу
- [ ] Приєднайтеся до обговорень GitHub у проектах, які вас цікавлять
- [ ] Створіть репозиторій з належними стандартами спільноти (README, Ліцензія тощо)
- [ ] Спробуйте GitHub Codespaces для хмарної розробки
- [ ] Створіть репозиторій з відповідними стандартами спільноти (README, Ліцензія тощо)
- [ ] Спробуйте GitHub Codespaces для розробки в хмарі
### 🌟 **Ваш місячний трансформаційний шлях**
- [ ] Внесіть зміни до 3 різних проектів з відкритим кодом
- [ ] Станьте наставником для когось нового в GitHub (передайте знання!)
- [ ] Наставляйте когось нового в GitHub (передайте знання!)
- [ ] Налаштуйте автоматизовані робочі процеси з GitHub Actions
- [ ] Створіть портфоліо, яке демонструє ваші внески в GitHub
- [ ] Візьміть участь у Hacktoberfest або подібних спільнотних заходах
@ -721,9 +721,9 @@ Git і GitHub неймовірно потужні (серйозно потужн
### 🎓 **Фінальна перевірка освоєння GitHub**
**Відсвяткуйте, як далеко ви зайшли:**
- Що вам найбільше подобається в використанні 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). Хоча ми прагнемо до точності, звертаємо вашу увагу, що автоматичні переклади можуть містити помилки або неточності. Оригінальний документ на його рідній мові слід вважати авторитетним джерелом. Для критично важливої інформації рекомендується професійний людський переклад. Ми не несемо відповідальності за будь-які непорозуміння або неправильні тлумачення, що виникли внаслідок використання цього перекладу.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->

@ -1,21 +1,21 @@
<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "0fe3ff66299b447f1c8cb34dcbf0c5ef",
"translation_date": "2025-11-06T11:18:07+00:00",
"original_hash": "5c383cc2cc23bb164b06417d1c107a44",
"translation_date": "2025-11-18T18:36:54+00:00",
"source_file": "1-getting-started-lessons/2-github-basics/README.md",
"language_code": "vi"
}
-->
# Giới thiệu về GitHub
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ẻ 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!
![Giới thiệu về GitHub](../../../../translated_images/webdev101-github.8846d7971abef6f947909b4f9d343e2a23778aa716ca6b9d71df7174ee5009ac.vi.png)
> 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 , đừ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.
**Thiết lập xác thực hiện đại:**
@ -114,19 +114,19 @@ ssh-keygen -t ed25519 -C "your_email@example.com"
git remote set-url origin git@github.com:username/repository.git
```
> 💡 **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 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òng tiêu đ ca bn đâ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".
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 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 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__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:
```bash
gh pr create --title "Your PR title" --body "Description of changes"
```
🔧 **Thực hành tốt nhất cho PR**:
- 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 Security** - Báo cáo lỗ hổng và tư vấn bảo mật
- **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 Codespaces](https://docs.github.com/en/codespaces) Viết mã trên đám mây!
- [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 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.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->
Loading…
Cancel
Save