Skip to main content

Những hiểu biết cơ bản về GIT

Git cung cấp một loạt các lệnh hữu ích để quản lý mã nguồn và theo dõi lịch sử thay đổi trong dự án. Dưới đây là những lệnh Git cơ bản, nâng cao mà ta có thể tham khảo:

1)git add . thêm tất cả các thay đổi
2)git commit -m
3)Sử dụng .gitignore để quản lý tệp không cần theo dõi.
Điều này giúp giữ cho kho lưu trữ sạch sẽ và tránh các xung đột không đáng có!
Ta hãy đưa vào tệp .gitignore những file và folder cần bỏ qua, không push lên Github
Nếu chưa có tệp này trong folder dự án thì tự tạo nó bằng lệnh:

touch .gitignore

ví dụ:

# Bỏ qua thư mục node_modules
node_modules/

# Bỏ qua thư mục .docusaurus
.docusaurus/

Lưu và commit tệp .gitignore:

git add .gitignore
git commit -m "Thêm tệp .gitignore để bỏ qua các thư mục không cần thiết"

Lưu ý: Nếu ta đã thêm các tệp hoặc thư mục không mong muốn vào staging area trước khi tạo tệp .gitignore, ta có thể sử dụng lệnh git reset để loại bỏ chúng khỏi staging mà không ảnh hưởng đến nội dung:

git reset <đường_dẫn_tới_tệp_hoặc_thư_mục>

Nếu cần push bổ sung tệp này vào "Github Desktop" để đẩy lên Github thì bỏ nó vào folder dự án rồi mở "Github Desktop", duyệt đến file trong folder dự án cần đưa lên, chọn nó và > Add Local Repository..., trong tab Changes thấy hiện diện nó là được!
4)git status xem trạng thái của kho lưu trữ:

git status

Lệnh này sẽ hiển thị các tệp đã được theo dõi và chưa được theo dõi
5)Lệnh thêm tệp vào GIT:

git add blognote/push-github.md (Ví dụ thêm vào Git tệp "push-github.md" ở folder "blognote")
Sau khi thêm tệp, nhớ thực hiện commit để thực hiện:
git commit -m "Thêm tệp push-github.md"

Kiểm tra đã thực hiện chưa bằng:

git status

Nếu đang ở thư mục gốc của dự án và muốn thêm tất cả các tệp vào thư mục docs, ta có thể sử dụng:

git add docs/

6)Lệnh git mv Để đổi tên tệp ta dùng lệnh:

git mv Example.txt Example_new.txt

7)git rm khai báo tệp trong Git bằng lệnh:

git rm Example.txt

8)git mv để chuyển vị trí tệp trong GIT:

git mv ten_tap_tin.txt thu_muc_moi/

Sau đó, ta nhớ commit thay đổi để lưu lại:

git commit -m "Di chuyển ten_tap_tin.txt đến thu_muc_moi/"

Nếu ta di chuyển tệp bằng các công cụ quản lý tệp thông thường (như trình quản lý tệp của hệ điều hành), Git sẽ không tự động nhận biết việc di chuyển này. Trong trường hợp đó, ta cần thông báo cho Git về thay đổi bằng cách:

git add thu_muc_moi/ten_tap_tin.txt
git rm ten_tap_tin.txt

Sau đó, thực hiện commit để lưu lại thay đổi:

git commit -m  "Di chuyển ten_tap_tin.txt đến thu_muc_moi/"

9)Tái tạo lại folder ".git" nếu lỡ bị xóa:
Mở terminal và điều hướng đến thư mục dự án. Chạy lệnh để khởi tạo lại kho lưu trữ Git mới:

git init

Sử dụng lệnh sau để thêm tất cả các tệp vào vùng chỉ mục:

git add . 

Thực hiện commit đầu tiên ta chạy lệnh:

git commit -m 

Ví dụ: thêm tập tin "git-co-ban.md" vào folder "blognote", ta dùng lệnh:

git add blognote/git-co-ban.md

Sau dó ta thực hiện commit để cập nhật thay đổi bằng lệnh:

git commit -m blognote/git-co-ban.md

để đẩy các thay đổi lên kho lưu trữ từ xa ta dùng lệnh:

git push -u origin master

10)Khi ta xóa một số tệp hoặc thư mục trong dự án, Git không tự động phát hiện và cập nhật những thay đổi này. Để Git ghi nhận việc xóa tệp hoặc thư mục, ta cần thực hiện các bước sau:

Sử dụng lệnh git rm:

Lệnh này thông báo cho Git biết rằng ta muốn xóa tệp hoặc thư mục khỏi kho lưu trữ. Ví dụ:

