---
# System prepended metadata

title: 'git '

---

# Initiate
## Clone Repo


![image](https://hackmd.io/_uploads/BkAFBP8pgg.png)

```
git clone <url repo>
```
## Add Remote

```
git remote add origin <url repo>
```

**Jangan lupa install requirements, dan buat file .env di lokal masing-masing!**

## Buat Branch Dev (local)
```
git branch dev
git checkout dev
git pull origin master
```
Kalau branch dev remote ada, maka pull:

```
git pull origin dev
```

Kalau belum ada: 

Publish branch
![image](https://hackmd.io/_uploads/H1x8LvI6gg.png)
Klik source control (logo branch git)
![image](https://hackmd.io/_uploads/SJKELDUTlx.png)
Lalu Publish branch


## Buat Branch Fitur 
```
git branch nama/fitur
git checkout nama/fitur
git pull origin dev
```
lalu Publish branch-nya!

# Progress tracking

## Progress sendiri
1. Commit perubahan lokal
Stage dan commit perubahan: ```git add . lalu git commit -m "Deskripsi perubahan"```.
2. Push ke branch fitur Anda
Push ke remote: ```git push origin nama/fitur```
3. Buat Pull Request ke branch dev melalui website
Buka halaman Pull Requests, buat PR dari branch Anda menuju branch dev (pastikan target adalah dev).
4. Merge jika tidak ada konflik
Jika PR dapat di-merge tanpa konflik (indikator mergeable hijau), Anda dapat menyetujui dan melakukan merge sendiri.
5. Laporkan bila ada konflik
Jika terdapat konflik saat merge, laporkan konflik tersebut ke grup agar dapat ditangani bersama.

**Sangat disarankan: Hanya 1 anggota kelompok yang bertanggung jawab untuk accept dan review merge request dari dev ke master**

## Progress orang lain
1. Pastikan Kalian berada di branch dev
```
git branch

#jika belum di dev:
git checkout dev
```
2. Pull perubahan dari remote branch dev
```
git pull origin dev
```
3. Pindah kembali ke branch fitur Kalian
```
git checkout nama/fitur
```
4. Merge dengan dev
```
git merge dev
```
Apabila terjadi konflik, selesaikan di local, lalu commit hasil merge-nya

