updated July 05, 20241 views

Cơ bản về Git

Git là một hệ thống quản lý phiên bản phần mềm miễn phí và mã nguồn mở được phát triển bởi Linus Torvalds vào năm 2005. Git cho phép người dùng theo dõi lịch sử các thay đổi trong mã nguồn, quản lý các phiên bản khác nhau của mã nguồn, hợp nhất các phiên bản khác nhau và điều khiển sự phát triển của dự án. Git được sử dụng rộng rãi trong nhiều dự án phát triển phần mềm và là một công cụ quan trọng cho việc quản lý mã nguồn và cộng tác nhóm trong phát triển phần mềm.

Flow cơ bản khi sử dụng Git

Sau đây là flow cơ bản khi bạn sử dụng Git:

  • Clone project từ server về Local Repository
  • Check-out 1 nhánh từ Local Repository về Working Space
  • Bạn sẽ làm việc (thêm, sửa, xoá tại Working Space)
  • Add : xác nhận sự thay đổi của các files (đưa đến vùng Staging Area)
  • Commit: cập nhật sự thay đổi lên Local Repository
  • Về cơ bản đến đây là bạn đã hoàn thành 1 chu trình sử dụng Git. Lúc này, nếu như bạn muốn cập nhật sự thay đổi này lên server thì bạn sẽ dùng lệnh push để đẩy chúng lên server.

Những câu lệnh cơ bản thường sử dụng

Thiết lập chứng thực cá nhân

git config --global user.name "User Name"
git config --global user.email "username@gmail.com"

Lưu ý: --global được sử dụng để áp dụng cho tất cả các projects. Nếu bạn ko sử dụng --global thì settings sẽ chỉ dùng cho riêng project đó.

Tạo một kho chứa Git

git init

Nếu như bạn muốn theo dõi một dự án cũ trong Git, bạn cần ở trong thư mục của dự án đó. Lệnh này sẽ tạo một thư mục mới có tên .git, thư mục này chứa tất cả các tập tin cần thiết cho kho chứa.

Sao chép một kho chứa đã tồn tại

git clone https://github.com/user/repository.git

Câu lệnh trên sẽ tạo một thư mục mới có tên giống trên của repo.

Nhánh trong git

Khi sử dụng Git, bạn có thể tạo ra nhiều nhánh (branch) khác nhau. Câu lệnh Git này dùng để kiểm tra branch hiện tại:

git branch

Để tạo mới một branch:

git branch <name_branch>

Để chuyển và tạo mới:

git branch -b <name_branch>

Chuyển nhánh

Trước khi muốn thay đổi source code, điều đầu tiên mà bạn cần phải làm là checkout một nhánh. Để checkout một nhánh, bạn dùng câu lệnh Git sau:

git checkout <name_branch>

Cập nhật thay đổi

Sau khi bạn thay đổi source code: thêm mới, sửa, xoá files,… Bạn cần phải cập nhật lên Staging Area. Để cập nhật hết các files:

git add .

Sau lệnh add, bạn cần sử dụng câu lệnh Commit để đây thông tin thay đổi lên Local Respository:

git commit -m "Message"

Cập nhật lên server

Sau câu lệnh Commit, thông tin mới chỉ được cập nhật lên Local Repository. Nếu muốn cập nhật lên server thì bạn phải sử dụng câu lệnh push:

git push origin <name_branch>

Ngoài ra, nếu chưa tồn tại remote trên server thì bạn cần phải add mới một remote trước rồi mới push:

git remote add origin <remote_url>
git push origin <name_branch>

Gộp nhánh

Sau một thời gian cập nhật các file và push lên git trên branch mới, bây giờ mình cần ghép (merge) code lại vào nhánh gốc (master). Trước tiên, cần phải checkout ra khỏi branch hiện tại cần gộp để vào branch master, sau đó thì dùng lệnh merge để ghép branch mới vào master:

git checkout master
git merge <new_branch>

Xem lại lịch sử commit

git log

Lệnh git log sẽ cho bạn biết về người commit, ngày giờ, message của những lần commit đó.

Xem thay đổi trước khi push

git diff

Lệnh này giúp bạn biết những gì đã được thay đổi giữa nhánh hiện tại và nhánh trước nó.

Gộp commit

git rebase -i HEAD~

Sau dấu ~ là số commit bạn muốn gộp. Sau khi gõ lệnh này một cửa sổ trình soạn thảo hiện ra. Thay đổi ký tự pick của dòng các dòng sau dòng đầu thành s rồi lưu lại/kết thúc. Khi đó, trình soạn thảo để chỉnh sửa giải thích commit thiết lập cho commit sau khi đã tổng hợp sẽ được hiển thị, nên hãy chỉnh sửa lưu lại/kết thúc.

Pull từ remote repository

git pull origin master

Lệnh trên sẽ gộp những thay đổi mới kéo về từ máy chủ từ xa với nhánh hiện tại trên máy local.

Tổng kết

Trong bài viết này mình đã giới thiệu khái quát về Git và đưa ra những câu lệnh cơ bản mà bạn thường xuyên phải dùng nó. Mình mong bài viết này có thể giúp ích cho các bạn mới bắt đầu sử dụng git có thể tham khảo, hiểu được một phần nào đó về git và vận dụng tốt vào việc sử dụng của các bạn.