Config
Để kiểm tra tên và kiểu email trong cấu hình dùnggit config --global user.name "Vu Lien"
git config --global user.email "vanlien129@gmail.com"
Init
git init
Clone
Copy 1 git repository từ remote source.
git clone <:clone git url:>
Add
Để đưa một tập tin vào Staging Areagit add tên_file
Reset
git reset tên_file
hoặc lệnh
git reset
git rm --cached
Commit
Mỗi lần commit nó sẽ được lưu lại lịch sử chỉnh sửa của code kèm theo tên và địa chỉ email của người commit. Ngoài ra trong Git bạn cũng có thể khôi phục lại tập tin trong lịch sử commit của nó để chia cho một branch khác, vì vậy bạn sẽ dễ dàng khôi phục lại các thay đổi trước đó.
git commit -m "first commit"
Branch
git branch a
Checkout
Chuyển sang branch khác
git checkout <: branch:>
Fetch
git fetch origin
Merge
Merge 2 branch lại
Chuyển tới branch bạn muốn merge
git merge <:branch_merge:>
Remote
git remote
git remote add TEN_GIT <: remote_url:>
Đổi tên Remote
git remote rename origin lienvu
Hoặc lệnh sau khi đổi từ local đã SW sang branch
git branch -m <oldname> <newname>
Sau đó push nhánh mới lên
git push origin -u <newname>
Xóa nhánh local & push lên Git
git branch -D <branchname>
git push origin --delete <branchname>
Push
git push -u origin master
Pull
git pull <:remote:> <:branch:>
Ví dụ: pull code từ nhánh main
git pull origin main
Hệ thống sẽ yêu cầu nhập Username và password (sử dụng token git của tài khoản)
Để lần sau không cần nhập lại username và password nữa thì ta chạy lệnh sau để lưu thông tin
git config --global credential.helper store
Rebase
Lệnh cho phép bạn phân tách, di chuyển hoặc thoát khỏi các commit. Nó cũng có thể được sử dụng để kết hợp hai nhánh khác nhau.
git rebase
Merge
Lệnh kết hợp với các yêu cầu kéo (pull requests) để thêm các thay đổi từ nhánh này sang nhánh khác.
git merge
Status
Để check trạng thái của những file bạn đã thay đổi từ lần commit cuối
git status
Restore
git restore abc.txt
Stash
Được sử dụng khi muốn lưu lại các thay đổi chưa commit, thường rất hữu dụng khi bạn muốn đổi sang 1 branch khác mà lại đang làm dở ở branch hiện tại.
git stash save
Xem lại danh sách các lần lưu thay đổi
git stash list
Nếu muốn xem cả nội dung của từng thay đổi thì thêm option -p
git stash list -p
hoặc xem nội dung cụ thể hơn nữa của lần thay đổi thứ 1:
git stash show stash@{1}
Khi muốn apply lại thay đổi từ stash lần 1 bạn có thể
git stash apply stash@{1}
Xóa 1 Stash
git stash pop stash@{1}
Xoá toàn bộ stack
git stash clear
Gitignore
- Sử dụng # để comment và có thể để cách dòng cho dễ đọc.
- Đơn giản nhất là tên file cần ignore: example.exe
- Hay cả thư mục: example_folder/
- Khi ignore thư mục nên có dấu / ở sau tên thư mục để nhận biết đó là thư mục, nếu không nó có thể là coi là thư mục hoặc file hay symbolic link.
- Dấu ! phía trước có ý nghĩa phủ định: !abc/example.exe
- Sử dụng 1 * để tìm các file có cùng định dạng. Ví dụ như bạn muốn ignore tất cả các file .xml trong project: *.xml
- Trường hợp khác của 1 * nếu bạn chỉ rõ đường dẫn ví dụ: config/*.xml thì nó chỉ có hiệu lực cho các file config/abc.xml mà không có hiệu lực cho các file config/sub/abc.xml.
- Sử dụng ** để có hiệu lực cho các thư mục không cần định rõ tên. Ví dụ: **/foo nó sẽ có hiệu lực cho tất cả file hoặc thư mục có tên là foo ở mọi nơi trong project.
- Hay sử dụng kiểu folder/** để có hiệu lực cho tất cả các file bên trong thư mục.
Untrack
git rm -r --cached .
hoặc chỉ Untrack 1 file
git rm --cached /path/to/file_or_folder
- -r là viết tắt của recursive, nếu muốn xóa toàn bộ index thì cần có lần có lệnh đệ quy này
- . nghĩa là tất cả các file đều bị untrack
git init
Remote vào git
git remote add origin https://gitlab.com/vanlien129/php.git
git branch -M main
git add file_name
Commit
git commit -m "Update"
git push -uf origin main
Bỏ theo dõi file khi commit
Bạn có thể sử dụng tệp .gitignore để loại trừ tệp cấu hình của mình khỏi việc bị theo dõi bởi git. Cách thực hiện như sau:
Mở tệp .gitignore trong thư mục gốc của dự án của bạn. Nếu tệp này chưa tồn tại, bạn có thể tạo mới một tệp với tên .gitignore.
Thêm tên hoặc đường dẫn tương ứng với tệp cấu hình mà bạn muốn loại trừ khỏi git. Ví dụ, nếu tệp cấu hình của bạn tên là config.json, bạn chỉ cần thêm dòng sau vào tệp .gitignore:
Lưu lại tệp .gitignore. Sau đó, git sẽ không theo dõi tệp cấu hình đó nữa mỗi khi bạn thực hiện commit.
Lưu ý rằng nếu tệp đã được git theo dõi trước đó, bạn sẽ cần phải xóa nó khỏi bộ theo dõi của git bằng lệnh sau:
git rm --cached config.json
Reset Commit
git reset --hard HEAD~1
git reset --hard HEAD~3
git reset --soft HEAD~1
Nhận xét
Đăng nhận xét