Skip to main content

Command Palette

Search for a command to run...

Git 02. Vòng đời của files

Published
4 min read

Hello! I'm Zu.Doan

Ở bài trước chúng ta đã đi tìm hiểu Version control system (VCS)Git là gì. Trong bài này chúng ta sẽ đi vào thực tế làm việc với Git như thế nào.

Yêu cầu: Máy tính đã cài đặt git (refer: https://git-scm.com/downloads )

Tiếp theo để có 1 project để làm việc với git thì chúng ta cần khởi tạo git cho project bằng cách:

  • Truy cập vào root của project folder
  • Sử dụng lệnh git init để khởi tạo git cho project

Hoặc đơn giản hơn thì chúng ta có thể clone project từ các git repository (github, gitlab, bitbucket,...) về là có thể bắt đầu làm việc với git được rồi.

Đến đây chúng ta sẽ đi vào nội dung chính của bài hôm nay, cùng đi tìm hiểu vòng đời của files khi làm việc với Git sẽ như thế nào nhé!

Git02_01.png

Cùng nhau làm rõ một số nội dung trong hình trên nhé.

Trước tiên cần làm rõ 4 trạng thái của files:

  • Untracked: là files chưa được git theo dõi <=> là files chưa được add vào staging area bất cứ 1 lần nào <=> là files mới được tạo lần đầu tiên trong project source.
  • Unmodified: là files đã được git theo dõi nhưng chưa có bất cứ 1 thay đổi gì so với phiên bản cũ của files đó.
  • Modified: là những files đã được git theo dõi và vừa mới có sự thay đổi nội dung files và những nội dung đó chưa được add vào staging area.
  • Staged: là những files đã được tạo mới hoặc mới sửa đổi và đã được đưa vào staging area

Hoa mắt quá, đi ngay vào thực hành để hiểu rõ hơn nào. Chúng ta sẽ đi lần lượt qua từng công đoạn đã được đánh số 1.1 => 5.2

1. Mô tả thao tác add một (hoặc nhiều) file vào khu vực Staging (1.1) & undo về Untracked (1.2)

Git02_03.png

  • Để tạo 1 file ở trạng thái Untracked, đơn giản là việc bạn tạo ra một file mới trong source code của bạn, vậy thôi :)) easy quá!!
  • Để add file đó vào Staging area chúng ta sử dụng lệnh git add

    *Cú pháp add một (or một vài) file: git add {file name 1} {(op)file name 2} {(op)pattern file name} (op: option - tùy chọn)

    *Cú pháp add all files: git add -A or git add --all or git add . (hay dùng)

  • Sau khi đã add files vào Staging area, chúng ta hoàn toàn có thể đưa những file đó về lại trạng thái Untracked bằng lệnh git restore

    *Cú pháp restore một (or một vài) file: git restore --staged {file name 1} {(op)file name 2} {(op)pattern file name} (op: option - tùy chọn)

    *Cú pháp restore all files: git restore --staged .

2. Mô tả thao tác Modified (2.1) và Unmodified (2.2) của một (hoặc nhiều) file

  • Nói về Unmodified thì đây là những file đã được git tracking (là những file đã được đưa vào Staging area hoặc .git repository local trước đó)
  • Để Modified files, đơn giản là việc chúng ta sửa nội dung file.
  • Để Unmodified fies ta sử dụng lệnh git restore

    *Cú pháp restore một (or một vài) file: git restore {file name 1} {(op)file name 2} {(op)pattern file name} (op: option - tùy chọn)

    *Cú pháp restore all files: git restore .

3. Mô tả thao tác add modified files (những files đã được git tracking từ trước) vào Staging area (3.1) và undo (3.2)

  • Để add file đó vào Staging area chúng ta sử dụng lệnh git add

    *Cú pháp add một (or một vài) file: git add {file name 1} {(op)file name 2} {(op)pattern file name} (op: option - tùy chọn)

    *Cú pháp add all files: git add -A or git add --all or git add . (hay dùng)

  • Để undo các file ở Staging area, chúng ta hoàn toàn có thể đưa những file đó về lại trạng thái Modified bằng lệnh git restore

    *Cú pháp restore một (or một vài) file: git restore --staged {file name 1} {(op)file name 2} {(op)pattern file name} (op: option - tùy chọn)

    *Cú pháp restore all files: git restore --staged .

4. Mô tả thao tác tạo một commit cho những file đang nằm trong Staging area (4.1) và undo (4.2)

Git02_04.png

Git02_05.png

  • Để add file từ Staging area vào git repository local để chuẩn bị cho thao tác push code mới thay đổi lên remote repository chúng ta sử dụng lệnh git commit

    *Cú pháp: git commit -m'{message}'

  • Để undo git commit vừa xong (đưa các files đã commit về trạng thái (untracked/modified) trước khi add vào Staging area == Unstaged), chúng ta sử dụng lệnh git reset

    *Cú pháp: git reset HEAD~{commit volume} (commit volume: là số lượng commit mà ta muốn undo - eg: commit volume = 1 or 2 or 3)

    *Note: Để đưa commit vừa undo đó trở lại trạng thái committed thì ta sử dụng cú pháp sau: git reset HEAD@{{commit volume}} ví dụ: git reset HEAD@{1}

Hi vọng bài viết này sẽ hữu ích đối với các bạn.

Thank everyone! Bye2 :D

172 views

More from this blog

zujs

35 posts