    {"id":2650,"date":"2024-01-31T12:33:38","date_gmt":"2024-01-31T12:33:38","guid":{"rendered":"https:\/\/student-activity.binus.ac.id\/csc\/?p=2650"},"modified":"2024-07-17T12:50:52","modified_gmt":"2024-07-17T12:50:52","slug":"git-advanced-2","status":"publish","type":"post","link":"https:\/\/student-activity.binus.ac.id\/csc\/2024\/01\/git-advanced-2\/","title":{"rendered":"Git Advanced"},"content":{"rendered":"<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Pada artikel git sebelumnya sudah dibahas bagaimana cara kerja git secara sederhana hingga perubahan pada file akan tersimpan secara permanen di <\/span><em><span style=\"font-weight: 400\">local repository <\/span><\/em><span style=\"font-weight: 400\">folder git tersebut. Pada artikel kali ini akan dibahas mengenai <\/span><em><span style=\"font-weight: 400\">branching<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">reset<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">stash<\/span><\/em><span style=\"font-weight: 400\">, <\/span><em><span style=\"font-weight: 400\">remote repository<\/span><\/em><span style=\"font-weight: 400\">, serta contoh kasus yang sering terjadi pada saat memakai git di dunia nyata.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Git <\/span><em><span style=\"font-weight: 400\">branch<\/span><\/em><span style=\"font-weight: 400\"> adalah salah satu fitur dari git untuk mengatur <\/span><em><span style=\"font-weight: 400\">timeline <\/span><\/em><span style=\"font-weight: 400\">pada pengembangan \/ perubahan file tanpa mengganggu <\/span><em><span style=\"font-weight: 400\">timeline <\/span><\/em><span style=\"font-weight: 400\">utama, biasanya <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">pada Git diperuntukan jika kita ingin menambahkan suatu fitur tertentu dalam fase pengembangan suatu aplikasi, tanpa mengganggu aplikasi yang sudah ada. Nantinya jika fitur tersebut tidak jadi dipakai tinggal di kembalikan ke <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">yang sebelum terjadi <\/span><em><span style=\"font-weight: 400\">merge branch <\/span><\/em><span style=\"font-weight: 400\">fitur dan <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">utama. Tidak ada batasan banyaknya <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">yang bisa dibuat. sebagai gambaran bentuk <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">pada git seperti ini.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\"> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2651\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/1-3.png\" alt=\"\" width=\"1600\" height=\"880\" \/><\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 <\/span><span style=\"font-weight: 400\">Hal perlu diperhatikan adalah jika kita baru membuat inisialisasi git pada suatu folder dan kita ingin menampilkan <em>branch <\/em>dan git tidak akan menampilkan nama <em>branch<\/em> utama sampai kita menyimpan suatu perubahan permanen pada <\/span><em><span style=\"font-weight: 400\">local repository <\/span><\/em><span style=\"font-weight: 400\">kita, atau sampai kita tarik data dari <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">kita. Jika sudah menyimpan perubahan secara permanen di <\/span><em><span style=\"font-weight: 400\">local repository <\/span><\/em><span style=\"font-weight: 400\">biasanya akan terbentuk <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">utama dengan nama <em>branch master<\/em>, untuk menampilkan semua <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">yang ada beserta <\/span><em><span style=\"font-weight: 400\">commit id <\/span><\/em><span style=\"font-weight: 400\">dan <\/span><em><span style=\"font-weight: 400\">commit message <\/span><\/em><span style=\"font-weight: 400\">bisa menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit branch &#8211;v\u201d<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2652\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/2-3.png\" alt=\"\" width=\"541\" height=\"49\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Lalu bagaimana jika kita ingin membuat <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru dengan nama <\/span><span style=\"font-weight: 400\">\u201cfeature\/addfile2\u201d<\/span><span style=\"font-weight: 400\"> ? kita bisa menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit <em>branch<\/em> feature\/addfile2\u201d untuk membuat <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru dengan nama <\/span><span style=\"font-weight: 400\">\u201caddfile2\u201d<\/span><span style=\"font-weight: 400\"> dan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit checkout feature\/addfile2\u201d untuk memindahkan <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">ke<\/span><span style=\"font-weight: 400\"> \u201cfeature\/addfile2\u201d<\/span><span style=\"font-weight: 400\">. Untuk mengecek apakah <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">sudah berubah dengan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit branch &#8211;v\u201d<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Hal yang perlu diperhatikan dalam membuat <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">adalah ketika kita membuat <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru akan mengacu pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">tempat kita membuat <\/span><em><span style=\"font-weight: 400\">branch<\/span><\/em><span style=\"font-weight: 400\">. Maksudnya adalah <\/span><em><span style=\"font-weight: 400\">snapshot <\/span><\/em><span style=\"font-weight: 400\">tempat dimana kita membuat <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru akan di <\/span><em><span style=\"font-weight: 400\">copy <\/span><\/em><span style=\"font-weight: 400\">ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2653\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/3-3.png\" alt=\"\" width=\"698\" height=\"203\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Atau cara lainnya dengan menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit checkout -b feature\/addfile3\u201d untuk membuat <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru dengan nama \u201cfeature\/addfile3\u201d dan langsung pindah ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru tersebut. Untuk mengecek <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">sudah terbuat atau belum dengan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">yang sama.<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2654\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/4-3.png\" alt=\"\" width=\"746\" height=\"181\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Bagaimana jika kita ingin menghapus suatu <\/span><em><span style=\"font-weight: 400\">branch<\/span><\/em><span style=\"font-weight: 400\">? kita bisa menghapus <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">dengan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit branch &lt;namaBranch&gt; -d\u201d dengan syarat kita tidak boleh berada pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">yang mau dihapus.\u00a0\u00a0<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2655\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/5-2.png\" alt=\"\" width=\"722\" height=\"229\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Hal yang perlu diperhatikan jika kita melakukan perubahan <\/span><i><span style=\"font-weight: 400\">file <\/span><\/i><span style=\"font-weight: 400\">pada suatu <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">dan kita mengganti <\/span><em><span style=\"font-weight: 400\">branch<\/span><\/em><span style=\"font-weight: 400\">, perubahan yang terjadi masih akan terbawa karena sifatnya masih ada di <\/span><em><span style=\"font-weight: 400\">state working directory <\/span><\/em><span style=\"font-weight: 400\">atau <\/span><em><span style=\"font-weight: 400\">staging area <\/span><\/em><span style=\"font-weight: 400\">bukan berada di <\/span><em><span style=\"font-weight: 400\">local repository<\/span><\/em><span style=\"font-weight: 400\">. Jika ingin menyimpan perubahan pada suatu <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">kita harus melakukan <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">pada perubahan yang ada, dengan demikian perubahan tersebut akan terekam pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">tersebut. Sebagai gambaran praktiknya akan seperti ini:<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2656\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/6-2.png\" alt=\"\" width=\"640\" height=\"40\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Akan dibuat file2.txt yang isinya text file2.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2657\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/7-2.png\" alt=\"\" width=\"853\" height=\"221\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Cek status file, terlihat masih berada di <\/span><em><span style=\"font-weight: 400\">working directory <\/span><\/em><span style=\"font-weight: 400\">lalu masukan file2.txt ke <\/span><em><span style=\"font-weight: 400\">staging index<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2658\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/8-2.png\" alt=\"\" width=\"625\" height=\"407\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Cek status file, terlihat sudah berada di <\/span><em><span style=\"font-weight: 400\">staging index<\/span><\/em><span style=\"font-weight: 400\">,<\/span> <span style=\"font-weight: 400\">lalu pindah ke <\/span><em><span style=\"font-weight: 400\">branch master<\/span><\/em><span style=\"font-weight: 400\">, <\/span><span style=\"font-weight: 400\">cek status file lagi, terlihat file yang kita lakukan perubahan di <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">\u201cfeature\/addfile2\u201d akan terbawa ke <\/span><em><span style=\"font-weight: 400\">branch master<\/span><\/em><span style=\"font-weight: 400\">, karena kita belum menyimpan perubahannya secara permanen ke suatu <\/span><em><span style=\"font-weight: 400\">local repository<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Bagaimana jika kita sudah selesai dengan fitur pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">baru lalu kita ingin melakukan <\/span><em><span style=\"font-weight: 400\">merge <\/span><\/em><span style=\"font-weight: 400\">ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">utama? kita bisa melakukan <\/span><em><span style=\"font-weight: 400\">merge branch <\/span><\/em><span style=\"font-weight: 400\">dengan syarat kita harus pindah ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">tempat kita ingin di <\/span><em><span style=\"font-weight: 400\">merge<\/span><\/em><span style=\"font-weight: 400\">, lalu kita menggunakan <\/span><em><span style=\"font-weight: 400\">command<\/span><\/em><i><span style=\"font-weight: 400\"> \u201c<\/span><\/i><span style=\"font-weight: 400\">git merge feature\/addfile2\u201d Sebagai gambaran praktik-nya:<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2659\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/9-2.png\" alt=\"\" width=\"666\" height=\"241\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2660\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/10-2.png\" alt=\"\" width=\"578\" height=\"175\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Lalu untuk mengecek perubahan sudah tergabung ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">yang dituju dengan cek lognya dengan menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit log &#8211;oneline\u201d terlihat di sana kalau <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">\u201cmaster\u201d dan \u201cfeature\/addfile2\u201d berada pada satu <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">yang sama, artinya <\/span><em><span style=\"font-weight: 400\">merge <\/span><\/em><span style=\"font-weight: 400\">yang kita lakukan sudah berhasil.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Mungkin ada kalanya kita ingin melakukan <\/span><em><span style=\"font-weight: 400\">merge <\/span><\/em><span style=\"font-weight: 400\">terhadap <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">tertentu pada suatu <\/span><em><span style=\"font-weight: 400\">branch<\/span><\/em><span style=\"font-weight: 400\">, hal itu tidak bisa dilakukan dengan menggunakan git <\/span><em><span style=\"font-weight: 400\">merge <\/span><\/em><span style=\"font-weight: 400\">karena akan mengambil semua perubahan lalu di <\/span><em><span style=\"font-weight: 400\">merge <\/span><\/em><span style=\"font-weight: 400\">ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">tujuan, untuk itu bisa dilakukan <\/span><em><span style=\"font-weight: 400\">cherry pick <\/span><\/em><span style=\"font-weight: 400\">terhadap <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">\u201cfeature\u201d, sebagai contoh pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">\u201cfeature\/addfile2\u201d sudah dilakukan beberapa kali penyimpanan ke <\/span><em><span style=\"font-weight: 400\">local repository <\/span><\/em><span style=\"font-weight: 400\">sebagai berikut:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2661\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/11-2.png\" alt=\"\" width=\"681\" height=\"149\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2662\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/12-2.png\" alt=\"\" width=\"241\" height=\"172\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">*Notes: setiap <\/span><em><span style=\"font-weight: 400\">line <\/span><\/em><span style=\"font-weight: 400\">pada file2.txt merepresentasikan suatu <\/span><em><span style=\"font-weight: 400\">commit<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Lalu kita hanya mau mengambil <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">6787959 ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">\u201cmaster\u201d, caranya adalah dengan menggunakan <\/span><em><span style=\"font-weight: 400\">cherry pick <\/span><\/em><span style=\"font-weight: 400\">ke <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">tersebut. Syaratnya sama seperti <\/span><em><span style=\"font-weight: 400\">merge<\/span><\/em><span style=\"font-weight: 400\">, kita harus pindah ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">tujuan tempat dimana <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">tersebut akan diambil. Lalu gunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit cherry-pick 6787959\u201d<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2663\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/13-2.png\" alt=\"\" width=\"774\" height=\"318\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Jika terjadi <\/span><em><span style=\"font-weight: 400\">conflict <\/span><\/em><span style=\"font-weight: 400\">bisa di <em>resolve<\/em> dengan membuka visual studio code:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2664\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/14-2.png\" alt=\"\" width=\"1201\" height=\"285\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Dengan memilih perubahan mana yang mau disimpan, <\/span><i><span style=\"font-weight: 400\">by <\/span><\/i><em><span style=\"font-weight: 400\">default <\/span><\/em><span style=\"font-weight: 400\">ketika kita sudah memilih perubahan mana yang ingin kita pakai, kita harus buat suatu <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">sebagai representasi <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">pada <\/span><em><span style=\"font-weight: 400\">cherry-pick <\/span><\/em><span style=\"font-weight: 400\">tadi, jika dipraktekkan akan seperti:<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2665\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/15-1.png\" alt=\"\" width=\"774\" height=\"560\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Bagaimana jika kita ingin pindah ke <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">lain tapi kita tidak ingin melakukan perubahan secara permanen di <\/span><em><span style=\"font-weight: 400\">local repository<\/span><\/em><span style=\"font-weight: 400\">? kita bisa memakai \u201cgit stash\u201d untuk menyimpan perubahan sementara, syarat dari \u201cgit stash\u201d<\/span> <span style=\"font-weight: 400\">adalah perubahan yang mau disimpan harus berada pada <\/span><em><span style=\"font-weight: 400\">state staging area<\/span><\/em><span style=\"font-weight: 400\">. Jika dicontohkan akan seperti:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2666\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/16-1.png\" alt=\"\" width=\"846\" height=\"775\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Untuk melihat <\/span><em><span style=\"font-weight: 400\">stash <\/span><\/em><span style=\"font-weight: 400\">yang sudah tersimpan dengan menggunakan \u201cgit stash list\u201d<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2667\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/17-1.png\" alt=\"\" width=\"483\" height=\"82\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Setelah kita melakukan <\/span><em><span style=\"font-weight: 400\">stash<\/span><\/em><span style=\"font-weight: 400\">, kita mengecek status file, akan didapatkan kalau perubahan pada <\/span><em><span style=\"font-weight: 400\">state staging index <\/span><\/em><span style=\"font-weight: 400\">akan hilang karena berada di <\/span><em><span style=\"font-weight: 400\">state<\/span><\/em><span style=\"font-weight: 400\">.<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2668\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/18-1.png\" alt=\"\" width=\"647\" height=\"127\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Kalau kita ingin memakai perubahan pada <\/span><em><span style=\"font-weight: 400\">stash<\/span><\/em><span style=\"font-weight: 400\">, bisa dengan menggunakan <em>command<\/em> \u201cgit stash@{1} apply, dan perubahan yang terjadi akan disimpan pada <\/span><em><span style=\"font-weight: 400\">state staging index.<\/span><\/em><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Bagaimana jika kita sudah melakukan banyak <\/span><em><span style=\"font-weight: 400\">commit<\/span><\/em><span style=\"font-weight: 400\">, tetapi kita ingin kembali ke <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">tertentu? kita bisa menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit reset &lt;nomorCommit&gt; &#8211;&lt;parameter&gt;\u201d, perlu diketahui jika kita menggunakan \u201cgit reset\u201d, kita akan kembali ke <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">yang kita tuju dengan dan atau membawa perubahan pada <\/span><em><span style=\"font-weight: 400\">working directory <\/span><\/em><span style=\"font-weight: 400\">atau <\/span><em><span style=\"font-weight: 400\">staging area<\/span><\/em><span style=\"font-weight: 400\">. <\/span><em><span style=\"font-weight: 400\">Command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit reset\u201d memiliki 3 parameter yang akan menentukan apakah perubahan sekarang akan dibawa atau tidak. ketiga parameter tersebut adalah \u201c&#8211;soft\u201d, \u201c&#8211;mixed\u201d, \u201c&#8211;hard\u201d. Perbedaannya kalau \u201c&#8211;soft\u201d, akan membawa semua perubahan pada <\/span><em><span style=\"font-weight: 400\">state working directory <\/span><\/em><span style=\"font-weight: 400\">dan <\/span><em><span style=\"font-weight: 400\">staging index<\/span><\/em><span style=\"font-weight: 400\">, kalau menggunakan \u201c&#8211;mixed\u201d, perubahan yang dibawa hanya pada <\/span><em><span style=\"font-weight: 400\">state working directory<\/span><\/em><span style=\"font-weight: 400\">, kalau \u201c&#8211;hard\u201d, tidak ada perubahan yang dibawa ke <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">tujuan.<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2672\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/19-2.png\" alt=\"\" width=\"636\" height=\"638\" \/><\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Sebagai contoh seperti gambar diatas, posisi kita sedang berada di <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">nomor b7522d9, ingin pindah ke <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">c55b667 dengan membawa <\/span><i><span style=\"font-weight: 400\">file <\/span><\/i><span style=\"font-weight: 400\">log.txt yang berada di <\/span><em><span style=\"font-weight: 400\">staging index<\/span><\/em><span style=\"font-weight: 400\">, maka bisa kita bisa menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit reset c55b667 &#8211;soft\u201d bisa dilihat kalau perubahan pada <\/span><em><span style=\"font-weight: 400\">staging index <\/span><\/em><span style=\"font-weight: 400\">ikut kebawa.<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Bagaimana jika ingin memakai <\/span><em><span style=\"font-weight: 400\">commit <\/span><\/em><span style=\"font-weight: 400\">sebelum di-<\/span><em><span style=\"font-weight: 400\">reset <\/span><\/em><span style=\"font-weight: 400\">tetapi sudah terlanjur di-<\/span><em><span style=\"font-weight: 400\">reset<\/span><\/em><span style=\"font-weight: 400\">?<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">kita bisa menggunakan \u201cgit reflog\u201d untuk melihat <\/span><em><span style=\"font-weight: 400\">history<\/span><\/em><span style=\"font-weight: 400\"> yang ada pada <\/span><em><span style=\"font-weight: 400\">branch <\/span><\/em><span style=\"font-weight: 400\">kita sekarang. Lalu gunakan \u201cgit reset\u201d ke posisi sebelum terjadi <\/span><em><span style=\"font-weight: 400\">commit reset<\/span><\/em><span style=\"font-weight: 400\">, jika dipraktekan akan seperti ini:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2669\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/20-1.png\" alt=\"\" width=\"1059\" height=\"785\" \/><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2670\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/21-1.png\" alt=\"\" width=\"639\" height=\"416\" \/><br \/>\n<span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Sekarang kita sudah mengerti cara git bekerja sepenuhnya di <\/span><em><span style=\"font-weight: 400\">local repository<\/span><\/em><span style=\"font-weight: 400\">, bagaimana jika kita ingin melakukan kolaborasi? Kita membutuhkan <em>server<\/em> terpusat dimana semua orang akan mengambil riwayat perubahan yang terjadi disana, terdapat syarat untuk menghubungkan <\/span><em><span style=\"font-weight: 400\">local repository <\/span><\/em><span style=\"font-weight: 400\">kita dengan <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">yaitu kita harus membuat <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">terlebih dahulu, sebagai contoh disini terdapat <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">github https:\/\/github.com\/jonathansantoso\/tetst <\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2673\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/22-1-1.png\" alt=\"\" width=\"1600\" height=\"733\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2674\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/23-1.png\" alt=\"\" width=\"1053\" height=\"130\" \/><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">\u00a0 \u00a0 \u00a0 \u00a0 Lalu cara menghubungkan<\/span><em><span style=\"font-weight: 400\"> local repository<\/span><\/em><span style=\"font-weight: 400\"> dengan <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">bisa dengan menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit remote add origin <\/span><a href=\"https:\/\/github.com\/jonathansantoso\/tetst\"><span style=\"font-weight: 400\">https:\/\/github.com\/jonathansantoso\/tetst<\/span><\/a><span style=\"font-weight: 400\">\u201d <\/span><span style=\"font-weight: 400\">dan untuk mengetahui kita sudah terhubung ke <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">dengan menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit remote &#8211;v\u201d.\u00a0 Sebenarnya terdapat cara lain untuk terkoneksi dengan <\/span><em><span style=\"font-weight: 400\">remote repository<\/span><\/em><span style=\"font-weight: 400\">, tetapi cara ini bergantung dengan kondisi <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">yaitu dengan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit clone <\/span><a href=\"https:\/\/github.com\/jonathansantoso\/tetst\"><span style=\"font-weight: 400\">https:\/\/github.com\/jonathansantoso\/tetst<\/span><\/a><span style=\"font-weight: 400\">\u201d akan terbentuk <\/span><em><span style=\"font-weight: 400\">replicate <\/span><\/em><span style=\"font-weight: 400\">dari <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">di <\/span><em><span style=\"font-weight: 400\">local repository <\/span><\/em><span style=\"font-weight: 400\">kita.<\/span><\/p>\n<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-2675\" src=\"http:\/\/student-activity.binus.ac.id\/csc\/wp-content\/uploads\/sites\/37\/2024\/01\/24-1.png\" alt=\"\" width=\"1029\" height=\"360\" \/><br \/>\n<span style=\"font-weight: 400\">Lalu bagaimana jika kita ingin melakukan <\/span><em><span style=\"font-weight: 400\">push <\/span><\/em><span style=\"font-weight: 400\">perubahan yang sudah kita buat di <\/span><em><span style=\"font-weight: 400\">local <\/span><\/em><span style=\"font-weight: 400\">ke <\/span><em><span style=\"font-weight: 400\">remote repository<\/span><\/em><span style=\"font-weight: 400\">? Kita bisa menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit push origin &lt;namabranch&gt;\u201d<\/span><\/p>\n<p style=\"text-align: justify\"><span style=\"font-weight: 400\">Untuk mengecek perubahan pada <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">dengan menggunakan <\/span><em><span style=\"font-weight: 400\">command <\/span><\/em><span style=\"font-weight: 400\">\u201cgit fetch\u201d dan untuk menarik perubahan data dari <\/span><em><span style=\"font-weight: 400\">remote repository <\/span><\/em><span style=\"font-weight: 400\">dengan menggunakan \u201cgit pull origin &lt;namaBranch&gt;\u201d<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 \u00a0 \u00a0 \u00a0 Pada artikel git sebelumnya sudah dibahas bagaimana cara kerja git secara sederhana hingga perubahan pada file akan tersimpan secara permanen di local repository folder git tersebut. Pada artikel kali ini akan dibahas mengenai branching, reset, stash, remote repository, serta contoh kasus yang sering terjadi pada saat memakai git di dunia nyata. [&hellip;]<\/p>\n","protected":false},"author":42,"featured_media":2651,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,4],"tags":[],"class_list":["post-2650","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articles","category-featured"],"_links":{"self":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/2650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/users\/42"}],"replies":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/comments?post=2650"}],"version-history":[{"count":1,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/2650\/revisions"}],"predecessor-version":[{"id":2676,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/posts\/2650\/revisions\/2676"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/media\/2651"}],"wp:attachment":[{"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/media?parent=2650"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/categories?post=2650"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/student-activity.binus.ac.id\/csc\/wp-json\/wp\/v2\/tags?post=2650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}