Github nâng cao

Written by Admin on March 11, 2021 Categories: Git Tutorial

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 branch 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 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ề những 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.

git rebase
  • Lưu ý: Việc này có thể tạo ra vấn đề:

    • 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 gõ “git log” vào termial 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 5 commit gần nhất bằng lệnh sau:

git log -5

bạn có thể thay 5 bằng bất kì số nào

git log --oneline --graph

lệnh này để xem log trên từng dòng:

git log oneline
  • Hoặc để xem riêng hoạt động của một người dùng:

git log --author <#author name>
git log author
  • Bạn có thể xem commit theo format:

git log --pretty=format:"The commit %h is applied by %cn"
git log format

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 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, có thể trông giống như:

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:

git stash apply stash stash@{1}
  • Số 1 biểu thị cho stash cũ nhất, mới nhất là số 0.

git stash apply

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.

  • Lưu ý, bạn có thể xoá từng stash trong danh sách bằng cách sử dụng:

git stash drop stash@{2}
git stash drop

hoặc:

git stash clear

để xoá tất cả.

git stash clear

Sử dụng .gitignore global

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:

gitignore

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.

android

lúc này bạn nên dùng .gitignore global.

Để sử dụng .gitignore global, bạn cần mở termial lên và gõ lệnh sau:

  • Dành cho macOS, Linux, Windows dùng git bash:

git config --global core.excludesfile '~/.gitignore'
  • Dành cho Windows dùng cmd, powershell:

git config --global core.excludesfile "%USERPROFILE%\.gitignore"

Sửa file .gitignore vừa sinh ra và lưu lại. File .gitignore tham khảo:

# Mac OS X hidden files

.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

#Vim swap files
.*.sw?

#PhpStorm
.idea

#vs code
.vscode

#Sublime Text
*.sublime-project

#Node
node_modules
npm-debug.log
yarn-error.log
.phpunit-watcher-cache.php

Lưu ý:

  • 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 project.

  • Việc tạo .gitignore phù hợp sử dụng cá nhân.

Tổng kết

Thank for watching!

No Comments on Github nâng cao

Leave a Reply

Your email address will not be published. Required fields are marked *