Git quản lý các file như thế nào?

Trong git, có 3 nơi ta cần nhớ

Working directory là gì?

Working directory hay còn gọi là working tree chính là project bạn đang code, hay đây là folder ở trên máy tính của bạn, có thể là sau khi bạn clone một repository nào đó trên github (hoặc cái khác cũng được) về, hoặc đơn giản hơn là tạo thư mục rồi gõ git init ở trong đó. Nói chung là sẽ có folder .git bên trong.

Mọi thao tác thêm, sửa, xóa file bạn làm trên folder đó là bạn đang thực hiện trên working directory

Staging area là gì?

Staging area hay còn gọi là index, sau khi bạn hoàn tất các thao tác trên file của mình ở working directory, bạn sẽ mong muốn là commitpush lên git repository ở remote. Nhưng để đi đến commit thì bạn cần phải thêm các file đã chỉnh sửa vào trong staging area bằng command git add trước, hay người ta thường gọi là stage các file đó và các file được stage sẽ có trạng thái là staged và ngược lại sẽ là unstaged.

Tóm lại, Staging area chính là nơi lưu trữ các thay đổi trước khi commit. Khi bạn gõ git add thì các thay đổi sẽ được lưu tại đây. Những file nằm trong staging area là những file sẽ được commit tới repository nhưng nằm trong working directory thì không

Repository là gì?

  • Khi bạn gõ git commit thì các thay đổi sẽ được lưu tại đây.
  • Repository được hiểu đơn giản là nơi chứa tất cả những thông tin cần thiết để duy trì và quản lý các sửa đổi và lịch sử của toàn bộ project.
  • Tất cả dữ liệu của Repository đều được chứa trong working directory dưới dạng folder ẩn có tên là .git
  • Repository của Git được phân thành 2 loại là remote repository và local repository.

Remote repository

Remote repository là repository để chia sẻ giữa nhiều người và bố trí trên server chuyên dụng.

Local repository

Local repository là repository bố trí trên máy dev của bạn, dành cho một người dùng sử dụng.

Branch là gì?

  • Branch là nhánh của repository.
  • Một nhánh tương tự như một không gian làm việc (workspace), dùng để ghi lại lịch sử sửa đổi.
  • Các nhánh độc lập với nhau, phát triển tính năng của 1 nhánh sẽ không làm ảnh hưởng đến các nhánh khác.
  • Các nhánh có thể hợp nhất lại với nhau. Thao tác này được gọi là merge.
  • Nhánh mặc định là master.

Các loại branch

Có 2 loại branch là branch local và branch remote.

Branch local

  • Branch local là branch lưu ở local, nó có thể được liên kết với 1 branch ở remote hoặc không
  • Hiển thị branch có trên local ta dùng lệnh git branch

Branch remote

  • Branch remote là branch lưu ở remote, Branch này có thể fetch về local nhưng không tạo thêm branch ở local.
  • Để hiển thị branch remote có trên local dùng lệnh git branch -r

Để biết thêm về các lệnh dùng cho branch, mời xem tiếp bài viết Git branch “không gian làm việc”.

HEAD là gì?

Để biết về HEAD, mời xem tiếp bài viết HEAD “vị trí commit”.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *