Git untuk Pemula Mutlak

Jika Anda baru mengenal dunia pemrograman, maka mempelajari Git harus menjadi sesuatu di atas daftar prioritas Anda.

Git adalah salah satu alat yang akan Anda temui sehari-hari sebagai bagian dari pekerjaan Anda.

Apa yang dapat Anda harapkan di posting ini

Dalam posting ini, saya akan memberikan gambaran umum tentang Git dan bagaimana memulainya.

  • Apa itu Git?
  • Istilah yang terkait dengan Git
  • Berinteraksi dengan Git menggunakan baris perintah

Saya berjanji untuk menjelaskan topik dengan cara yang paling sederhana yang saya bisa.

Jadi mari kita mulai dengan memahami, apa itu Git?

Git adalah Sistem Kontrol Versi.

Nah, apa sih yang dimaksud dengan Version Control System (VCS)?

VCS memantau dan melacak semua perubahan yang dilakukan pada file yang sedang dipantau.

Ini juga memungkinkan beberapa pengembang untuk berbagi dan bekerja secara kolaboratif pada kumpulan file yang sama, tanpa bentrok dengan pekerjaan satu sama lain.

Itu tidak hanya melacak file apa yang diubah, tetapi juga melacak

  • Perubahan apa yang telah dilakukan?
  • Siapa yang melakukan perubahan ini?
  • Kapan perubahan ini dilakukan.

Agar Anda dapat berbagi dan bekerja secara kolaboratif dengan pengembang lain, Anda memerlukan akses ke layanan yang dihosting berbasis Git.

Beberapa penyedia layanan yang dihosting Git yang populer adalah:

  • GitHub
  • Bitbucket
  • Layanan tim Microsoft Visual Studio

Semuanya menawarkan fungsi serupa.

Apa itu Repositori di Git?

Sebuah repositori adalah folder yang isinya dilacak oleh Git. Ini juga dikenal sebagai repo , dalam istilah sederhana.

Repo mungkin memiliki banyak file dan sub folder yang ada di dalamnya. Biasanya, file yang ada di dalam repositori berisi kode sumber.

Di dalam setiap repo, ada folder .git . Folder ini berisi semua file dan folder yang dibutuhkan oleh Git untuk melacak semua perubahan yang dilakukan pada file di dalam repo ini.

Jika kita menghapus folder .git ini, Git tidak akan mengidentifikasi folder ini sebagai repo atau melacak isinya.

Repo yang ada di komputer lokal disebut sebagai repositori lokal , dan repositori yang terletak di platform Git yang dihosting disebut sebagai repositori jarak jauh .

Unduh dan Instal Git

Mengunduh dan Menginstal Git adalah proses yang cukup mudah.

Anda dapat mengunduh Git dari sini.

Setelah Git diunduh, Anda dapat merujuk ke panduan ini tentang cara menginstalnya.

Memulai Repositori Git

Sebelum kita melanjutkan dan mulai melacak file kita menggunakan Git, kita perlu menginisialisasi Git untuk folder yang kita ingin pantau oleh Git.

Sederhananya, Git mengubah folder menjadi repositori sehingga isinya dapat dilacak olehnya.

Untuk menginisialisasi folder ke dalam repositori Git:

Pada sistem berbasis Windows, kita perlu mengklik kanan pada folder (kita ingin dilacak oleh Git), lalu klik "Git Bash Here". Ini akan membuka prompt perintah seperti jendela, yang memungkinkan kita berinteraksi dengan Git menggunakan perintah Git.

Catatan: Setiap kali kami ingin berinteraksi dengan Git, kami akan berinteraksi menggunakan perintah Git melalui jendela Git Bash ini. Perhatikan juga, perintah Git tidak berbeda untuk sistem berbasis Windows dan Unix.

Di dalam jendela Git Bash, kita perlu mengetikkan perintah:

git init

Perintah ini menginisialisasi folder. Pada dasarnya, ini mengubah folder ini menjadi repositori Git.

Sebagai bagian dari proses inisialisasi, ini juga membuat folder .git (yang merupakan folder tersembunyi) di dalam repositori ini. Ini berisi semua file yang dibutuhkan oleh Git untuk melacak semua perubahan yang dilakukan pada repositori ini.

Tapi ini hanya folder biasa seperti folder lain yang kita miliki di sistem. Dalam terminologi Git, kami masih merujuk ini sebagai repositori atau repositori lokal, lebih tepatnya.

Pada sistem berbasis Unix, kami hanya menavigasi ke direktori (yang ingin Anda lacak oleh Git), dan menjalankan perintah git init , itu saja. Ini mengubah direktori ini menjadi repositori Git.

Status Repositori

Kapan saja jika kita ingin melihat apa yang dilacak oleh Git di dalam repositori, kita bisa melakukannya dengan mengetik perintah di bawah ini:

git status

Kami akan melihat perintah ini lebih detail di beberapa titik nanti di pos.

Untuk saat ini ingatlah, jika kita ingin melihat apa yang dilacak di dalam repositori oleh Git, kita bisa melakukannya dengan menggunakan perintah itu.

Melacak Repositori

Meskipun kami telah menginisialisasi folder tersebut sebagai repositori Git, isinya tidak akan terlacak secara otomatis. Kita perlu menginstruksikan Git untuk memantau isinya.

Untuk melakukan itu, kami menggunakan perintah git add . Sintaks untuk perintah ini seperti yang ditunjukkan di bawah ini:

git add file [file] [file..]
Catatan: Apa pun yang diapit oleh tanda kurung siku [] adalah opsional. Ini berlaku untuk semua perintah Git yang terdaftar dalam posting ini.

