Connect Git dan GitHub untuk Newbie


Dalam mempelajari datascience toolbox, ada 2 tools dasar yang harus dipelajari yaitu R dan Git. R adalah bahasa pemrograman yang digunakan dalam pengolahan data, bersifat opensource dan banyak digunakan secara umum di dunia. Sedangkan Git adalah control source yang berfungsi untuk sharing project dan control file yang merecord setiap ada perubahan, sehingga dapat terlacak perubahan yang dilakukan setiap orang.

Untuk menggunakan git dan github, berikut langkah-langkahnya :

Install Git

  1. Download installer Git di https://git-scm.com/download
  2. Pilih Operating System yang digunakan dan download
  3. Install
  4. Config username dan email di Git (username disamakan saja dengan di GitHub)

$ git config –global user.name “namanya siapa”

$ git config –global user.email “emailnya apa”

  1. Create directory baru (samakan saja dengan nama repository yang akan dibuat di GitHub)

$ mkdir ~/repo-dir

$ cd ~/repo-dir

$ git init –> inisialisasi folder ini sebagai Git repository

 

  1. Mengarahkan repository local git pada computer ke repository online pada gitHub server

$ git remote add origin https://github.com/namauser/repo-folder.git

  1. Membuat file

Buat file terserah pada computer dan simpan pada folder repo git. Pada computer windows lokasinya ada di c:/users/nama_user/repo-folder

  1. Add file ke index

$ git add namafile

$ git add –u –>update tracking file jika ada perubahan atau pendeletan

  1. commit file ke repository

$ git commit -m “message”

  1. Push file online

$ git push origin master

 

Daftar GitHub

  1. Daftar GitHub di github.com
  2. Buat repository di GitHub di pojok kanan atas
  3. Bisa buat file dari account gitHub

 

Setelah command directory repository local menunjuk ke repository online tidak ada error, saya pikir memang tidak ada masalah ternyata masih ada beberapa error yang harus diperbaiki. Masalah terjadi ketika proses push file dari git ke repository gitHub.

  1. Masalah pertama adalah Failed connect to gitHub connection time out 443.

Jika dicek dengan command ls –> hasilnya folder masih kosong. Padahal di repository online sudah tercreate file readme.md

Ternyata harus setting koneksi internet sesuai setting kantor dengan user dan passwordnya, walaupun sudah pakai wireless, tapi kabel LAN masih terhubung network kantor tetap harus disetting juga.

$ git config –global http.proxy http://username:password@proxy:port

sumber acuan : setting proxy

 

  1. Masalah kedua adalah perlu melakukan setting upstream

$ git config –global push.default simple

$ git push –set-upstream origin master –> error

Setelah disetting proxy server, command git push ini meminta feedback user dan password gitHub (artinya masalah proxy sudah beres) tetapi akan tertotal karena belum sync folder local dan onlinenya

  1. Masalah ketiga adalah

    “failed to push some refs to http://github.com/username/repository”. “Update were rejected because the remote contains work that you do not have locally”.

Ini adalah permasalahan ketika folder lokal dan online belum sync tetapi kita ingin push file. Solusinya adalah mensinkronkan terlebih dahulu dengan commit file dan command pull.

$ git pull –rebase origin master –> cek ls, jika folder sudah sinkron maka file readme.md akan muncul

Jika folder sudah sinkron, maka bisa menjalankan command

$ git push origin master –> untuk push file ke online repository

sumber acuan : push dan pull directory

Sebenarnya ketika error, akan diberitahu oleh git saran command apa yang seharusnya dijalankan. Berhubung benar-benar newbie jadi bingung sendiri, padahal solusinya sudah diberi tahu dari git sendiri (kecuali yang setting proxy).


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s