{"id":24807225,"url":"https://github.com/bagusperdanay7/git-github-notes","last_synced_at":"2026-04-27T21:32:18.458Z","repository":{"id":267639264,"uuid":"864045302","full_name":"bagusperdanay7/GIT-GITHUB-Notes","owner":"bagusperdanay7","description":"Catatan Materi Git \u0026 GitHub diambil dari YouTube Pak Sandhika Galih (Web Programming UNPAS)","archived":false,"fork":false,"pushed_at":"2024-12-11T14:08:50.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T10:14:24.855Z","etag":null,"topics":["git","github"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bagusperdanay7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-27T11:46:47.000Z","updated_at":"2024-12-24T17:00:10.000Z","dependencies_parsed_at":"2024-12-11T15:23:56.276Z","dependency_job_id":"7b0155bf-2c35-433c-bd97-c9fdc57502c2","html_url":"https://github.com/bagusperdanay7/GIT-GITHUB-Notes","commit_stats":null,"previous_names":["bagusperdanay7/git-github-notes"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bagusperdanay7/GIT-GITHUB-Notes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagusperdanay7%2FGIT-GITHUB-Notes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagusperdanay7%2FGIT-GITHUB-Notes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagusperdanay7%2FGIT-GITHUB-Notes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagusperdanay7%2FGIT-GITHUB-Notes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bagusperdanay7","download_url":"https://codeload.github.com/bagusperdanay7/GIT-GITHUB-Notes/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bagusperdanay7%2FGIT-GITHUB-Notes/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32356598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","github"],"created_at":"2025-01-30T09:17:48.820Z","updated_at":"2026-04-27T21:32:18.441Z","avatar_url":"https://github.com/bagusperdanay7.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# GIT \u0026 GITHUB | WPU\n\nKode ini merupakan materi Git \u0026 GitHub yang dibawakan oleh Pak **Sandhika Galih** dari channel YouTube _Web Programming UNPAS_.\n\nLink Playlist Tutorial: [GIT \u0026 GITHUB](https://www.youtube.com/playlist?list=PLFIM0718LjIVknj6sgsSceMqlq242-jNf)\n\nBahasan Materi Meliputi:\n\n- Apa itu Git \u0026 GitHub\n- Install GitHub\n- Membuat Repository di GitHub\n- GitHub: Branch\n- GitHub: Fork\n- Git Init\n- Git Status\n- Git Add\n- Git Config\n- Git Commit\n- Git Log\n- Git Checkout\n- Git Branch\n- Git Merge\n- Merge Conflict\n- Git Remote\n- Git Clone\n- Git Push\n- Git Fetch\n- Git Pull\n- GitHub Pages\n- Multiple Remotes\n- Pull Request (PR)\n- Merge Pull Request\n- Remote Branch\n- Git Ignore\n- Git Rebase\n- Git \u0026 Web Hosting\n- Git Commit Tips (Spesial)\n\n## Technology stack \u0026 Tools\n\n**Program ini membutuhkan:**\n\n| Tech Stack \u0026 Tools | Version |\n| ------------------ | ------- |\n| Git                | 2.30+   |\n| Visual Studio Code | Latest  |\n\n## Catatan Pribadi\n\nJika ingin klona di komputer lain. Taruh di direktori berikut:\n\n    .\n    ├── Course\n    │   ├── WPU\n    |   |   ├── git-github\n    |   |   └── ...\n    |   └── ...\n    └── ...\n\nJika sudah di berada di folder **git-github**, baru clone.\n\n```shell\ngit clone https://github.com/bagusperdanay7/GIT-GITHUB-Notes.git\n```\n\n# Notes\n\nIni merupakan catatan pribadi mengenai materi dari **Git \u0026 GitHub** dengan Pak _Sandhika Galih_.\n\n## Git Help\n\nKomando Bantuan Git:\n\n```shell\ngit help\n```\n\nGit Area:\n\n- Working Directory\n- Staging Area\n- Repository\n\n## Inisialisasi Git (Membuat Git Project)\n\n```shell\ngit init\n```\n\n## Memeriksa Status Git\n\n```shell\ngit status\n```\n\n## Menambah File\n\n```shell\ngit add \u003cfile(s)\u003e\n\ngit add index.html\n\n# untuk menambahkan semua file\ngit add .\n```\n\n## Konfigurasi Profile Git\n\n```shell\ngit config --global user.email \"bagus@gmail.com\"\ngit config --global user.name \"Bagus Perdana\"\n```\n\n## Commit\n\n```shell\ngit commit -m \"Pesan\"\n\ngit commit -m \"Menambah file index\"\n```\n\nJika memeriksa `git status` dan hasilnya modified, bisa gunakan perintah di bawah:\n\n```shell\ngit commit -am \"menambahkan feature x\"\n```\n\n### Commit Tips\n\nReferensi di ambil dari [How to Write Better Git Commit Messages – A Step-By-Step Guide](https://www.freecodecamp.org/news/how-to-write-better-git-commit-messages/)\n\n```shell\n\u003ctype\u003e[optional scope]: \u003cdescription\u003e\n\n[optional body]\n\n[optional footer(s)]\n```\n\nDaftar-daftar `\u003ctype\u003e`:\n\n```shell\nfeat: fitur baru yang dikenalkan beserta perubahannya\nfix: telah dilakukan perbaikan bugs\nchore: mengubah hal yang tidak berkaitan dengan feat dan fix, serta memodifikasi bukan pada src atau test file. Misalnya memperbarui dependensi\nrefactor: refactor code tanpa memperbaiki bug ataupun menambah fitur\ndocs: memperbarui dokumentasi seperti README.md atau file markdown lainnya\nstyle: perubahan yang tidak mempengaruhi arti dari kode. Misalnya spasi kosong ( ), titik koma (;), kutip satu maupun kutip dua (' atau \") dan lainnya\ntest: membuat test baru atau mengoreksi tes sebelumnya\nperf: meningkatkan performansi\nci: continous integration\nbuild: perubahan yang berpengaruh pada dependensi eksternal maupun proses build sistem\nrevert: kembali ke commit sebelumnya\n```\n\n\u003e [!NOTE]\n\u003e Pesan Commit harus menggunakan huruf kecil nan singkat\n\n#### Contoh fix\n\n```shell\ngit commit -m \"fix: fixing gallery view bugs\"\n\n# versi lengkap\nfix: fix foo to enable bar\n\nThis fixes the broken behavior of the component by doing xyz.\n\nBREAKING CHANGE\nBefore this fix foo wasn't enabled at all, behavior changes from \u003cold\u003e to \u003cnew\u003e\n\nCloses D2IQ-12345\n```\n\n#### Contoh feat\n\n```shell\ngit commit -m \"feat: Adding new feature login\"\n```\n\n#### Contoh perf\n\n```shell\ngit commit -m \"perf: improve performance with lazy load implementation for images\"\n```\n\n#### Contoh chore\n\n```shell\ngit commit -m \"chore: update laravel version to 11\"\n```\n\n## Git Log\n\nGit Log adalah perintah untuk melihat apa saja yang telah dilakukan, git log melacak riwayat commit yang dilakukan\n\n```shell\ngit log\n\n# melihat jumlah commit terakhir\ngit log -\u003cjumlah\u003e\n\ngit log -3 # melihat 3 commit terakhir\n\n# melihat perubahan file tertentu\ngit log -- style.css\n\n# melihat log dengan dekorasi satu baris dan graphnya\ngit log --all --decorate --oneline --graph\n```\n\n## Git Checkout\n\nUntuk pindah ke commit tertentu bisa gunakan git checkout.\n\n```shell\ngit checkout hash\n\n# pindah commit dengan spesifik file\ngit checkout hash -- file\ngit checkout 542b5 -- style.css\n\n# checkout sekaligus membuat branch baru\ngit checkout -b newbranch\n```\n\n## Git Branch\n\n### Melihat semua branch\n\n```shell\ngit branch\n```\n\n### Membuat Branch Baru dan Menangkap Snapshot di commit yang sama\n\n```shell\ngit branch namabranch\ngit branch dosen\n```\n\n### Pindah Branch\n\n```shell\ngit checkout namabranch\ngit checkout dosen\n```\n\n### Hapus Branch\n\n```shell\ngit branch -d namabranch\ngit branch -d dosen\n\n# paksa hapus (beresiko)\ngit branch -D namabranch\n```\n\n## Git Merge\n\nJenis-jenis Merge\n\n- Fast Forward\n- Three-way Merge\n\nFast forward terjadi ketika branch yang ingin digabungkan berada di satu jalur.\n\nThree way merge/merge commit terjadi ketika branch yang digabungkan tidak berada di satu jalur.\n\nMerge atau menggabungkan cabang, caranya pergi ke cabang yang mau digabungkan misal `master` dengan `checkout`. Lalu misal kita ingin menggabungkan master dengan cabang `dosen` maka perintahnya:\n\n```shell\ngit checkout master\ngit merge dosen\n```\n\nMerge bisa dilakukan juga dengan cara berikut:\n\n```shell\ngit merge namaremote/branch\n\ngit merge new/master\n```\n\n### Melihat Branch Yang telah di merged\n\n```shell\ngit branch --merged\n\n```\n\n## Git Merge Conflict\n\nKadang-Kadang konflik terjadi ketika ingin merge dengan cabang lain, tipsnya jika terjadi conflict dan auto-merge nya tidak berfungsi maka diperlukan manual merge ketika proses merge tidak otomatis maka default code editor akan terbuka secara otomatis dan di situ dibutuhkan peninjauan manual.\n\n## Git Remote\n\nRemote biasanya merupakan sebuah server, contoh remote ada **GitHub, Gitlab, BitBucket, dll**. Jika bekerja di sebuah perusahaan, komputer perusahaan pun bisa dijadikan remote.\n\n### Melihat Semua Remote\n\n```shell\ngit remote\n\n# melihat lebih detail (verbose)\ngit remote -v\n```\n\n### Menambahkan remote\n\n```shell\ngit remote add namaremote url\ngit remote add origin https://github.com/bagusperdanay7/WPU-Test-Repo-1.git\n```\n\nSebenarnya kita bisa menambah banyak remote atau disebut **Multiple Remotes**, caranya tambahkan saja remote baru:\n\n```shell\ngit remote add new https://sandhikagalih/simple-landing-page.git\n```\n\n## Git Clone\n\nGit clone berfungsi untuk mengklona suata repository dari remote, misalnya kita ingin mengklona repository seseorang dari GitHub. Maka perintahnya:\n\n```shell\ngit clone url-remote-repository\n\ngit clone https://github.com/sandhikagalih/simple-landing-page.git\n```\n\n## Git Push\n\nMengirim perubahan commit ke remote:\n\n```shell\ngit push\n\ngit push origin main\n\ngit push -u origin master\n\n# push sekaligus hapus branch\ngit push origin --delete features\n```\n\n`-u` artinya upstream, `origin` nama remote dan `master` nama branchnya. Jadi kirim perubahan ke remote origin dan cabang master.\n\n## Git Fetch\n\nGit fetch digunakan untuk membandingkan commit di remote dan di local. Jadi ketika mengetik perintah `git status`, maka akan terdeteksi perbandingannya, misal jika remote dan local berbeda 1 commit.\n\n```shell\ngit fetch\n\n# jika remote lebih dari satu\ngit fetch namaremote\n```\n\n## Git Pull\n\nPull biasanya dilakukan ketika adanya perubahan di remote yang dilakukan oleh rekan kita, commitnya berbeda dengan di local kita, sehingga mengharuskan `pull` lebih dahulu kemudian baru bisa push. Hati-hati biasanya pull ini menghasilkan merge conflict. Ketika merge conflict telah di selesaikan baru kita bisa `push` ke remote.\n\n```shell\ngit pull\n```\n\n## Git Ignore\n\nJika ingin mengabaikan (ignore) file file atau folder mana saja daftarkan saja ke file `.gitignore`. Jadi ketika disimpan ke remote file file yang terdaftar di `.gitignore` tidak terbawa. GitHub menyediakan templates berbagai project \u003chttps://github.com/github/gitignore\u003e atau bisa kunjungi \u003chttps://www.toptal.com/developers/gitignore/\u003e.\n\n## Git Rebase\n\nGit rebase merupakan salah satu strategi merge, Rebase akan maju ke commit terakhir master, sehingga ketika kita merging, nanti tipenya **fast-forward**, tidak akan menambah commit baru ketika merging. Misalnya branch saat ini adalah `fitur_keren` dan ingin di rebase ke master, maka perintahnya:\n\n```shell\ngit rebase master\n```\n\n## Reference\n\n- YouTube GIT \u0026 GITHUB - Web Programming UNPAS\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbagusperdanay7%2Fgit-github-notes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbagusperdanay7%2Fgit-github-notes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbagusperdanay7%2Fgit-github-notes/lists"}