Git – Bí kíp quản lý mã nguồn tối thượng trong giới Lập trình

22:55 17/09/2024

Trong thế giới phát triển phần mềm hiện đại, Git đã trở thành một công cụ không thể thiếu đối với các lập trình viên và nhóm phát triển. Không chỉ là một hệ thống quản lý phiên bản, Git còn cung cấp những tính năng mạnh mẽ giúp tối ưu hóa quy trình làm việc nhóm, theo dõi lịch sử thay đổi, và quản lý mã nguồn một cách hiệu quả. Hãy cùng khám phá cách Git hoạt động và vì sao nó lại quan trọng đến vậy trong quy trình phát triển phần mềm nhé.

Git là gì?

Git là hệ thống quản lý phiên bản phân tán do Linus Torvalds phát triển năm 2005, giúp theo dõi và quản lý thay đổi mã nguồn trong các dự án phần mềm. Git cho phép nhiều nhà phát triển làm việc song song, quản lý lịch sử thay đổi, hợp nhất mã và giải quyết xung đột hiệu quả. Với khả năng làm việc ngoại tuyến và tích hợp với quy trình CI/CD, Git trở thành công cụ quan trọng trong phát triển phần mềm, tối ưu hóa làm việc nhóm và đảm bảo chất lượng sản phẩm.

Các vị trí lưu trữ mã nguồn chính trong Git

Đầu tiên, chúng ta cần hiểu cách mà Git lưu trữ mã nguồn của chúng ta. Git sẽ lưu trữ mã nguồn của chúng ta trong bốn vị trí chính, mỗi vị trí đóng một vai trò cụ thể trong quy trình phát triển phần mềm: 

  • Thư mục làm việc (Working directory) là nơi bạn trực tiếp chỉnh sửa, thêm, hoặc xóa các tệp tin của dự án. Đây là không gian cá nhân để bạn tương tác với mã nguồn, nhưng các thay đổi ở đây chưa được Git theo dõi cho đến khi bạn thực hiện các bước tiếp theo.
  • Khu vực tạm thời (Staging area) là điểm trung gian để thu gom các thay đổi sau khi chỉnh sửa tệp tin trong thư mục làm việc. Khi dùng lệnh git add, bạn đưa các thay đổi vào đây để kiểm tra và xác nhận trước khi lưu vào lịch sử dự án mà không cần cam kết toàn bộ cùng lúc.
  • Kho lưu trữ cục bộ (Local repository) là nơi Git lưu trữ vĩnh viễn các thay đổi đã cam kết. Khi bạn thực hiện lệnh git commit, các thay đổi từ khu vực tạm thời được lưu lại như một “bức ảnh” của dự án tại thời điểm đó, cho phép quay lại nếu cần. Các thay đổi đã commit chỉ tồn tại trên máy cục bộ cho đến khi bạn đẩy lên kho lưu trữ từ xa.
  • Kho lưu trữ từ xa (Remote repository) là phiên bản của kho lưu trữ cục bộ trên máy chủ như GitHub hoặc Bitbucket, nơi nhóm của bạn có thể chia sẻ mã nguồn và hợp tác. Khi dùng lệnh git push, các thay đổi đã commit sẽ được đẩy lên kho từ xa để các thành viên khác truy cập và tích hợp.
Các vị trí lưu trữ mã nguồn trong Git

Quy trình làm việc cơ bản với Git

Git có một quy trình làm việc rõ ràng để quản lý và đồng bộ mã hóa mã nguồn giữa các vị trí ta đã nói ở trên:

  • Clone: Khi bắt đầu làm việc với một dự án đã có sẵn, bạn sử dụng lệnh git clone để tạo một bản sao của kho lưu trữ từ xa về máy cục bộ của mình. Bản sao này bao gồm toàn bộ lịch sử dự án và là điểm khởi đầu để bạn làm việc.

 

Code được clone từ internet về máy bằng cầu lệnh git clone
  • Edit and Stage: Sau khi chỉnh sửa các tệp tin trong thư mục làm việc, bạn dùng lệnh git add để chuyển những thay đổi mà bạn muốn commit vào khu vực tạm thời. Bạn có thể lựa chọn chỉ một số tệp tin cụ thể hoặc tất cả các tệp tin đã thay đổi để đưa vào khu vực tạm thời.
  • Commit: Sau khi tất cả các thay đổi cần thiết đã được staged, bạn sử dụng lệnh git commit để lưu trữ chúng vào kho lưu trữ cục bộ. Đây là bước tạo ra một bản ghi vĩnh viễn của những thay đổi, cho phép bạn quay lại trạng thái này bất kỳ lúc nào trong tương lai.
