Giới thiệu
Trong bài viết này, bạn sẽ tìm hiểu những lệnh GitHub cơ bản nhất mà bạn cần trong cuộc sống hàng ngày với tư cách là một lập trình viên. Chúng ta sẽ bắt đầu bằng cách tạo một kho lưu trữ trên hệ thống cục bộ của bạn và sau đó tiến hành tạo và gộp các nhánh trên GitHub.
Mục Lục
- Kết nối tài khoản GitHub từ xa với hệ thống cục bộ
- Tạo kho lưu trữ đầu tiên và kết nối với GitHub
- Lệnh Git cơ bản: Add, Commit và Push
- Sử dụng lệnh
git pull - Tập tin .gitignore là gì?
- Tạo, chỉnh sửa, đẩy, gộp và xóa nhánh
- Thực tiễn tốt nhất và mẹo hiệu suất
- Câu hỏi thường gặp
Kết nối tài khoản GitHub từ xa với hệ thống cục bộ {#ket-noi-tai-khoan-github}
- Tạo tài khoản GitHub.
- Cài đặt Git trên hệ thống của bạn.
- Chạy lệnh SSH sau:
bash
ssh-keygen -t ed25519 -C "your_email@example.com"
Tiếp tục nhấn "Enter" và các khóa ssh của bạn sẽ được tạo.
- Mở tệp
C:/Users/John/.ssh/id_ed25519.pubvà sao chép toàn bộ văn bản có trong đó. - Mở tài khoản GitHub của bạn > Cài đặt > SSH và GPG keys. Nhấn vào
New SSH Key. - Thêm khóa ssh công khai mà bạn đã sao chép vào đây và lưu lại.
- Thiết lập tên, email và tên người dùng bằng các lệnh sau trên thiết bị cục bộ của bạn:
bash
git config --global user.email "Your email"
git config --global user.name "Your Name"
Tạo kho lưu trữ đầu tiên và kết nối với GitHub {#tao-kho-luu-tru}
Tạo kho lưu trữ cục bộ của bạn bằng cách chạy lệnh sau:
bash
# Tạo kho lưu trữ với nhánh mặc định 'master'
git init
# Tạo kho lưu trữ với tên nhánh tùy chỉnh:
git init -b main
Sao chép URL SSH/HTTPS của kho lưu trữ và chạy lệnh sau trong thư mục kho lưu trữ mới của bạn:
bash
git remote add origin your-repository-url
Xem tất cả các origin từ xa đã thêm:
bash
git remote -v
Lệnh Git cơ bản: Add, Commit và Push {#lenh-git-co-ban}
bash
# Thêm tất cả các thay đổi vào khu vực staging:
git add .
# HOẶC
git add filename1 filename2 ...
# Cam kết tất cả các thay đổi cục bộ:
git commit -m "commit message"
# HOẶC
git commit -m "commit message" -m "[TÙY CHỌN] Mô tả về commit"
# Đẩy tất cả các thay đổi lên GitHub:
git push origin main
# HOẶC
git push origin custom_branch_name
Hủy bỏ thay đổi
bash
# Hủy bỏ thay đổi trong thư mục làm việc sau commit cuối
git restore <file>
# Hủy bỏ thay đổi đã staging.
git restore --staged <file>
# Đặt lại tất cả các tệp được theo dõi trong thư mục hiện tại về commit cuối.
git reset .
# Đặt lại HEAD của dự án của chúng ta bằng một commit
git reset HEAD~1
Sử dụng lệnh git pull {#su-dung-lenh-git-pull}
Giả sử có hai người, Người A và Người B đang làm việc trên một kho lưu trữ từ hai máy tính khác nhau. Người A thực hiện một số thay đổi trong mã nguồn và đẩy nó lên GitHub. Giờ đây, Người B cần cập nhật mã trong hệ thống của họ với mã mới, nếu không sẽ xuất hiện xung đột. Quá trình cập nhật mã cũ hiện có trong hệ thống cục bộ của bạn với mã mới hiện có trong kho lưu trữ GitHub từ xa được thực hiện bằng cách sử dụng lệnh sau:
bash
git pull origin main
# HOẶC
git pull origin custom_branch_name
Khái niệm về
git pull:Nó lấy mã mới nhất từ kho lưu trữ từ xa và sau đó gộp chúng vào nhánh hiện tại của bạn.
git pull = git fetch + git merge
Tập tin .gitignore là gì? {#tap-tin-gitignore}
Bất kỳ tệp hoặc thư mục nào mà lập trình viên không muốn cam kết và công bố trên GitHub cần được liệt kê ở đây.
Dưới đây là một ví dụ ngắn về tệp .gitignore:
bash
# Bỏ qua node_modules
node_modules/
# Bỏ qua bí mật
.env
# Bỏ qua thư mục cache
pycache/
Kiểm tra các mẫu gitignore được thiết kế sẵn từ GitHub.
Tạo, chỉnh sửa, đẩy, gộp và xóa nhánh {#tao-chinh-sua-nhanh}
Xem nhánh hiện tại và danh sách các nhánh có trên hệ thống cục bộ của bạn:
bash
git branch
Tạo một nhánh mới:
bash
git branch new_branch_name
Chuyển sang nhánh mới:
bash
git switch branch_name
Đẩy nhánh của bạn lên từ xa:
bash
git push origin new_branch_name
Xóa một nhánh từ hệ thống cục bộ:
bash
# Xóa nhánh đã được gộp hoàn toàn cục bộ
git branch -d branch_name
# Xóa nhánh (ngay cả khi chưa gộp) cục bộ
git branch -D branch_name
# Xóa một nhánh từ kho lưu trữ từ xa
git push origin --delete branch_name
Lấy một nhánh cụ thể về hệ thống cục bộ:
bash
git fetch origin <branch_name>:<branch_name>
Gộp nhánh của bạn vào một nhánh khác:
Giả sử bạn muốn gộp các thay đổi từ branchA sang branchB:
- Chuyển sang
branchB. - Chạy lệnh sau:
bash
git merge branchA
Thực tiễn tốt nhất và mẹo hiệu suất {#thuc-tien-tot-nhat}
- Sử dụng commit nhỏ: Khi thực hiện thay đổi, hãy cam kết từng thay đổi nhỏ một để dễ dàng theo dõi và khôi phục nếu cần.
- Thường xuyên đẩy thay đổi: Hãy đảm bảo rằng bạn thường xuyên đẩy các thay đổi lên GitHub để tránh xung đột.
- Tạo nhánh cho từng tính năng: Sử dụng các nhánh riêng biệt cho từng tính năng hoặc bản sửa lỗi để giữ cho mã nguồn chính luôn sạch sẽ.
Câu hỏi thường gặp {#cau-hoi-thuong-gap}
Q: Làm thế nào để khôi phục một commit cũ?
A: Bạn có thể sử dụng lệnh git checkout <commit_hash> để chuyển về một commit cụ thể.
Q: Tại sao tôi không thể xóa nhánh đang hoạt động?
A: Bạn không thể xóa nhánh hiện tại. Bạn cần chuyển sang một nhánh khác trước khi thực hiện xóa.
Khi bạn đã nắm vững những lệnh và khái niệm này, bạn có thể khám phá những khái niệm nâng cao hơn như rebasing, stashing và giải quyết xung đột.