Posts

10 Tips Git Useful

Selama beberapa tahun terakhir, git telah berkembang pesat menjadi salah satu sistem kontrol versi yang paling banyak digunakan. Git digunakan oleh developer coding, tim dan semuanya mulai dari proyek open source kecil hingga codebases besar seperti kernel linux dalam berbagai bahasa

Pada artikel ini kita akan berbagi tip yang dapat meningkatkan pengalaman dan alur kerja git Anda.

Git log –no-merges

Perintah git ini menunjukan keseluruhan history commit tapi skip commit yang menggabungkan dua branches bersama atau menyelesaikan konflik gabungan. Perintah ini memungkinkan Anda untuk cepat melihat semua perubahan yang dilakukan pada proyek, tanpa harus mengacaukan gabungan comit history git

$git log --no-merges

commit e75fe8bf2c5c46dbd9e1bc20d2f8b2ede81f2d93
Author:  John
Date:   Mon Jul 10 18:04:50 2017 +0300

    Add new branch.

commit 080dfd342ab0dbdf69858e3b01e18584d4eade34
Author:  John
Date:   Mon Jul 11 15:40:56 2017 +0300

    Added index.php.

commit 2965803c0deeac1f2427ec2f5394493ed4211655
Author:  John
Date:   Mon Jul 13 12:14:50 2017 +0300

    Added css files.

git revert –no-commit [commit]

git kembali menghasilkan komit baru yang membatalkan perubahan yang dilakukan oleh komit yang ada dan menghasilkan komit baru dengan konten yang dihasilkan. Jika Anda ingin mengembalikan komit yang telah disebutkan dan menghindari komit otomatis, Anda dapat menggunakan tanda flag –no-commit atau shorthand -n.

git diff –w

git diff menunjukan antara dua komit, dua work tree atau dua file pada disk. Karena banyak ornag mengerjakan proyek yang sama, seringkali ada perubahan karena tab editor teks dan pengaturan ruang. Untuk mengabaikan perbedaan yang disebabkan oleh whitespace(spasi putih) saat membandingkan garis, Anda dapat menggunakannya dengan -w flag.

git diff –stat

menunjukan bagaimana setiap file telah berubah dari waktu ke waktu. Anda dapat menambahkan 3 parameter: width untuk menimpa lebar output default, name-width untuk mengatur lebar nama file dan count membatasi output ke jumlah baris pertama.

$ git diff --stat
 index.php | 83 +++++++++++++++++++++++++++++---------------------------
 1 file changed, 43 insertions(+), 40 deletions(-)
$ git diff --stat-width=10
 index.php | 83 +++---
 1 file changed, 43 insertions(+), 40 deletions(-)

git reset –soft HEAD^

reset head ke komit tertentu tanpa menyentuh file indeks dan work tree. Semua perubahan yang dilalukan setelah komit ini dipindahkan ke tahap “staged for commit”. Setelah itu Anda perlu menjalankan git komit untuk menambahkannya kembali.

git stash branch [branch-name] [stash]

perintah ini membuat branch baru bernama branch-name dan check it out, kemudian menerapkan perubahan dari simpanan yang diberikan padanya dan menghapus simpanan. Jika tidak ada simpanan yang diberikan yang terbaru. Hal ini memungkinkan Anda untuk menerapkan perubahan tersimpa ke lingkungan yang lebih aman, yang nantinya dapat digabungkan menjadi master.

git branch –a

perintah tersebut menunjukan daftar semua branch jarak jauh dan branch lokal. Anda dapat menggunakan flag untuk melihat hanya branch yang sepenuhnya digabungkan ke branch induk. Dengan cara ini Anda bisa melacak branch Anda dan mencari tahu mana yang tidak digunakan lagi dan bisa dihapus.

$ git branch -a

  dev
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev

git commit –amend

dengan git commit –amend Anda bisa mengubah komit sebelumnya, daripada membuat yang baru. Jika Anda belum mendorong perubahan terbaru dan bahkan mengubah pesan komit Anda.

git pull –rebase

git pull –rebase memaksa git untuk terlebih dahulu menarik perubahan dan kemudian rebase yang tidak ditipu melakukan diatas versi terbaru dari remote branch. Pilihan –rebase dapat digunakan untuk memastikan history linier dengan mencegah penggabungan yang tidak perlu dilakukan.

git add –p

bila Anda menggunakan perintah ini, alih-alih segera menambahkan semua yang berubah ke indeks, ia melewati setiap perubahan dan menanyakan apa yang ingin Anda lakukan dengannya. Dengan cara ini, memungkinkan Anda untuk secara interaktif memilih apa yang ingin Anda lakukan.

diff --git a/package.json b/package.json
index db78332..a814f7e 100644
--- a/package.json
+++ b/package.json
@@ -6,7 +6,6 @@
   },
   "devDependencies": {
     "bootstrap-sass": "^3.3.7",
-    "gulp": "^3.9.1",
     "jquery": "^3.1.0",
     "laravel-elixir": "^6.0.0-11",
     "laravel-elixir-vue-2": "^0.2.0",
Stage this hunk [y,n,q,a,d,/,e,?]?