Last active
August 8, 2022 14:02
-
-
Save AgungPambudi/985ae3ff8b459e33758d3b25e2691b76 to your computer and use it in GitHub Desktop.
Dokumen cara penggunaan Github Data Science Indonesia secara umum
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Panduan Penggunaan Git | |
## Mengunduh Repository | |
Unduh repository ke dalam komputer menggunakan perintah `git clone`. Url | |
repository dapat dilihat di dalam repository yang diinginkan. | |
``` | |
git clone <url repository> <folder tujuan> | |
``` | |
#### Contoh | |
``` | |
user@host:~$ git clone https://github.com/datascienceid/instagram.git instagram | |
Cloning into 'instagram'... | |
remote: Counting objects: 4, done. | |
remote: Compressing objects: 100% (4/4), done. | |
remote: Total 4 (delta 0), reused 4 (delta 0), pack-reused 0 | |
Unpacking objects: 100% (4/4), done. | |
``` | |
## Memperbarui Repository | |
Perbarui repository yang telah diunduh ke dalam komputer menggunakan perintah | |
`git pull`. | |
``` | |
git pull origin <nama branch> | |
``` | |
#### Contoh | |
``` | |
git pull https://github.com/datascienceid/instagram.git master | |
From https://github.com/datascienceid/instagram | |
* branch master -> FETCH_HEAD | |
Already up-to-date. | |
``` | |
## Mengunggah Perubahan | |
Jangan lupa untuk melakukan pull terlebih dahulu sebelum melakukan push. | |
**Tambah file baru atau ubah file** | |
``` | |
git add <nama file> | |
``` | |
**Tambah beberapa file baru atau ubah beberapa file sekaligus** | |
``` | |
git add . | |
``` | |
**Konfirmasi penambahan atau perubahan file** | |
``` | |
git commit -m "<pesan commit>" | |
``` | |
**Ubah dan konfirmasi modifikasi beberapa file sekaligus** | |
``` | |
git commit -a -m "<pesan commit>" | |
``` | |
**Kirim perubahan ke dalam repository** | |
``` | |
git push origin <nama branch> | |
``` | |
#### Contoh | |
``` | |
user@host:~$ git add README.md | |
user@host:~$ git commit -m "Menambahkan readme" | |
[master 224c510] Menambahkan readme | |
1 file changed, 1 insertion(+) | |
create mode 100644 README.md | |
user@host~$ git push origin master | |
Counting objects: 3, done. | |
Delta compression using up to 16 threads. | |
Compressing objects: 100% (2/2), done. | |
Writing objects: 100% (2/2), 271 bytes | 0 bytes/s, done. | |
Total 2 (delta 1), reused 0 (delta 0) | |
remote: Resolving deltas: 100% (1/1), completed with 1 local objects. | |
To https://github.com/datascienceid/instagram.git | |
fec3a1f..224c510 master -> master | |
``` | |
## Menghapus File | |
Hapus file dari repository menggunakan perintah `git rm`, diikuti dengan `git commit`, dan `git push`. | |
``` | |
git rm <nama file> | |
``` | |
#### Contoh | |
``` | |
user@host~$ git rm README.md | |
rm 'README.md' | |
user@host~$ git commit -m | |
[master 658a76e] Menghapus README | |
1 file changed, 1 deletion(-) | |
delete mode 100644 README.md | |
user@host~$ | |
Counting objects: 3, done. | |
Delta compression using up to 16 threads. | |
Compressing objects: 100% (2/2), done. | |
Writing objects: 100% (2/2), 236 bytes | 0 bytes/s, done. | |
Total 2 (delta 1), reused 0 (delta 0) | |
remote: Resolving deltas: 100% (1/1), completed with 1 local objects. | |
To https://github.com/datascienceid.git | |
224c510..658a76e master -> master | |
``` | |
## Branching | |
Branch digunakan untuk mengembangkan fitur baru atau mengubah source code tanpa | |
memberikan dampak kepada branch lain. Branch master adalah branch default dari | |
sebuah repository. Gunakan branch lain untuk melakukan pengembangan dan | |
gabungkan kembali ke dalam branch master. | |
### Melihat branch yang terdapat di dalam repository lokal | |
``` | |
git branch | |
``` | |
``` | |
user@host~$ git branch | |
* master | |
``` | |
Tanda asterisk (\*) menandakan branch yang sedang aktif. | |
### Melihat branch yang terdapat di dalam repository lokal | |
``` | |
git branch -r | |
``` | |
``` | |
user@host~$ git branch -r | |
origin/HEAD -> origin/master | |
origin/master | |
``` | |
### Membuat branch baru di dalam repository lokal dan kirim ke repository remote | |
**Buat branch baru** | |
``` | |
git branch <nama branch baru> | |
``` | |
**Aktifkan branch baru** | |
``` | |
git checkout <nama branch baru> | |
``` | |
**Konfirmasi perubahan** | |
``` | |
git commit -m "<pesan konfirmasi>" | |
``` | |
**Unggah branch baru ke dalam repository remote** | |
``` | |
git push origin <nama branch baru> | |
``` | |
#### Contoh | |
``` | |
user@host~$ git branch development | |
user@host~$ git checkout development | |
Switched to branch 'development' | |
user@host~$ git commit -m "Menambah branch development" | |
On branch development | |
nothing to commit, working tree clean | |
user@host~$ git push origin development | |
Total 0 (delta 0), reused 0 (delta 0) | |
remote: | |
remote: Create pull request for new: | |
remote: https://github.com/datascienceid/instagram/pull-requests/new?source=new&t=1 | |
remote: | |
To https://github.com/datascienceid/instagram.git | |
* [new branch] development -> development | |
``` | |
### Menambahkan branch dari repository remote ke dalam repository lokal | |
``` | |
git branch <nama branch remote> | |
git pull origin <nama branch remote> | |
git checkout <nama branch remote> | |
``` | |
#### Contoh | |
``` | |
user@host~$ git branch development | |
user@host~$ git pull origin development | |
* branch new -> FETCH_HEAD | |
* [new branch] new -> origin/development | |
Already up-to-date. | |
user@host~$ git checkout development | |
Switched to branch 'development' | |
``` | |
### Menggabungkan branch lain ke dalam branch aktif | |
**Aktifkan branch yang diinginkan** | |
``` | |
git checkout <nama branch aktif> | |
``` | |
**Perbarui branch local** | |
``` | |
git pull origin <nama branch aktif> | |
``` | |
**Penggabungan** | |
``` | |
git merge <nama branch yang akan digabungkan> | |
``` | |
**Cek dan selesaikan konflik akibat penggabungan branch** | |
``` | |
git status | |
``` | |
**Konfirmasi dan unggah penggabungan branch** | |
``` | |
git commit -m "<pesan konfirmasi>" -a | |
git push origin <nama branch aktif> | |
``` | |
#### Menghapus branch | |
**Pada repository remote** | |
``` | |
git push origin :<nama branch> | |
``` | |
**Pada repository lokal** | |
``` | |
git branch <nama branch> -d | |
``` | |
## Perintah tambahan | |
Dapatkan status dari repository | |
``` | |
git status | |
``` | |
Mengecek perubahan yang belum terkonfirmasi dalam repository | |
``` | |
git diff | |
``` | |
Mengecek perubahan yang sudah terkonfirmasi dalam repository | |
``` | |
git show | |
``` | |
Dapatkan log dari sebuah repository | |
``` | |
git log | |
``` | |
Dapatkan hanya beberapa log terakhir dari sebuah repository (contoh: 3) | |
``` | |
git log -3 | |
``` | |
## gitignore | |
Ada kalanya kita melihat file gitignore di suatu repository. Apakah itu gitignore? gitignore adalah file yang berisi instruksi kepada git repository untuk tidak men-track files tertentu. Ini sangat berguna untuk meng-exclude files yang mungkin tidak berguna atau tidak perlu di push ke repository. Contoh: .DS_Store di Mac, binary files, `__pycache__`, etc. | |
File gitignore dimulai dengan titik (`.`) di Unix-based system (Mac dan Linux) untuk menandakan dia adalah hidden file. Di Windows, buat file gitignore dengan memberi nama `.gitignore`. | |
#### Contoh | |
Untrack file tertentu | |
``` | |
# tagar digunakan untuk commenting | |
# Mac | |
.DS_Store | |
# Spreadsheet | |
*.xls | |
*.xlsx | |
# Compressed file | |
*.zip | |
*.rar | |
*.gz | |
``` | |
Untrack folder tertentu | |
``` | |
# tagar digunakan untuk commenting | |
# python | |
__pycache__/ | |
# virtual environment | |
env/ | |
venv/ | |
``` | |
Contoh koleksi gitignore yang berguna | |
https://github.com/github/gitignore |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment