Hướng dẫn sử dụng git – Các câu lệnh cơ bản của GIT
Khi nói đến version control system, có rất ít ứng dụng có thể vượt qua được GIT về hiệu năng. GIT được phát triển bởi Linus Torvalds trong năm 2005 và giớ đây, hàng triệu công ty đang sử dụng nó để làm trình quản lý phiên bản mã nguồn của các dự án của họ. Phần mềm mã nguồn mở có thể tải về cho Linux, Windows, Solaris và Mac.
Khi nói đến version control system, có rất ít ứng dụng có thể vượt qua được GIT về hiệu năng. GIT được phát triển bởi Linus Torvalds trong năm 2005 và giớ đây, hàng triệu công ty đang sử dụng nó để làm trình quản lý phiên bản mã nguồn của các dự án của họ. Phần mềm mã nguồn mở có thể tải về cho Linux, Windows, Solaris và Mac.
Đầu tiên, ta cần hiểu như thê nào là repository. Repository (kho chứa) đượ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 thư mục bạn đang làm việc 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: Là repository để chia sẻ giữa nhiều người và bố trí trên server chuyên dụng.
- Local repository: Là repository bố trí trên máy của bản thân mình, dành cho một người dùng sử dụng.
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:
-
Branch local: là branch lưu ở local (tất nhiên rồi). 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: là branch lưu ở remote. Branch này có thể
fetch
về local nhưng không tạo thêm branch ở local.Hiểu đơn giản là bạn có thể tải branch ở remote về nhưng không tạo 1 branch ở local với tên tương tự và tất nhiên sẽ không liên kết nó với một branch local nào cả.
Để hiển thị branch remote có trên local dùng lệnh
git branch -r
1. 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 đó.
2. 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.
3. 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.
4. 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>
5. 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>
6. 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"
7. 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>
8. 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>
9. 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 đó.
10. 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ó.
11. 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.
12. 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.
Trên đây là một số những điều cần ghi nhớ khi sử dụng GIT. Cảm ơn mọi người đã đọc.
Tài liệu tham khảo:
- https://git-scm.com/docs/gittutorial
- https://viblo.asia/p/co-ban-ve-git-roavrJdovRM
- https://viblo.asia/p/nhung-lenh-git-co-ban-can-nho-V3m5W1OyZO7
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!