Giới Thiệu Về Git
Git Là Gì?
Git là hệ thống quản lý phiên bản (VCS) phổ biến nhất trên thế giới. Nó giúp theo dõi và quản lý các thay đổi trong dự án của bạn.
GIT là viết tắt của Global Information Tracker. GIT hoạt động cục bộ trên máy tính của bạn, trong khi Github là dịch vụ lưu trữ các kho Git trên đám mây, giúp bạn dễ dàng làm việc và hợp tác với những người khác.
Cách Cài Đặt Git
- Cài đặt thông qua Homebrew:
brew install git
- Kiểm tra phiên bản sau khi cài đặt:
git --version
Cấu Hình Tên và Email Toàn Cục
- Cấu hình tên người dùng:
git config --global user.name "yourName"
- Kiểm tra tên người dùng:
git config user.name
- Cấu hình email:
git config --global user.email yourEmail
- Kiểm tra email:
git config user.email
Một Số Lệnh Command Line Hữu Ích
ls
: Hiện danh sách thư mục hiện tại. Để hiện danh sách thư mục cụ thể, thêm tên thư mục sau lệnh, ví dụ:ls Documents
.ls -a
: Hiện tất cả các thư mục và file, bao gồm cả file ẩn.cd 'location'
: Di chuyển giữa các ổ đĩa và thư mục.touch 'fileName'
: Tạo file mới.cd ..
: Về thư mục trước đó.pwd
: Hiển thị đường dẫn thư mục hiện tại.mkdir (make directory)
: Tạo một thư mục mới.rm (remove)
: Xóa một hoặc nhiều file.rm -rf folderName
: Xóa một hoặc nhiều thư mục.open .
: Mở Finder (trên Windows làstart .
) để mở thư mục bất kỳ; thay dấu chấm với thư mục cụ thể.clear
: Xóa lịch sử terminal.
Lệnh Git Cơ Bản
git status
: Hiện các thay đổi.git add .
: Thêm tất cả các thay đổi.git commit -m 'tóm tắt các thay đổi'
: Thực hiện commit các thay đổi.git log
: Hiện danh sách commit trước đó.git init
: Tạo mới một kho git.
Git Repository Là Gì?
Git repository là không gian làm việc theo dõi và quản lý file trong một thư mục.
Sử Dụng Vim Để Commit
Khi bạn thực hiện commit:
- Nhấn
I
(Insert) để bắt đầu. - Thêm comment.
- Nhấn
Esc
để thoát chế độ insert. - Nhập
:wq
để viết và thoát.
Xem Log Commit
git log --abbrev-commit
: Rút gọn ID commit.git log --oneline
: Hiện log với từng dòng (ID + comment).
Cấu Hình Trình Soạn Thảo Code Trên Terminal
Truy cập Git Documentation để chọn câu lệnh tương ứng với IDE của bạn.
Cài Đặt VS Code
- Mở VS Code.
- Nhấn
Command + Shift + P
để mở Command Palette. - Gõ
shell command
và chọnInstall 'code' command in PATH
. - Khởi động lại terminal.
Xử Lý Khi Commit Thiếu File
Nếu bạn đã commit nhưng muốn chỉnh sửa file mà không cần tạo commit mới, hãy sử dụng git commit --amend
sau khi git add
file. Điều này giúp gộp hai lần commit lại với nhau.
Sử Dụng .gitignore
Tham khảo Hướng Dẫn Ignoring Files để tạo file .gitignore
nhằm bỏ qua các file hoặc thư mục không cần thiết.
- Sửa đổi file
.gitignore
:touch .gitignore
và thực hiện commit tương tự.
HEAD và Branch
- HEAD là con trỏ tham chiếu đến vị trí hiện tại trên repository.
Làm Việc Với Branch
git branch
: Hiện danh sách các nhánh và nhánh hiện tại.git branch <branch-name>
: Tạo mới một nhánh.git switch <branch-name>
: Chuyển đến nhánh khác.git commit -a -m 'comment'
: Kết hợp lệnhadd
vàcommit
.git checkout -b <branch-name>
: Tạo và chuyển đến nhánh mới.git merge <branch-name>
: Kết hợp nhánh vào nhánh hiện tại.
Giải Quyết Xung Đột
Khi gặp xung đột giữa các file trong quá trình merge, bạn cần xem xét để quyết định resolve. Sau khi sửa xong, hãy thực hiện add
và commit
như bình thường.
Sử Dụng Stash
git stash
: Lưu tiến trình làm việc để có thể làm sạch nhánh.git stash pop
: Đẩy các tiến trình đã lưu về nhánh làm việc.git stash list
: Hiện danh sách các stash đã lưu.
Detached HEAD
Khi gặp trường hợp HEAD không trỏ đến nhánh nào nữa mà trỏ tới commit, bạn có thể:
- Quay về nhánh master hoặc bất kỳ nhánh nào khác.
- Tạo một nhánh mới từ commit đó để lưu lại các thay đổi.
Khôi Phục File
Sử dụng các lệnh như git checkout HEAD <file>
hoặc git restore
để khôi phục trạng thái của file đến commit gần nhất.
Đặt lại Commit
Sử dụng git reset <commit>
để xóa commit sai mà không xóa các thay đổi trong file. Hoặc git reset --hard <commit>
để xóa cả commit và các thay đổi. Khi muốn hoàn tác, hãy dùng git revert <commit-hash>
để tạo một commit mới thay vì xóa.
Kết Luận
Git là một công cụ mạnh mẽ giúp quản lý mã nguồn hiệu quả. Việc thành thạo các lệnh Git và biết cách cấu hình môi trường làm việc sẽ giúp bạn làm việc hiệu quả hơn trong dự án phát triển phần mềm.
source: viblo