TỔNG QUAN
LÀM VIỆC BRANCH
TÌM HIỂU COMMIT
LÀM VIỆC VỚI REMOTE
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Git - Ba trạng thái Committed Staged Modified

Bài này là trích một phần nhỏ trên trang git-scm.com.

Trong bài này chúng ta cùng thảo luận đến ba trạng thái của Git, đây là phần rất quan trọng mà bạn cần phải hiểu trước khi tìm hiểu sâu hơn về commit.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Mỗi tập tin trong Git được quản lý dựa trên ba trạng thái đó là committed, modified, và staged. Trong đó:

  • Committed có nghĩa là dữ liệu đã được lưu trữ một cách an toàn trong cơ sở dữ liệu, tức là những gì bạn đã commit thành công.
  • Staged là bạn đã đánh dấu sẽ commit phiên bản hiện tại của một tập tin đã chỉnh sửa trong lần commit sắp tới. Trạng thái này xảy ra khi bạn sử dụng lệnh git add <file_name> nhưng chưa commit.
  • Modified có nghĩa là bạn đã thay đổi tập tin nhưng chưa commit vào cơ sở dữ liệu, tức là bạn chưa sử dụng lênh git addgit commit.

Như vậy với 3 trạng thái này đã tạo ra ba phần riêng biệt của một dự án có sử dụng Git:

  • Khu vực Git (Git directory): Là thư mục lưu trữ siêu dữ liệu (metadata) và cơ sở dữ liệu của dự án, thư mục này sẽ bị ẩn bởi hệ điều hành Windows nên bạn phải bật chức năng hiển thị file ẩn thì mới thấy được.  Khu vực này sẽ tiếp nhận và lưu trữ các commit từ stage area.
  • Khu vực làm việc (Working directory):  Nếu bạn không sử dụng Remote repository thì đây là bản sao của dự án, còn không thì đây là thư muc chính của dự án và branch master chính là bản chính, còn các branch mới tạo là branch bản sao.
  • Khu vực tổ chức (staging area): đây là một tập tin đơn giản nằm trong thư mục git, nó sẽ chứa thông tin về trạng thái của một file trong dự án.

ba trang thai cua git png
Ảnh: git-scm.com

Như vậy nếu bạn thay đổi một file nhưng chưa sử dụng lệnh git add và git commit thì file đó ở trạng thái Modified, còn nếu bạn đã sử dụng lệnh git add thì sẽ ở trạng thái staged, còn đã commit thì sẽ ở trạng thái Committed.

Commited - sửa + add + commit
$ git checkout task1
$ git add demo.txt
$ git commit -m "Sua file demo.txt"

Staged - Sửa + add
$ git checkout task1
$ git add demo.txt

Modified - Sửa + ko làm gì
$ git checkout task1

Cùng chuyên mục:

Push data lên Github

Push data lên Github

Mình sẽ không viết cách clone source từ github về mà sẽ trình bày cách…

Git - Lưu thông tin đăng nhập với credential store

Git - Lưu thông tin đăng nhập với credential store

Khi bạn thực hiện bất kì thao tác nào liên quan đến remote thì bắt…

Tạo remote repository trên Github

Tạo remote repository trên Github

Như trong bài giới thiệu series thì trong bài này chúng ta sẽ bắt đầu…

Git - Push data lên remote Repository

Git - Push data lên remote Repository

Nếu bạn là leader và bạn khởi động cho dự án thì công việc đầu…

Git - Đổi tên remote repository

Git - Đổi tên remote repository

Nếu bạn đã lỡ đặt tên cho remote không đúng thì có thể sử dụng…

Git - Xóa remote repository

Git - Xóa remote repository

Trường hợp bạn đã thêm một remote repo nhưng sau đó bạn nhận thấy đã…

Git - Thêm remote Repository

Git - Thêm remote Repository

Để làm việc với remote thì ban phải có server và cài đặt git remote…

Git - Xóa local branch

Git - Xóa local branch

Thông thường mỗi một nhiệm vụ chúng ta sẽ làm việc trên một branch khác…

Git - Phân nhánh với Rebase

Git - Phân nhánh với Rebase

Trong Git, có hai cách để trộn hai nhánh với nhau đó là sử dụng…

Git - Stash trở về trạng thái ban đầu

Git - Stash trở về trạng thái ban đầu

Trong bài này mình sẽ nói về lệnh $ git stash, đây là lệnh dùng…

Git - Amend, thay đổi commit cuối cùng

Git - Amend, thay đổi commit cuối cùng

Trong một số trường hợp bạn commit nhưng bị quên add một số file nào…

Git - Mô hình dữ liệu kho chứa

Git - Mô hình dữ liệu kho chứa

Ở các chương trước mình đã giới thiệu một số lệnh làm việc với branch…

Git - Lệnh merge branch - Xử lý conflict

Git - Lệnh merge branch - Xử lý conflict

Merge branch tức là bạn gộp hai branch lại với nhau, thao tác này thường…

Git - Commit căn bản

Git - Commit căn bản

Trước khi chuyển đổi sang branch khác thì bạn nên lưu lại tất cả những…

Git - Lệnh checkout branch

Git - Lệnh checkout branch

Nếu chúng ta làm việc trên nhiều branch thì phải thực hiện thao tác chuyển…

Git - Lệnh tạo Branch

Git - Lệnh tạo Branch

Như mình đã trình bày ở bài trước khi làm việc nhóm thì leader sẽ…

Git - Branch là gì? Branch master

Git - Branch là gì? Branch master

Khi làm việc với Git bắt buộc chúng ta phải thông qua branch, nhưng chúng…

Git - Tạo Repository

Git - Tạo Repository

Trong bài này mình sẽ hướng dẫn các bạn khái niệm Repository là gì và…

Git - thao tác thư mục

Git - thao tác thư mục

Để sử dụng Git nhuần nhuyễn thì đòi hỏi bạn phải có kỹ năng thao…

Git - Cấu hình username và email

Git - Cấu hình username và email

Trước khi sử dụng Git thì bạn cần phải cấu hình hai thông số đó…

Top