Đưa các thay đổi lên local repo thông qua git commit
  • Push: Khi bạn muốn chia sẻ các thay đổi với nhóm, bạn dùng lệnh git push để đẩy các commit từ kho lưu trữ cục bộ lên kho lưu trữ từ xa. Điều này đảm bảo rằng các thành viên khác trong nhóm có thể truy cập và tích hợp những thay đổi của bạn.
Đẩy các commit lên remote repo bằng lệnh git push
  • Pull: Để đảm bảo rằng bạn luôn làm việc với phiên bản mới nhất của dự án, bạn có thể dùng lệnh git pull để kéo code từ kho lưu trữ từ xa về với không gian làm việc của bạn. 
Kéo code về không gian làm việc thông qua câu lệnh git pull

Kết hợp git fetch (lấy các thay đổi mới từ kho lưu trữ từ xa) và git merge (kết hợp các thay đổi này vào dự án cục bộ). Điều này giúp bạn đồng bộ mã nguồn với những thay đổi mà các thành viên khác trong nhóm đã thực hiện.

Cách các câu lệnh pull, fetch, merge chạy

Quản lý nhánh (Branching)

Một trong những tính năng mạnh mẽ nhất của Git là khả năng tạo và quản lý các nhánh (branches). Nhánh cho phép bạn tách ra từ mã nguồn chính để phát triển tính năng mới hoặc sửa lỗi mà không ảnh hưởng đến mã nguồn chính:

  • Tạo nhánh (git branch): Bạn có thể tạo một nhánh mới từ nhánh hiện tại để làm việc trên một tính năng hoặc sửa lỗi mà không ảnh hưởng đến nhánh chính. Điều này giúp giữ cho mã nguồn chính luôn ổn định.
Tạo nhánh develop từ nhánh main
  • Chuyển nhánh (git checkout/git switch): Khi bạn cần chuyển đổi giữa các nhiệm vụ khác nhau, bạn có thể dùng lệnh này để di chuyển giữa các nhánh. Điều này cho phép bạn làm việc trên nhiều tính năng hoặc sửa lỗi khác nhau cùng một lúc mà không gây xung đột.
Sử dụng checkout để nhảy từ main branch sang branch 1
  • Gộp nhánh (git merge): Khi hoàn thành công việc trên một nhánh, bạn có thể sử dụng lệnh này để hợp nhất các thay đổi từ nhánh phụ trở lại nhánh chính. Quá trình này có thể gặp xung đột mã nguồn, và Git cung cấp các công cụ để giải quyết những xung đột này.
Cách câu lệnh git merge hoạt động

Ngoài việc sử dụng dòng lệnh, người dùng cũng có thể sử dụng các công cụ đồ họa như GitHub Desktop và SourceTree hỗ trợ quản lý Git dễ dàng hơn. Những công cụ này cung cấp giao diện trực quan, giúp người mới dễ dàng nắm bắt và sử dụng các lệnh Git mà không cần nhớ quá nhiều câu lệnh phức tạp.

Cách câu lệnh git merge hoạt động

Git không chỉ là một công cụ quản lý phiên bản, mà còn là một nền tảng hỗ trợ làm việc nhóm hiệu quả. 

Nó cho phép các nhà phát triển quản lý mã nguồn một cách có hệ thống, đảm bảo sự ổn định và tích hợp mượt mà giữa các thành viên trong nhóm. 

Git giúp đơn giản hóa quy trình phát triển phần mềm, đồng thời đảm bảo rằng tất cả các thay đổi đều được quản lý và theo dõi chặt chẽ.

Giảng viên: Bùi Đức Lân
Bộ môn Công nghệ thông tin
FPT Polytechnic Hà Nội

Cùng chuyên mục

Đăng Kí học Fpoly 2024

  • Max. file size: 50 MB.
  • Max. file size: 50 MB.
  • Max. file size: 50 MB.