Created
August 28, 2014 03:59
-
-
Save adityasatrio/837210232d3f46c1720b to your computer and use it in GitHub Desktop.
GIT quick description
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
http://www.kaskus.co.id/post/53f4d8f9d675d4aa188b45ba#post53f4d8f9d675d4aa188b45ba | |
git itu source code manager | |
bisa juga disebut revision manager | |
persis seperti svn dan cvs | |
hanya saja git itu terdistribusi | |
git dibuat sama linus torvalds, dkk | |
karena beliau gak puas sama svn dan cvs tsb | |
(sebenernya beliau sebelumnya pakai perforce, tapi lebih milih utk membuatnya sendiri yang sifatnya open source) | |
gini... simpelnya | |
setiap kali ente dapat proyekan yang berkaitan dengan text dan code | |
pasti ada revisi kan? | |
misal ada penambahan method, ada bagian yang diubah di sana sini, | |
ada file yang dihapus, ada file file baru, dsb misal class baru, atau method baru, atau ente me-refactor code ente. | |
satu commit git => menyimpan snapshot tentang source code ente, messagenya apa, ada waktu commit, nama ente (beserta email), dsb... | |
satu repository git => punya banyak commit | |
setiap ente selesai melakukan revisi, misal ada penambahan method atau apalah, pokoknya yang mengubah isi dari file text/code di dalam repository tsb, ente melakukan commit, jadi perubahannya bisa tersimpan, dan bisa dipush ke remote repository (di komputer/server lain) | |
utk melakukan commit thdp suatu file, ente harus memasukkannya ke fase staging dulu via git add. | |
alur dasarnya | |
git init (bikin repository kosong) / sekali aja | |
kemudian, dari situ | |
tambahin file yang hendak di commit (git add) | |
kemudian commit | |
ada perubahan di code ente? | |
tambahin perubahan tsb (git add) | |
commit lagi | |
dst | |
setiap commit itu punya parent commit | |
ada history-nya jadi ente bisa track kerjaan ente dari situ | |
file file yang ente gak mau masukkin ke repository, ente masukkin ke gitignore, misal file2 binary seperti .class dan .jar, atau file2 temporary, file2 setting IDE, dsb.. termasuk juga file2 untuk distribusi hasil dari kompilasi, gak perlu dicommit,, misal css hasil dari compile sass, js dari compile coffee, yang dicommit cukup file file sass dan coffee-nya | |
nah git itu terdistribusi | |
ente bisa mem-fork repository satu sama lain... | |
misal kerjaan ane ditaro di repo, ane kasih ente izin, ente fork, dari fork tsb ente bisa lanjutin sendiri, commit sendiri, bikin branch sendiri, dsb. | |
intinya ente punya repository local ente sendiri | |
biasanya di sebuah proyek, ada 1 prime repository yang official... di situlah produk dikembangkan | |
kalau ente mau contribute, ente pull request ke prime repository tsb. | |
ada yang namanya branching | |
biasanya penambahan fitur atau hotfix atau versi baru | |
branching ini maksudnya ketika membuat branch baru, ente membuat semacam cabang dari repository ente, snapshotnya persis seperti yang ente rujuk sebagai branch tsb | |
misal ente punya branch master sbg default | |
ente mau bikin fitur buat voting di app ente, | |
ente bikin branch utk develop feature voting (berdasarkan branch master) | |
branch master diduplikat jadi branch baru dengan nama branch tsb (voting) | |
ente switch ke branch voting | |
ente bikin code-nya di branch voting | |
ketika selesai, commit | |
dan ente merge ke master | |
nah ente push ke remote repository ente, ente minta pull request ke prime repository (kalau orang lain yang handle) | |
selesai direview, kalau disetujui, mereka akan merge fitur voting tsb ke repository prime itu | |
bisa jadi branch branch yang ente punya di mesin lokal ente | |
berbeda dengan branch branch milik orang lain | |
karena mungkin bagi tugas, dsb | |
misal: | |
ane ngerjain fitur A | |
dia ngerjain fitur B | |
dia ngerjain fitur C | |
dsb | |
http://i.stack.imgur.com/yof9f.png | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment