Remote (Push dan Pull)

Bekerja dengan Server Git

Teknik Kolaborasi TI

Remote?


Remote Repository


Github


Membuat Repository Baru di Github

Alamat Repository Baru Github

Menghubungkan Repository Lokal dengan Remote

Perintah utama:

$ git remote add <nama> <alamat>
  1. Isikan <nama> dengan nama repository remote yang diinginkan
  2. Nama remote utama biasanya "origin"
  3. "origin" juga nama remote yang diberi git ketika melakukan clone repository lain
  4. Isikan <alamat> dengan alamat repository remote
  5. 1 repository boleh punya banyak remote

Melihat Daftar Repository Remove

$ git remote
  1. Tambahkan parameter -v untuk melihat detil

Contoh Penggunaan Penambahan dan Daftar Repo Remote

# Belum ada remote
[email protected] ~/Desktop/code/tib (master)
$ git remote

[email protected] ~/Desktop/code/tib (master)
$ git remote -v

[email protected] ~/Desktop/code/tib (master)
$ git remote add origin [email protected]:bertzzie/belajar-git.git

Contoh Penggunaan Penambahan dan Daftar Repo Remote (cont.)

#remote ditambahkan
[email protected] ~/Desktop/code/tib (master)
$ git remote
origin

[email protected] ~/Desktop/code/tib (master)
$ git remote -v
origin  [email protected]:bertzzie/belajar-git.git (fetch)
origin  [email protected]:bertzzie/belajar-git.git (push)

Mengirimkan Data Repository ke Remote

Perintah utama:

$ git push <nama-remote> <nama-cabang>
  1. Jika remote menggunakan protokol https, bisa langsung mengirimkan data
  2. Jika remote menggunakan protokol git, kita harus melakukan setup ssh dahulu
  3. Ketika pertama kali push ke repo baru, gunakan opsi -u
  4. Opsi -u: memberitahukan ke git bahwa ini adalah repo pusat (tempat orang berkontribusi)
  5. Tanpa -u, pengguna repo lain tidak dapat langsung melakukan push / pull setelah clone

HTTPS / SSH?

HTTPS / SSH? (cont.)

# SSH
[email protected] ~/Desktop/code/tib (master)
$ git remote -v
origin  [email protected]:bertzzie/belajar-git.git (fetch)
origin  [email protected]:bertzzie/belajar-git.git (push)

# HTTPS
[email protected] ~/Desktop/code/tib (master)
$ git remote -v
origin  https://github.com/bertzzie/belajar-git.git (fetch)
origin  https://github.com/bertzzie/belajar-git.git (push)

HTTPS / SSH? (cont.)


Contoh Penggunaan Git Push

[email protected] ~/Desktop/code/tib (master)
$ git push -u origin master
Username for 'https://github.com': bertzzie
Password for 'https://[email protected]':
Counting objects: 22, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (19/19), done.
Writing objects: 100% (22/22), 2.00 KiB | 0 bytes/s, done.
Total 22 (delta 5), reused 0 (delta 0)
To https://github.com/bertzzie/belajar-git.git
* [new branch]      master -> master
Branch master set up to track remote branch master from origin.

Mengambil Data dari Remote

Perintah utama:

$ git fetch <nama-remote>
  1. Mengambil data terbaru dari remote
  2. Jika terjadi konflik, selesaikan secara manual
  3. Kalau ingin penyelesaian konflik otomatis, gunakan perintah pull

Mengambil Data dari Remote (cont.)

Untuk menyelesaikan konflik otomatis:

$ git pull <nama-remote>

Contoh Penggunaan Git Pull

[email protected] ~/Desktop/projects/libgit2 (master)
$ git pull origin
Enter passphrase for key '/c/Users/bert/.ssh/id_rsa':
remote: Counting objects: 7122, done.
remote: Compressing objects: 100% (2404/2404), done.
remote: Total 6357 (delta 4488), reused 5667 (delta 3816)
Receiving objects: 100% (6357/6357), 2.05 MiB | 50.00 KiB/s, done.
Resolving deltas: 100% (4488/4488), completed with 472 local objects.
# data perubahan...

Bagaimana Jika Belum Ada Repo Lokal?

Untuk pertama kali mengambil repo lokal, push tidak dapat digunakan. Gunakan clone:

$ git clone <alamat-remote>

Contoh Penggunaan Clone

[email protected] ~/Desktop/code/aa
$ git clone [email protected]:bertzzie/belajar-git.git
Cloning into 'belajar-git'...
Enter passphrase for key '/c/Users/bert/.ssh/id_rsa':
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 22 (delta 5), reused 22 (delta 5)
Receiving objects: 100% (22/22), done.
Resolving deltas: 100% (5/5), done.

Rangkuman Alur Kerja Git(Hub)

Sesuaikan dengan alur kerja git:

Rangkuman Alur Kerja Git(Hub)

Untuk kode baru:

  1. Buat repository baru di github
  2. Buat repository baru di lokal
  3. Kerja di repository lokal
  4. Push dengan opsi -u ke github

Rangkuman Alur Kerja Git(Hub)

Untuk kode yang sudah ada:

  1. Clone / Pull dari Github
  2. Kerja di repository lokal
  3. Sebelum push, pull kembali untuk memastikan kode sudah yang terbaru
  4. Push data repositori terbaru ke github

Perintah Tambahan Remote: Mengganti Nama Remote

$ git remote rename <nama-lama> <nama-baru>

Perintah Tambahan Remote: Menghapus Remote

$ git remote rm <nama-remote>

Perintah Tambahan Remote: Melihat Detil Remote

$ git remote show <nama-remote>