Coder Social home page Coder Social logo

belajar-git's Introduction

Belajar Git

Jika sebelumnya belum disetting username dan user, maka kita diminta untuk setting username dan email terlebih dulu. Sedangkan jika sebelumnya sudah disetting, maka informasi username dan email disimpan di home folder dengan nama ~/.gitconfig

[user]
	email = [email protected]
	name = ustadho

git init git add . git commit -m "message ...."

Sebelum kita simpan kita review dulu perubahannya dengan perintah

git diff

untuk melihat perubahan yang sudah pernah dibuat dengan satu baris

git log --oneline

melihat perbedaan antar versi

git diff 9c2e9d7570fa22c75cbc81cab3630a1c95829a60 f36d65cf43a9640e0b5c447bce1be79e0b8ee9c9

Belum tentu semua akan dicommit, misalkan kita lagi ngerjakan satu file, kita tambahkan fungsi/method, ternyata ada info kalau di production ada bug berarti ada 2 perubahan,

  1. tambahan fungsi baru
  2. bug fix maka kita menggunakan staging, yang 1 masuk staging yang 2 kita commit

Untuk membatalkan staging supaya sama dengan yang ada di working folder, maka kita harus reset

git reset

maka sekarang posisinya semua perubahan belum staging

Pilih baris per baris yang akan ditambahkan

git add -p

Stage this hunk [y,n,q,a,d,e,?]? tekan Enter untuk menampilkan keterangan

Apakah potingan ini mau dimasukkan ke staging?

y - stage this hunk (semua yang tampil disini akan masuk) n - do not stage this hunk (enggak usah) q - quit; do not stage this hunk or any of the remaining ones a - stage this hunk and all later hunks in the file d - do not stage this hunk or any of the later hunks in the file e - manually edit the current hunk ? - print help

biasanya yang digunakan 's' (split), potongannya baris per baris

untuk melihat apa saja yang di staging

git diff --staged

apa saya yang tidak masuk staging

git diff

Hati hati menggunakan git reset --hard karena bisa berpotensi menghilangkan semua perubahan terakhir

add <> reset

GitIgnore

Remote Repository

tambahkan ssh key dari folder ~/ssh buka id_rsa.pub

Branch

Istilah: HEAD: ujung dari branch commit terakhir

head dengan huruf besar artinya aktif, yang kita sedang ada didalamnya Branch: HEAD yang dikasih nama misal (1.x)

$ git status

akan menampilkan sedang di branch mana kita saat ini untuk melihat ada branch apa saja di repository ini

$ git branch

saat ini hanya ada satu branch, sebetulnya ada satu branch lagi yaitu remote branch (untuk mapping dengan kondisi di remote)

untuk menampilkan semua branch (termasuk yang di remote)

$ git branch -a

Kenapa ada 2? karena kalau kita kerja sedangkan ada orang lain yang sudah push. Kita mau mendownload yang diremote, tapi kita belum tentu mau pasang (merge) di lokal kita.

solusinya kita pakai command fetch

Teknisnya:

$ git branch perbaikan-format-angka $ git branch

Merge delete Branch

Untuk melakukan merge dengan master, pastikan kita berada di branch master

$ git checkout master $ git merge perbaikan-format-angka

Menghapus branch perbaikan-format-angka $ git branch -d perbaikan-format-angka

Di lokal sudah gak ada, tapi di remote masih ada, gimana cara hapusnya? aslinya: $ git push origin perbaikan:perbaikan maknanya kita akan meng-push branch local dengan nama perbaikan dan di remote juga dengan nama perbaikan, karena namanya sama maka bisa disingkat dengan satu nama saja.

Bagaimana dengan menghapus? Sekarang branch di local kan sudah gak ada,

$ git push origin :perbaikan-format-angka

artinya kita akan mengupdate branch di remote dengan null

belajar-git's People

Contributors

ustadho avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.