seperti judul postingan saya ingin mengenalkan salah satu teknologi control version system git, jadi version control system adalah sebuah sistem yang merekan perubahan perubahan dari sebuah file atau folder dari timeline yang ditentukan hingga dapat melakukan rollback terhadap perubahan yang tidak ingin dilakukan. seperti programmer ingin membuat fitur tetapi pada fitur tersebut terjadi kesalahan pada saat production, jadi mau tidak mau sang programmer melakukan rollback dan balik ke fitur yang sebelumnya. mari berkenalan dengan git dan github dengan beberapa command line dasar

Tujuan git

  • speed
  • simple design
  • strong support dari berbagai macam orang
  • terdistribusi penuh

git tidak terhapus

  • secara konsep git tidaklah menghapus tetapi melakukan penambahan
  • pada saat melakukan kesalahan bisa melakukan recovery atau pemulihan
  • pemulihan agak sedikit tricky wkwkw

git branch

git branch merupakan cabang atau percabangan pada saat pengembangan software atau hal yang lain, contoh, branch master secara default akan terbuat pada git, biasanya branch master akan digunakan sebagai branch yang versi stablenya biasanya branch dinamai sesuai fitur atau nama yang kontributor, yang nantinya akan di merge atau digabungkan dengan fitur yang lainnya.

configurasi dasar

$ git config --global user.name "yogiex"
$ git config --global user.email "yogiex@contoh.com"

membuat inisiasi repository

$ mkdir new-repo
$ cd new-repo
$ git init

mengcopy repository dari github ke komputer local kita

$ git clone https://github.com/yogiex/example
$ cd example/

command dasar pada git

git add digunakan pada saat setelah melakukan perubahan pada suatu file atau folder digunakan untuk menambahkan file atau content pada index status

$ git add file.py

git status merupakan command untuk melakukan pengecekan pekerjaan tree status

$ git status

github workflow

github workflow

  • pertama kita buat branch baru agar branch master tidak terganggu pada saat pengembangan
  • lakukan perubahan terhadap pekerjaan yang dilakukan
  • commit changes agar ditambahkan pada branch yang sesuai
  • pull request untuk memberi informasi terhadap repository yang teman teman kontribusikan
  • testing fitur
  • apabila fitur diterima maka akan dimerge atau digabungkan pada branch master