Git nâng cao
Reset your branch - Đặt lại nhánh
Một trong những tính năng nâng cao của git đó là đặt lại nhánh của bạn,
để quay trở lại (revert) những lần commit trước. Mặc định sẽ quay lại
lần commit gần nhất, nhưng bạn có thể dùng commit hash để quay lại một
commit cụ thể. Lệnh này có 2 tuỳ chọn khác nhau: --hard và --sort.
git reset --hard <#commit hash>
Lệnh này sẽ đưa branch của bạn về lần commit cụ thể. Tất cả commit thực
hiện sau sẽ được hoàn tác. Dự án của bạn sẽ quay lại chính xác như thời
điểm này.
git reset --sort <#commit hash>
Lệnh này cũng sẽ đưa branch của bạn về những lần commit cụ thể, nhưng sẽ
giữ tất cả thay đổi của bạn ở local. Từ thời điểm này, nếu bạn thay đổi
bất kỳ điều gì trong tệp đó, thì sẽ được đối chiếu trong git status.
Git rebase
Một trong những tính năng của git hữu dụng nhất, git rebase sẽ fetch lần
commit cuối từ branch master và đặt code của bạn vào đầu branch master.
Ví dụ: Nếu branch của bạn đang hoạt động, tách branch master trong 1
thời gian dài sau đó bạn muốn rebase nó với branch master, điều này
có thể gây sự cố, bởi vì sau 1 khoảng thời gian, sẽ có nhiều thay
đổi trong branch master gây ảnh hương lên branch của bạn, hoặc phá
vỡ các tính năng của ứng dụng.Để khắc phục tình trạng này, bạn cần rebase thường xuyên với branch
master.
Git log
Để xem lại thay đổi trên code của bạn. Git log sẽ chỉ ra commit logs.
Lệnh này giúp bạn có thể xem lại những hành động trước đó. Nếu bạn chạy
lệnh git log trong dự án của bạn, bạn sẽ xem 1 danh sách logs như hình
bên dưới
git log
Ngoài ra bạn cũng có thể xem n commit gần nhất bằng lệnh sau:
git log -n
Xem log trên từng dòng
git log --oneline --graph
Xem riêng hoạt động của một người dùng
git log --author <#author name>
Xem commit theo format
git log --pretty=format:"The commit %h is applied by %cn"
Git stash
Git stash có thể dùng để lưu code của bạn mà không cần thực hiện commit.
Khi bạn chạy lệnh git stash, code sẽ được lưu vào local commit tạm
thời vào branch của bạn. Nó chỉ được sử dụng cho mục đích cá nhân vì
không thể push một stash lên remote respository
git stash
Khi bạn thực hiện nhiều lần thay đổi trên code và sử dụng git stash để
lưu, sử dụng git stash list để xem danh sách
git stash list
Bạn có thể dễ dàng thực hiện việc lựa chọn những stash cụ thể trong danh
sách (nếu bạn có nhiều hơn 1 stash) bằng cách sử dụng lệnh
git stash apply stash stash@{1}
số 1 biểu thị cho stash cũ nhất, mới nhất là số 0
Nếu bạn không muốn sử dụng code đã apply bằng stash. Bạn có thể dùng
lệnh git checkout . để resets tất cả code chưa được commit.
git checkout .
Bạn có thể xoá từng stash trong danh sách bằng cách sử dụng
git stash drop stash@{2}
hoặc git stash clear để xóa tất cả
git stash clear
Sử dụng .gitignore
Khi tạo một dự án mới bạn phải khai báo các file, folder không cần
upload lên server trong file .gitignore.
Nếu các file, folder này không nằm trong project mà tự động sinh ra từ
máy hay phần mềm bạn đang dùng. Ví dụ, bạn dùng MacOs hay có file
.DS_STORE, Thumbs.db, .Spotlight-V100… sinh ra:
nếu bạn code android thường sinh ra những file .gradle hay thư mục build
thường rất nặng
Dưới đây là 1 file .gitignore mẫu, cho một dự án thực tế
# Mac OS X hidden files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
#Vim swap files
.*.sw?
#PhpStorm
.idea
#vscode
.vscode
#Sublime Text
*.sublime-project
#Node
node_modules
npm-debug.log
yarn-error.log
.phpunit-watcher-cache.php
Khi bạn tạo 1 project mới, rất có thể IDE sẽ tự tạo file .gitignore
cấu hình sẵn với projectViệc tạo .gitignore phù hợp sử dụng cá nhân
Latest comments (0)