Menghapus File Ukuran Besar pada Git History
![]() |
| Git filter branch |
Fungsi git filter-branch
Cara menggunakannya adalah sebagai berikut
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch lokasi/ke/file.exe' \
--prune-empty --tag-name-filter cat -- --all
Jika sudah dijalankan maka akan muncul gambar seperti di atas
file.exe adalah file yang ingin di hapus dari semua history github repo yang telah disimpan, cara ini dapat menghemat banyak sekali space pada local repo sehingga ukuran repo tidak membengkak.
setelah proses selesai maka eksekusi command di bawah ini
git push origin --force --all
![]() |
| Git Push Force |
jika git menemukan file lain yang ukurannya besar maka akan diberikan peringatan tetang file tersebut
![]() |
| Git Bash Info |
Tutorial dan Source Code Aplikasi QR Code PHP & MySQL
![]() |
| QR Code |
Kali ini saya akan share tutorial Create dan Scan QR Code menggunakan PHP dan langsung terhubung dengan database MySQL, saya menggunakan library dari github, berikut adalah library yang saya pakai
Untuk membuat QR Code saya menggunakan https://github.com/t0k4rt/phpqrcode (PHP)
Untuk scan QR Code saya menggunakan https://github.com/ifirdausku/webcodecamjs (Javascript)
Contoh project yang menggunakan keduanya (Source code create dan scan ijasah)
https://github.com/ifirdausku/scan-create-qr-code-php
Silahkan download dulu jika anda ingin mengikuti tutorial ini, jika ingin langsung download source codenya saya sediakan dibawah
Saya asumsikan anda sudah paham HTML, CSS, basic PHP dan Javascript, karena saya menggunakan bootstrap, jquery dalam tutorial ini.
Aplikasi ini HANYA DAPAT BERJALAN PADA HTTPS, jadi jika anda menjalankannya tidak menggunakan HTTPS pada chrome maka akan gagal karena kamera tidak bisa diakses.
Setelah anda download 2 library diatas, jadikan dalam 1 folder (disini saya membuat folder bernama qr) , lalu masukkan dalam htdocs
![]() |
| Jadikan dalam 1 folder |
Tutorial Git Dasar 1
- Membuat Repository melalui Website Github
- Membuat Repository melalui Command
- Upload File ke Github
- Membuat Folder dalam Repository di Github
Diatas adalah tutorial Git menggunakan gambar dengan mudah. Jika anda masih mengalami kesulitan silahkan bertanya di komentar.
Memulai Git dan Menginstall Git
Mari memulai menggunakan Git. Pertama, tentu saja anda harus menginstallnya terlebih dahulu. Anda dapat melakukan melalui berbagai cara; dua cara paling poluler adalah menginstallnya dari kode sumbernya atau menginstalkan paket yang telah disediakan untuk platform anda.
- Menginstall dari kode sumber
Untuk menginstall Git, anda membutuhkan beberapa library yang dibutuhkan oleh Git: curl, zlib, openssl, expat, dan libiconv. Sebagai contoh, jika anda berada pada sistem yang menggunakan yum (seperti Fedora) atau apt-get (seperti sistem berbasis Debian), anda dapat menggunakan salah satu dari perintah berikut untuk menginstall semua library yang dibutuhkan oleh Git:
$ yum install curl-devel expat-devel gettext-devel \ openssl-devel zlib-devel $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext \ libz-dev
Setelah anda memperoleh semua library yang dibutuhkan, anda kemudian dapat melanjutkan dengan mengunduh Git dari situsnya:
Kemudian, kompilasi dan install:http://git-scm.com/download
Setelah semua ini selesai, anda juga dapat memperoleh Git terbaru melalui Git sendiri:$ tar -zxf git-1.6.0.5.tar.gz $ cd git-1.6.0.5 $ make prefix=/usr/local all $ sudo make prefix=/usr/local install
$ git clone git://git.kernel.org/pub/scm/git/git.git
- Menginstall Git di Linux
Atau jika anda menggunakan distro berbasis Debian seperti Ubuntu, coba gunakan apt-get:$ yum install git-core
$ apt-get install git
- Menginstall Git pada MAC OS
http://sourceforge.net/projects/git-osx-installer/
![]() |
| Git OS X installer |
http://www.macports.org). Jika anda telah menginstall MacPorts, maka anda dapat menginstall Git melalui cara berikutAnda tidak harus menambahkan extras-nya, tetapi anda mungkin membutuhkan +svn jika anda harus menggunakan Git pada repositori Subversion.$ sudo port install git-core +svn +doc +bash_completion +gitweb
- Menginstall Git pada Windows
Setelah terinstall, anda akan memperoleh versi command-line (bersama dengan klien SSH yang praktis) dan versi GUI-nya.http://msysgit.github.com/
Tutorial diatas saya dapatkan dari https://git-scm.com.
Jika anda masih kesulitan anda dapat bertanya pada kolom komentar.
Dasar Git
Jadi, sebenarnya apa yang dimaksud dengan Git? Ini adalah bagian penting untuk dipahami, karena jika anda memahami apa itu Git dan cara kerjanya, maka dapat dipastikan anda dapat menggunakan Git secara efektif dengan mudah. Selama mempelajari Git, cobalah untuk melupakan VCS lain yang mungkin telah anda kenal sebelumnya, misalnya Subversion dan Perforce. Git sangat berbeda dengan sistem-sistem tersebut dalam hal menyimpan dan memperlakukan informasi yang digunakan, walaupun antar-muka penggunanya hampir mirip. Dengan memahami perbedaan tersebut diharapkan dapat membantu anda menghindari kebingungan saat menggunakan Git.
Salah satu perbedaan yang mencolok antar Git dengan VCS lainnya (Subversion dan kawan-kawan) adalah dalam cara Git memperlakukan datanya. Secara konseptual, kebanyakan sistem lain menyimpan informasi sebagai sebuah daftar perubahan berkas. Sistem seperti ini (CVS, Subversion, Bazaar, dan yang lainnya) memperlakukan informasi yang disimpannya sebagai sekumpulan berkas dan perubahan yang terjadi pada berkas-berkas tersebut, sebagaimana yang diperlihatkan pada Gambar dibawah
Git tidak bekerja seperti ini. Melainkan, Git memperlakukan datanya sebagai sebuah kumpulan snapshot dari sebuah miniatur sistem berkas. Setiap kali anda melakukan commit, atau melakukan perubahan pada proyek Git anda, pada dasarnya Git merekam gambaran keadaan berkas-berkas anda pada saat itu dan menyimpan referensi untuk gambaran tersebut. Agar efisien, jika berkas tidak mengalami perubahan, Git tidak akan menyimpan berkas tersebut melainkan hanya pada file yang sama yang sebelumnya telah disimpan. Git memperlakukan datanya seperti terlihat pada Gambar dibawah
Ini adalah sebuah perbedaan penting antara Git dengan hampir semua VCS lain. Hal ini membuat Git mempertimbangkan kembali hampir setiap aspek dari version control yang oleh kebanyakan sistem lainnya disalin dari generasi sebelumnya. Ini membuat Git lebih seperti sebuah miniatur sistem berkas dengan beberapa tool yang luar biasa ampuh yang dibangun di atasnya, ketimbang sekadar sebuah VCS. Kita akan mempelajari beberapa manfaat yang anda dapatkan dengan memikirkan data anda dengan cara ini ketika kita membahas "Git branching"
Hampir Semua Operasi Dilakukan Secara Lokal
Kebanyakan operasi pada Git hanya membutuhkan berkas-berkas dan resource lokal – tidak ada informasi yang dibutuhkan dari komputer lain pada jaringan anda. Jika Anda terbiasa dengan VCS terpusat dimana kebanyakan operasi memiliki overhead latensi jaringan, aspek Git satu ini akan membuat anda berpikir bahwa para dewa kecepatan telah memberkati Git dengan kekuatan. Karena anda memiliki seluruh sejarah dari proyek di lokal disk anda, dengan kebanyakan operasi yang tampak hampir seketika.Sebagai contoh, untuk melihat history dari proyek, Git tidak membutuhkan data histori dari server untuk kemudian menampilkannya untuk anda, namun secara sedarhana Git membaca historinya langsung dari basisdata lokal proyek tersebut. Ini berarti anda melihat histori proyek hampir secara instant. Jika anda ingin membandingkan perubahan pada sebuah berkas antara versi saat ini dengan versi sebulan yang lalu, Git dapat mencari berkas yang sama pada sebulan yang lalu dan melakukan pembandingan perubahan secara lokal, bukan dengan cara meminta remote server melakukannya atau meminta server mengirimkan berkas versi yang lebih lama kemudian membandingkannya secara lokal.
Hal ini berarti bahwa sangat sedikit yang tidak bisa anda kerjakan jika anda sedang offline atau berada diluar VPN. Jika anda sedang berada dalam pesawat terbang atau sebuah kereta dan ingin melakukan pekerjaan kecil, anda dapat melakukan commit sampai anda memperoleh koneksi internet hingga anda dapat menguploadnya. Jika anda pulang ke rumah dan VPN client anda tidak bekerja dengan benar, anda tetap dapat bekerja. Pada kebanyakan sistem lainnya, melakukan hal ini cukup sulit atau bahkan tidak mungkin sama sekali. Pada Perforce misalnya, anda tidak dapat berbuat banyak ketika anda tidak terhubung dengan server; pada Subversion dan CVS, anda dapat mengubah berkas, tapi anda tidak dapat melakukan commit pada basisdata anda (karena anda tidak terhubung dengan basisdata). Hal ini mungkin saja bukanlah masalah yang besar, namun anda akan terkejut dengan perbedaan besar yang disebabkannya.
Git Memiliki Integritas
Segala sesuatu pada Git akan melalui proses checksum terlebih dahulu sebelum disimpan yang kemudian direferensikan oleh hasil checksum tersebut. Hal ini berarti tidak mungkin melakukan perubahan terhadap berkas manapun tanpa diketahui oleh Git. Fungsionalitas ini dimiliki oleh Git pada level terendahnya dan ini merupakan bagian tak terpisahkan dari filosofi Git. Anda tidak akan kehilangan informasi atau mendapatkan file yang cacat tanpa diketahui oleh Git.Mekanisme checksum yang digunakan oleh Git adalah SHA-1 hash. Ini merupakan sebuah susunan string yang terdiri dari 40 karakter heksadesimal (0 hingga 9 dan a hingga f) dan dihitung berdasarkan isi dari sebuah berkas atau struktur direktori pada Git. sebuah hash SHA-1 berupa seperti berikut:
Anda akan melihat nilai seperti ini pada berbagai tempat di Git. Faktanya, Git tidak menyimpan nama berkas pada basisdatanya, melainkan nilai hash dari isi berkas.24b9da6552252987aa493b52f8696cd6d3b00373
Secara Umum Git Hanya Menambahkan Data
Ketika anda melakukan operasi pada Git, kebanyakan dari operasi tersebut hanya menambahkan data pada basisdata Git. It is very difficult to get the system to do anything that is not undoable or to make it erase data in any way. Seperti pada berbagai VCS, anda dapat kehilangan atau mengacaukan perubahan yang belum di-commit; namun jika anda melakukan commit pada Git, akan sangat sulit kehilanngannya, terutama jika anda secara teratur melakukan push basisdata anda pada repositori lain.Hal ini menjadikan Git menyenangkan karena kita dapat berexperimen tanpa kehawatiran untuk mengacaukan proyek. Untuk lebih jelas dan dalam lagi tentang bagaimana Git menyimpan datanya dan bagaimana anda dapat mengembalikan yang hilang, lihat "Under the Covers"
3 Keadaan dalam Git
Sekarang perhatikan. Ini adalah hal utama yang harus diingat tentang Git jika anda ingin proses belajar anda berjalan lancar. Git memiliki 3 keadaan utama dimana berkas anda dapat berada: committed, modified dan staged. Committed berarti data telah tersimpan secara aman pada basisdata lokal. Modified berarti anda telah melakukan perubahan pada berkas namun anda belum melakukan commit pada basisdata. Staged berarti anda telah menandai berkas yang telah diubah pada versi yang sedang berlangsung untuk kemudian dilakukan commit.Ini membawa kita ke tiga bagian utama dari sebuah projek Git: direktori Git, direktori kerja, dan staging area.
![]() |
| Direktori kerja, staging area, dan direktori git. |
Direktori Git adalah dimana Git menyimpan metadata dan database objek untuk projek anda. Ini adalah bahagian terpenting dari Git, dan inilah yang disalin ketika anda melakukan kloning sebuah repository dari komputer lain.
Direktori kerja adalah sebuah checkout tunggal dari satu versi dari projek. Berkas-berkas ini kemudian ditarik keluar dari basisdata yang terkompresi dalam direktori Git dan disimpan pada disk untuk anda gunakan atau modifikasi.
Staging area adalah sebuah berkas sederhana, umumnya berada dalam direktori Git anda, yang menyimpan informasi mengenai apa yang menjadi commit selanjutnya. Ini terkadang disebut sebagai index, tetapi semakin menjadi standard untuk menyebutnya sebagai staging area.
Alur kerja dasar Git adalah seperti ini:
- Anda mengubah berkas dalam direktori kerja anda.
- Anda membawa berkas ke stage, menambahkan snapshotnya ke staging area.
- Anda melakukan commit, yang mengambil berkas seperti yang ada di staging area dan menyimpan snapshotnya secara permanen ke direktori Git anda.
Tutorial diatas saya dapatkan dari https://git-scm.com.
Jika anda masih belum paham mengenai git anda dapat bertanya pada kolom komentar.
Apa itu Git?
Dikutip dari wikipedia
Git (/ɡɪt/) is a version control system (VCS) that is used for software development and other version control tasks. As a distributed revision control system it is aimed at speed, data integrity, and support for distributed, non-linear workflows.dalam bahasa indonesia
Git adalah perangkat lunak pengontrol versi atau proyek manajemen kode perangkat lunak yang diciptakan oleh Linus Torvalds, yang pada awalnya ditujukan untuk pengembangan kernel Linux. Desain Git terinspirasi oleh BitKeeper dan Monotone . Git pada awalnya hanya dirancang sebagai mesin tingkat rendah yang dapat digunakan oleh tampilan muka (front end) lain seperti Cogito atau StGIT . Namun selanjutnya proyek inti Git telah berkembang menjadi pengontrol revisi lengkap yang dapat digunakan langsung . Saat ini, beberapa perangkat lunak terkenal menggunakan Git sebagai pengontrol revisinya, antara lain kernel Linux, Server X.org, pengembangan inti OLPC (One Laptop per Child) , serta kerangka kerja web Ruby on Rails.
Beberapa layanan git yaitu :

















