> For the complete documentation index, see [llms.txt](https://learn.devlabss.my.id/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://learn.devlabss.my.id/laravel/bab-13-pengayaan-proyek-and-portofolio/13.1-git-and-github-dasar.md).

# 13.1 Git & GitHub Dasar

## Git & GitHub dasar

Setelah proyek mulai rapi, simpan hasil kerja dengan benar.

Di tahap ini, Git dipakai untuk mencatat perubahan.

GitHub dipakai untuk menyimpan proyek secara online dan membangun portofolio.

### Target praktik subbab ini

Setelah menyelesaikan subbab ini, Anda seharusnya bisa:

* membuat repository Git lokal
* membuat commit pertama
* membuat repository GitHub
* menghubungkan proyek lokal ke GitHub
* mendorong proyek Laravel ke repository online

### Langkah praktik step-by-step

{% stepper %}
{% step %}

### Buka terminal di folder proyek

Masuk ke folder proyek `e-library`.

Pastikan Anda berada di root proyek Laravel.
{% endstep %}

{% step %}

### Inisialisasi Git

Jalankan perintah berikut:

```bash
git init
```

Perintah ini membuat repository Git lokal.
{% endstep %}

{% step %}

### Cek file yang akan disimpan

Jalankan:

```bash
git status
```

Git akan menampilkan file yang belum dicatat.
{% endstep %}

{% step %}

### Tambahkan semua file ke staging

Jalankan:

```bash
git add .
```

Lalu buat commit pertama:

```bash
git commit -m "Initial commit proyek e-library"
```

{% endstep %}

{% step %}

### Buat repository di GitHub

Buka GitHub.

Buat repository baru dengan nama misalnya `e-library-smk`.

Jangan isi README jika proyek lokal sudah punya isi.
{% endstep %}

{% step %}

### Hubungkan proyek lokal ke GitHub

Jalankan perintah dari GitHub yang sesuai dengan repository Anda.

Contoh umumnya:

```bash
git branch -M main
git remote add origin https://github.com/username/e-library-smk.git
git push -u origin main
```

{% endstep %}
{% endstepper %}

### Output yang harus terlihat

Setelah subbab ini selesai, hasil berikut seharusnya sudah terlihat:

* folder proyek sudah menjadi repository Git
* `git status` bisa dijalankan tanpa error
* commit pertama berhasil dibuat
* repository GitHub sudah terhubung ke proyek lokal
* kode proyek tampil di GitHub

### Troubleshooting yang paling sering

Masalah yang paling sering muncul:

* **`git` tidak dikenali** — Git belum terpasang
* **push ditolak** — akun belum login atau repository tujuan salah
* **remote sudah ada** — hapus remote lama atau pakai nama yang benar
* **file terlalu banyak berubah** — cek lagi apakah `.env` dan `vendor` memang perlu ikut diatur sesuai `.gitignore`

{% hint style="warning" %}
Jangan unggah file `.env` yang berisi data sensitif ke repository publik.
{% endhint %}

### Mini tugas mandiri

Kerjakan tugas kecil ini:

* buat commit kedua setelah Anda mengubah satu halaman Blade
* push perubahan itu ke GitHub
* tulis deskripsi singkat proyek pada halaman repository

### Ringkasan subbab

Di subbab ini, Anda menyimpan proyek Laravel ke Git lalu mempublikasikannya ke GitHub.

Ini adalah langkah awal membangun portofolio yang bisa dilihat guru, teman, atau tempat PKL.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.devlabss.my.id/laravel/bab-13-pengayaan-proyek-and-portofolio/13.1-git-and-github-dasar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