Kami dapat menentukan satu file atau beberapa file untuk dilacak oleh Git.

Jika kita ingin Git memantau file tertentu yang ada dengan repositori, kita dapat melakukannya dengan menentukan nama file individu dari setiap file yang ingin kita lacak.

Jika kami ingin melacak file milik jenis file tertentu, kami dapat melakukannya dengan menentukan ekstensi file, seperti yang ditunjukkan di bawah ini. Ini melacak semua file yang diakhiri dengan ekstensi .txt.

$ git add *.txt

Jika kita ingin Git melacak semua file yang ada dengan respositori, sintaksnya seperti yang ditunjukkan di bawah ini.

$ git add .

Let’s say we have the following files present within our repository:

As you can see even the .git folder has been created as part of the initialization process. Originally this folder was hidden — I had to change the folder properties to make it visible (just to show it to you all).

This is how a .git folder looks, immediately after the git init command is executed.

This is how the contents of the .git folder look after a few transactions have been done to the repository.

To check what all files are currently being tracked by Git, we can make use of the git status command:

$ git status On branch master No commits yet Untracked files: (use “git add …” to include in what will be committed) HelloWorld.html Notes.txt README.md nothing added to commit but untracked files present (use “git add” to track)

Looking at the output of the git status command, it indicates that none of the files are currently being tracked by Git.

Let’s go ahead and add these files so that they get tracked by Git.

The command for adding these files is as shown below:

$ git add HelloWorld.html Notes.txt

Now, let’s execute the git status command and check its output.

$ git status On branch master No commits yet Changes to be committed: (use “git rm — cached …” to unstage) new file: HelloWorld.html new file: Notes.txt Untracked files: (use “git add …” to include in what will be committed) README.md

As we can see, we have the HelloWorld.txt and the Notes.txt files present within the staging area that are waiting to be committed.

The README.md file isn’t being tracked at all, as we didn’t include this file within the git add command which we executed earlier.

When we executed the git add command, Git staged all the files which were specified as part of the input to this command.

Until we commit these files, Git won’t start tracking these files.

Committing Staged Files

Let’s commit these staged files by typing the command shown below.

$ git commit -m ‘Initial Commit’

git commit is the command which is used to commit any staged files, -m is used to specify the comments for this commit operation.

If we would like to view all the commit operations that have been performed, we can do it by typing the git log command, as shown below.

$ git log commit 8525b32ffcb92c731f5d04de7fe285a2d0ebe901 (HEAD -> master) Author: shahzan  Date: Sun Apr 28 01:12:20 2019 +0100 Initial Commit

Whenever any change is done to a file which is being tracked by Git, we need to re-stage those files and re-commit them again. Until those files are not re-staged and re-committed, they will be tracked by Git.

I have done some minor changes to the Notes.txt file, let’s see what Git has got to say about these changes by executing the git status command.

$ git status On branch master Changes not staged for commit: (use “git add …” to update what will be committed) (use “git checkout — …” to discard changes in working directory) modified: Notes.txt Untracked files: (use “git add …” to include in what will be committed) README.md no changes added to commit (use “git add” and/or “git commit -a”)

Looking at the above output block, it is clear that the file Notes.txt has been modified and the changes are not staged for commit.

We make use of the same git add command to re-stage the file.

$ git add Notes.txt [email protected] MINGW64 /d/Medium Post Pics/Git/Source Code (master) $ git status On branch master Changes to be committed: (use “git reset HEAD …” to unstage) modified: Notes.txt Untracked files: (use “git add …” to include in what will be committed) README.md

As you can notice from the above output block, the file has been staged and is waiting to be committed.

Again, we make use of the same git commit command to re-commit the staged file.

$ git commit -m ‘Notes.txt file updated’ [master 184fcad] Notes.txt file updated 1 file changed, 3 insertions(+), 1 deletion(-)

Let’s execute the git log command and see if the commit has been successful.

$ git log commit 184fcad4185296103cd9dba0da83520399a11383 (HEAD -> master) Author: shahzans  Date: Sun Apr 28 01:15:38 2019 +0100 Notes.txt file updated commit 8525b32ffcb92c731f5d04de7fe285a2d0ebe901 Author: shahzans  Date: Sun Apr 28 01:12:20 2019 +0100 Initial Commit

As you may notice in the above output block, both the commit operations are being displayed.

Ignoring Files

Within the repository, there may be files that hold sensitive data or log data, which we don’t want to be tracked by Git under any circumstances.

.gitignore is the file within which we can specify all the files we don’t want Git to keep track of.

$ touch .gitignore

The syntax to create this file is as shown above.

Let’s say that I do not want Git to track any file ending with the .md extension.

Before adding *.md to the .gitignore file, have a look at the output of the git status command as shown in the output block below.

$ git status On branch master Untracked files: (use “git add …” to include in what will be committed) .gitignore README.md nothing added to commit but untracked files present (use “git add” to track)

As you may notice, we have .gitignore and README.md being shown as untracked files.

After adding *.md to the .gitignore file, the git status is as shown in the output block below.

As you may notice, we now just have .gitignore being shown as an untracked file.

$ git status On branch master Untracked files: (use “git add …” to include in what will be committed) .gitignore nothing added to commit but untracked files present (use “git add” to track)

You can either specify an individual filename or a wildcard entry within the .gitignore file.

The Wrap-Up

Git is a very powerful tool and there is a lot more you could do with it, such as branching, merging, pull and push request and much more.

Just in case you’re interested in learning more about Git, here is a course that I would recommend you to enroll (affiliate link).

Before you say goodbye…

Let’s keep in touch, click here to enter your email address (Use this link if the above widget doesn’t show up on your screen).

Thank you so much for taking your precious time to read this post.