Di bawah ini adalah lembar contekan. Saya harap bermanfaat bagi pemula untuk segera memahami dasar-dasarnya.

Langkah 0 — Prasyarat — Menyiapkan konektivitas ssh dari lokal kami ke GitHub/GitLab

Silakan ikuti langkah-langkah yang tercantum di https://docs.github.com/en/authentication/connecting-to-github-with-ssh.

Langkah 1 — Menyiapkan repositori

  • Kloning repositori di lingkungan lokal kita menggunakan git clone <url-from-repository>
  • Anda bisa mendapatkan nilai ini dari repositori Git. Arahkan ke repo → kode (tombol hijau) → salin URL ssh.
  • Setelah operasi kloning selesai, itu akan menunjuk ke cabang default.

Langkah 2 — Menyiapkan cabang

  • Untuk beralih ke cabang yang ada di remote, git checkout <branch-name>. Untuk mendapatkan semua perubahan terbaru pada cabang lokal kami, git pull — rebase.
  • Untuk membuat cabang baru di lokal dan mendorongnya ke jarak jauh
    — Jika Anda berada di cabang tertentu saat ini dan ingin ini menjadi awal dari cabang baru Anda, gunakan, git checkout -b <branch-name>.
    — Jika Anda cabang baru harus didasarkan pada cabang lain, gunakan, git branch <new-branch> <base-branch>.
  • Dari salah satu langkah di atas, cabang lokal akan dibuat tetapi tidak akan ada di cabang jarak jauh. Untuk mendorongnya ke jarak jauh, kita dapat menggunakan, git push -u origin <local-branch-name>.
  • Informasi lebih lanjut dapat dilihat di https://www.git-tower.com/learn/git/faq/create-branch.

Langkah 3 — Lakukan perubahan

  • Untuk sekadar memeriksa status cabang saat ini, gunakan, git status. Ini akan menampilkan daftarnya. Ini akan berisi file baru, file yang dimodifikasi, dan file yang dihapus juga.
  • Tambahkan perubahan pada staging area, git add <path-to-file>atau git add <path-to-directory>.
  • Komit perubahan pada cabang lokal Anda, git commit -m “<commit-message>”. Ini akan mengkomit semua perubahan yang ditambahkan ke staging area (pada langkah di atas).

Langkah 4 — Dapatkan perubahan terkini dari jarak jauh

  • git pull --rebase — Ini akan membantu kami memperbarui cabang lokal kami dengan semua perubahan dari jarak jauh. Dengan tanda --rebase, git akan memindahkan komitmen lokal kita ke atas komitmen terbaru di jarak jauh.
  • Beberapa orang menggunakan simplegit pull dan ini akan menambahkan komit gabungan baru untuk semua yang ada di jarak jauh tetapi tidak di lokal kami. Komitmen tambahan ini seringkali dapat menimbulkan kebingungan. Jadi, saya pribadi lebih suka menggunakan perintah git pull bersama dengan flag rebase. Untuk informasi lebih lanjut, silakan merujuk ke https://git-scm.com/docs/git-pull.

Langkah 5— Dorong perubahan kami ke jarak jauh

  • git push

Langkah 6— Periksa riwayat penerapan

  • git log— Ini akan menampilkan semua komit pada cabang saat ini dengan perubahan terbaru di atasnya. Setiap komit akan memiliki hash komit.
  • git show <commit-hash>— Ini akan menampilkan perubahan per file komit. Hash komit dapat diperoleh dari daftar di atas.

Langkah 7— Hapus cabang lokal

git branch -d <branch-name>— ini akan menghapus cabang lokal. Jika ada perubahan yang tidak digabungkan ke dalam remote, kita perlu melakukan force delete, git branch -D <branch-name> .

Kegiatan tambahan

Buat repositori baru di lokal kami dan dorong ke jarak jauh

mkdir <folder-name>
cd <folder-name> 
touch .gitignore
git init 
git add . 
git commit -m "Initializing the repository"
git remote add origin <username>@<git-server-url>:/path/to/project.git
git push --set-upstream origin master

Salin komit yang dibuat dari cabang 1 ke cabang 2

  • Beralih ke cabang 1, git checkout <branch-1>.
  • Dapatkan hash komit dari cabang 1, git log.
  • Beralih ke cabang 2, git checkout <branch-2>.
  • Terapkan perubahannya, git cherry-pick <commit-hash>.
  • Bantuan tambahan dapat dilihat di https://www.atlassian.com/git/tutorials/cherry-pick

Kembalikan satu atau lebih komitmen yang dibuat ke cabang lokal

  • git reset --soft HEAD~5— ini akan menghapus 5 komitmen teratas tetapi perubahan yang dibuat di dalamnya akan ditampilkan sebagai perubahan yang tidak dipentaskan. Ini berguna ketika kita ingin membuat beberapa perubahan pada kode yang dikomit sebelumnya.
  • git reset --hard HEAD~5— ini akan menghapus sepenuhnya perubahan pada 5 komitmen teratas. Kode tidak akan disimpan di mana pun di lokal. Jadi, hal ini perlu pertimbangan matang.

Stitch melakukan komitmen yang dibuat di cabang lokal

  • Kita mungkin telah membuat banyak komitmen kecil. Sekarang, jika kita ingin mengaturnya dan mengelompokkannya ke dalam kumpulan terkait, kita dapat menggunakan git rebase.
  • git rebase -i HEAD~5— ini akan membuka shell interaktif yang menampilkan 5 commit terbaru. Jika kita ingin komit tertentu digabungkan ke komit lain, kita dapat menggunakan opsi “squash” untuk itu.
  • Ini sedikit lebih maju, jadi, harap lakukan ini setelah mempertimbangkannya dengan cermat. Selain itu, hal ini tidak boleh dilakukan pada cabang yang digunakan oleh banyak orang. Setelah perubahan ini diterapkan secara jarak jauh, hal ini akan menyebabkan masalah pada repositori lokal orang lain saat kami menulis ulang riwayat git di sini.
  • Informasi lebih lanjut di https://www.atlassian.com/git/tutorials/rewriting-history/git-rebase.