git rm ten_tap_tin

Nếu ta muốn xóa một thư mục cùng tất cả nội dung bên trong, sử dụng tùy chọn -r:

git rm -r ten_thu_muc

Thực hiện commit để xác nhận thay đổi:

Sau khi sử dụng git rm, ta cần commit thay đổi để lưu lại trong lịch sử Git:

git commit -m "Xóa tệp hoặc thư mục không cần thiết"

Lưu ý:

Nếu ta đã xóa tệp hoặc thư mục bằng cách thủ công (không sử dụng git rm), ta có thể thông báo cho Git về những thay đổi này bằng cách sử dụng lệnh git add với tùy chọn -u hoặc --update:

git add -u

Lệnh này sẽ cập nhật tất cả các thay đổi (bao gồm cả việc xóa tệp) vào vùng chỉ mục. Sau đó, ta cần commit như bình thường:

git commit -m "Cập nhật sau khi xóa tệp hoặc thư mục"

Để kiểm tra trạng thái của kho lưu trữ và xem những tệp nào đã bị xóa hoặc thay đổi, ta có thể sử dụng lệnh:

git status

BỔ TÚC:

Cập nhật chỉ mục (index) của Git với các thay đổi:

Sử dụng lệnh git add -A để thêm tất cả các thay đổi (bao gồm thêm, xóa và sửa đổi tệp) vào chỉ mục:

git add -A

Hoặc, bạn có thể sử dụng lệnh git add . để thêm tất cả các thay đổi trong thư mục hiện tại và các thư mục con:

git add .

Nếu bạn muốn chỉ thêm các thay đổi trong một thư mục cụ thể, hãy chỉ định đường dẫn đến thư mục đó:

git add path/to/your/folder

Thực hiện commit các thay đổi:

Sau khi thêm các thay đổi vào chỉ mục, bạn có thể commit chúng bằng lệnh:

git commit -m "Mô tả ngắn gọn về các thay đổi"

Đảm bảo rằng thông điệp commit ("Mô tả ngắn gọn về các thay đổi") phản ánh chính xác nội dung và lý do của các thay đổi bạn đã thực hiện.

Lưu ý:

Sử dụng lệnh git status trước khi thực hiện các lệnh trên để xem trạng thái hiện tại của kho lưu trữ và xác nhận các thay đổi bạn sắp thêm và commit.

Nếu bạn chỉ muốn thêm các tệp đã bị xóa hoặc sửa đổi, không bao gồm các tệp mới, bạn có thể sử dụng lệnh git add -u:

git add -u

**Tuy nhiên, để đảm bảo tất cả các thay đổi (bao gồm thêm, xóa và sửa đổi tệp) được cập nhật và commit cùng một lúc, lệnh

git add -A

hoặc

git add . 

lựa chọn phù hợp. sau cùng:

git commit -m "Mô tả ngắn gọn về các thay đổi"

Dưới đây là một số lệnh Git cơ bản và nâng cao mà ta có thể tham khảo:

Các lệnh Git cơ bản:

Cấu hình Git:

git config --global user.name "Tên của ta": Đặt tên người dùng cho tất cả các kho lưu trữ trên máy.
git config --global user.email "email@example.com": Đặt địa chỉ email cho người dùng.

Khởi tạo và sao chép kho lưu trữ:

git init: Khởi tạo một kho lưu trữ Git mới trong thư mục hiện tại.
git clone : Sao chép một kho lưu trữ từ xa về máy cục bộ.

Quản lý tệp và thay đổi:

git add <tên_tệp>: Thêm tệp vào vùng chỉ mục (staging area).
git commit -m "Thông điệp commit": Lưu các thay đổi trong vùng chỉ mục vào lịch sử của Git.
git status: Kiểm tra trạng thái hiện tại của kho lưu trữ.
git log: Xem lịch sử các commit.

Làm việc với nhánh (branch):

git branch: Liệt kê các nhánh hiện có hoặc tạo nhánh mới.
git checkout <tên_nhánh>: Chuyển đổi giữa các nhánh.
git merge <tên_nhánh>: Gộp nhánh được chỉ định vào nhánh hiện tại.

Làm việc với kho lưu trữ từ xa (remote):

git remote add origin : Thêm kho lưu trữ từ xa.
git push origin <tên_nhánh>: Đẩy các commit từ nhánh hiện tại lên kho lưu trữ từ xa.
git pull origin <tên_nhánh>: Kéo các thay đổi từ kho lưu trữ từ xa về nhánh hiện tại.