8. Working With Git
● Set up Repository
● Make Change and Commit
● Access and diff with past version
● Time Wraps (Branching)
● Collaboration
9.
10. Setting up repository
# Open project folder
cd myproject
# Setting up repository
git init
try.github.io
11. Project Change List
A change List represents change in a project
from state A to state B
Change include:
1. New files
2. Deleted (removed) files
3. Modified files
12. Editing Change List
# Add main.c to the change list
git add main.c
# Add all files in current directory
git add .
# Add all .txt files to change list
git add *.txt
16. Branching
● Context switching is inevitable
● A friend needs your help for a version he's
working on
● Working in a new feature, a new bug was found
in a released version
Seorang pencipta kernel Linux yang menjadi cikal bakal lahirnya sistem operasi free dan open source yang bernama GNU/Linux. Dulu saat kernel Linux dibangun, Linus Torvald mengandalkan layanan version control system (VCS) yang berbayar. Dikarenakan adanya keterbatasan pada VCS yang digunakan, Linus Torvald akhirnya membuat VCS yang diciptakannya dengan nama Git.
Git diawali dengan sedikit permasalahan dan kontroversi. Kernel Linux merupakan sebuah proyek perangkat lunak open source skala besar. Sepanjang perjalanan perawatan Kernel Linux (1991-2002), perubahan disimpan sebagai patch dan arsip-arsip berkas. Pada tahun 2002, proyek ini mulai menggunakan sebuah DVCS proprietary bernama BitKeeper.
git adalah sebuah system versioning control (sistem kontrol versi) terdistribusi, ada istilah lain dari git ini adalah source code management software (aplikasi manajemen kode sumber)
Version control adalah sebuah sistem yang mencatat setiap perubahan terhadap sebuah berkas atau kumpulan berkas sehingga pada suatu saat anda dapat kembali kepada salah satu versi dari berkas tersebut
Kebanyakan orang melakukan pengontrolan versi dengan cara menyalin berkas-berkas pada direktori lain (mungkin dengan memberikan penanggalan pada direktori tersebut, jika mereka rajin). Metode seperti ini sangat umum karena sangat sederhana, namun cenderung rawan terhadap kesalahan.
Permasalahan berikutnya yang dihadapi adalah para pengembang perlu melakukan kolaborasi dengan pengembang pada sistem lainnya. Untuk mengatasi permasalahan ini maka dibangunlah Centralized Version Control Systems (CVCSs). Sistem ini, diantaranya CVS, Subversion, dan Perforce, memiliki sebuah server untuk menyimpan setiap versi berkas, dan beberapa klien yang dapat melakukan checkout berkas dari server pusat. Untuk beberapa tahun, sistem seperti ini menjadi standard untuk version control
Create a new repository
All repository data is stored in .git folder
# Insert a Remove File comment to the change list
git rm mistake.cpp
insert a remove command to the change list
Git mv persons.cpp people.cpp
sebagai jurnal yang mengingat semua perubahan commit yang telah kita lakukan