Table of contents
Giới thiệu
Git là một phần mềm quản lý mã nguồn phân tán, giúp quản lý được những thay đổi, lịch sử của source code
Tổng hợp 15 lệnh git
Git clone:
git clone <remote_repo>
Lệnh này sẽ clone một repo từ github/gitlab/bitbuket về máy của bạn
Anh em nào vừa mới join vào một dự án thì lệnh này là lệnh đầu tiên không thể thiếu
Git init:
git init
Câu lệnh giúp bạn init source code thành một repo và git sẽ quản lý source code này
Git fetch:
git fetch
Dùng để get các file/branch được thêm hoặc thay đổi ở remote repo về local repo
Git merge:
git merge
Dùng để merge một branch vào branch hiện tại
Git pull:
git pull
Sự kết hợp của
git fetch
vàgit merge
Thường anh em sẽ sử dụng git fetch để check xem có những file/branch nào đã thêm/thay đổi trước khi pull
Git branch:
git branch <tên\_nhánh>
Tạo, xóa, liệt kê, đổi tên branch
Git checkout:
git checkout <tên\_nhánh>
Switch sang một branch khác
Với git branch, bạn chỉ tạo ra một nhánh mới nhưng sẽ không tự động switch sang nhánh đó, dùng
git checkout -b <tên nhánh>
để tạo và checkout sang nhánh mớiGit status:
git status
Kiểm tra trạng thái của source code xem có file nào add/modify/delete
Git add:
git add
Đưa file vào stage
Sử dụng
git add .
để add toàn bộ file đã được add/modify/deleteGit log:
git log
Liệt kê toàn bộ commit bao gồm hash commit, người commit, ngày commit và message commit
Dùng
git log --oneline
để chỉ hiển thị hash commit và message commitGit revert:
git revert
Tạo ra một commit mới với commit mà bạn muốn revert
Hữu ích khi bạn đã commit file đó nhưng file đó bị lỗi, thiếu hoặc muốn thay đổi tính năng và bạn cần back lại commit đó
Git reset:
git reset <hash\_commit>
Hữu ích giống như git revert nhưng với git reset, bạn sẽ không tạo ra một commit mới nào cả mà sẽ loại bỏ các commit mới và back lại commit mà bạn muốn reset
git reset <hash\_commit>
: reset commit và giữ file ở index (working space)git reset --soft <hash\_commit>
: reset commit và giữ file ở stagegit reset --hard <hash\_commit>
: reset commit và xóa luôn các file đã được add/modify/deleteGit rebase:
git rebase
Giống với git merge,
git rebase
cũng giúp merge branch lại với nhau, nhưng thay vì tạo ra một commit mới và thứ tự các commit được chèn vào nhau dựa trên thời gian commit thì vớigit rebase
, các commit sẽ được đưa lên trên đầu flow của branchGit rebase có rất nhiều tính năng hữu ích như đổi message commit thành message khác, gộp commit
Git stash:
git stash
Nếu gặp phải trường hợp bạn đang develop ở nhánh hiện tại nhưng cần checkout sang nhánh khác thì bạn sẽ không checkout được nếu đang có file thay đổi ở nhánh hiện tại
Để checkout được sang nhánh khác bạn buộc phải commit chúng, nhưng bạn chưa muốn commit vì tính năng chưa phát triển xong
Lúc này bạn hãy dùng
git stash
, nó sẽ cất giữ file của bạn và bạn có thể thoải mái checkout sang nhánh khác, và khi quay lại nhánh cũ, bạn có thể apply lại và develop tiếpGit tag:
git tag
Đối với các dự án release theo từng version thì sẽ dùng tag để quản lý từng version cũng như changelog của từng version đó
Tổng kết
Như vậy ở trên mình đã tổng hợp 15 câu lệnh git được sử dụng nhiều nhất. Ngoài ra, anh em có thể nghiên cứu thêm nhiều câu lệnh khác để áp dụng vào phát triển dự án nhé. Cảm ơn các bạn đã đọc