Selamat Datang Peserta Workshop
Git-Source Code Management Oleh : M. Saiful Mukharom – email : ritnesaif@gmail.com website.cah.unpkediri.ac.id - email.cah@unpkediri.ac.id
melakukan hal besar
team work
Version Control merekam setiap perubahan berkas mengembalikan perubahan berkas sebelumnya membandingkan perubahan setiap saat
Mengapa Version Control ?
Bring Order to chaos tidak untuk Version Control
Kolaborasi
Tipe Version Control System Local Version Control System Centralized Version Control System Distributed Version Control System
Local Version Control System
Centralized Version Control System
Distributed Version Control System
Software Version Control Subversion Bazar CVS Mercurial Git
Mengapa menggunakan Git ?
Source ohloh.net
Proyek yang menggunkan Git Jquery Linux Kernel Ruby on rails Android PostgreSQL OpenStack Source : https://github.com/blog/1359-the-octoverse-in-2012
Git Workflow
Tiga point penting workshop Setup dan konfigurasi dasar Git Perintah Dasar Kolaborasi dan Proyek
Download Git for Windows Download Git for Linux Git Setup Download Git for Windows Download Git for Linux http://git.gitserver/download/
Setup Git for Windows Setup Git For Linux Modul Setup Git Setup Git for Windows Setup Git For Linux http://git.gitserver/download/
Konfigurasi Git Global Membuat file .gitconfig $ touch .gitconfig Mengkonfigurasi git Global dengan perintah : $ git config --global user.name “Nama Lengkap” $ git config --global user.email “user@email.com”
Konfigurasi Git Global Memeriksa hasil Konfigurasi : $ vi .gitconfig Atau $ cat ~/.gitconfig Hasil perintah :
Konfigurasi Git Local Membuat direktori baru dengan perintah : $ mkdir public_repo $ cd public_repo/ Membuat working direktori $ mkdir my_project $ cd my_project $ git init
Konfigurasi Git Local Mengkonfigurasi Git local : $ git config user.name “Nama Lengkap” $ git config user.email “user@email.com” Memeriksa hasil konfigurasi : $ cat .git/config
~/public_repo/my_project/.git/config Perbedaan Global : ~/.gitconfig Local ~/public_repo/my_project/.git/config
Perintah Mendasar mkdir cd touch cat cp mv rm vi config init add commit clone remote pull push
Perintah Dasar Git Membuat Working Directory : $ git init
Menampilkan subdirektori .git/ dengan perintah find .
Menampilkan Informasi Repository : $ git status
add dan commit
Menambahkan ke staging index : Buat File Baru : $ touch fileA.txt Menambahkan ke staging index : $ git add fileA.txt Menampilkan informasi fileA.txt $ git status
Untuk commit perubahan : $ git commit –m “initial commit” Sekarang File di commit ke HEAD (database repositori)
Menambahkan file ke staging index : $ git add. Atau $ git add Menambahkan file ke staging index : $ git add . Atau $ git add *.txt $ git add <files> Tambahkan file ke database repositori : $ git commit –m “initial commit”
Tambahkan fileA.txt ke repositori : Edit fileA.txt : $ echo “hello file A” > fileA.txt Tambahkan fileA.txt ke repositori : $ git commit –m “update file A” Tambahkan ke staging index dahulu : $ git add fileA.txt
Log Menampilkan log yang sudah di commit : $ git log --oneline Menampilkan log dengan format ringkas : $ git log --oneline Untuk melihat commit log secara GUI: $ gitk
Kolaborasi
SSH-Keygen Buat ssh-keygen baru : Tempat Genereting ssh-keygen $ ssh-keygen -t rsa –C “alamat_email/nama_host” Tempat Genereting ssh-keygen /user/<username>/.ssh/ $ ls ~/.ssh
Duplikasi file id_rsa.pub $ cp ~/.ssh/id_rsa.pub nama_kalian.pub Salin file nama_kalian.pub ke Flashdisk yang telah disediakan :
Cloning Cloning repository dari server : Konfigurasi Lokal : $ git clone git@git.gitserver:trafficLight.git Konfigurasi Lokal : $ cd trafficLight/ $ git config user.name “nama_kalian” $ git config user.email “user@email.com”
Remote Cloning repository dari server : Menambahkan remote repository: $ git clone git@git.gitserver:trafficLight.git $ git remote -v Menambahkan remote repository: $ git remote add github git@github.com:komunitas-cahunp/trafficLight.git
Push and Pull Periksa Config lokal : $ cat .git/config Edit File README.md $ notepad README.md $ git add README.md $ git commit –m “Update README oleh nama kalian ”
Sinkronisasi dengan server $ git pull origin master Update Lokal ke Server $ git push origin master Perubahan di gitweb http://www.gitserver/
Proyek Membuat Pemrograman dengan bahasa C++ : persegiPanjang segiTiga lingkaran kubus
Proyek Bersama Membuat Kalkulator dengan bahasa Pemrograman C++ : Penjumlahan Pengurangan Perkalian Pembagian .....
Branching dan Marging
Registrasi Akun Pribadi di https://github.com Kolaborasi GitHub Registrasi Akun Pribadi di https://github.com
Membuat Organisasi di GitHub
Membuat Team
Invite Membering
Account Setting
Generating SSH-Key
Pull dan Push $ git remote –v $ git pull github master atau $ git pull origin master