Chào mọi người, các bạn chắc đã biết GIT là gì rồi đúng không? Ai chưa biết thì tạm thời dừng đọc bài này nhé. Việc sử dụng GIT thông qua các công cụ như Github, SourceTree ... thì không có gì phức tạp. Tuy nhiên để sử dụng git thành thạo mà còn dùng được thông qua command line không lệ thuộc vào GUI của các client git như trên thì không hề dễ nhé.
Hôm nay LP Tech sẽ chia sẻ tới các bạn 1 bộ bí kíp sử dụng git bằng command-line thông qua các lệnh cơ bản bên dưới đây.
Lệnh git init
git init đây là command được sử dụng khi chúng ta muốn bắt đầu một repository mới .
git init [repository name]
Muốn thiết lập tên người dùng / địa chỉ email, ta làm như sau :
git config –global user.name "[name]"
git config –global user.email "[email address]"
Lệnh git clone
git clone command này dùng để clone lại một project từ môt url (thường sử dụng khi anh em pull code từ dự án về từ trên gitlab hay github ) :
git clone [url]
Lệnh git status
git status đây chắc là câu lệnh thần thánh mà tất cả đều dùng, command này kiểm trả các file đã thay đổi trong project của bạn ( nếu anh em nào chưa biết thì git chạy lệnh này , các file có sự thay đổi sẽ hiện lên màu đỏ trong trình code của bạn)
git status
Lệnh git add
git add command này dùng để add những file thay đổi trong project :
git add [file]
Còn nếu muốn add một lúc hết luôn thì mình làm như sau :
git add *
Để ghi lại việc thêm/ thay đổi file hay thư mục vào repository thì sẽ thực hiện thao tác gọi là Commit. Khi thực hiện commit, trong repository sẽ tạo ra commit (hoặc revision) đã ghi lại sự khác biệt từ trạng thái đã commit lần trước đến trạng thái hiện tại.Vì vậy, sau khi add file thay đổi xong , mọi người nhớ commit code mình lại kèm theo message nhé :
git commit -m “[ Type in the commit message]”
Lệnh git commit
git commit -a - Command nàysẽ commits bất kỳ file nào bạn đã thêm bằng lệnh git add và cũng commits bất kỳ file nào bạn đã thay đổi kể trước đó:
git commit -a
Lệnh git diff
git diff hiện thị thông tin thay đổi giữa thư mục làm việc và vùng index (staging) hoặc với commit cũ, thông tin thay đổi giữa index(staging) và commit, thông tin thay đổi giữa hai nhánh ... :
git diff
Kiểm tra sự thay đổi của index (staging) với commit cuối :
git diff –staged
Kiểm tra sự thay đổi giữa hai nhánh:
git diff [first branch] [second branch]
Lệnh git reset
git reset được dùng để quay về một điểm commit nào đó, đồng thời xóa lịch sử của các commit trước nó.
git reset --hard <commit_id> //xoá toàn bộ các commit trước đó và đưa branch về trạng thái của commit có commit_id đã chọn
Lệnh git rm
git rm - command này xóa file khỏi thư mục làm việc của bạn :
git rm [file]
Lệnh git log
git log - Command này được sử dụng để liệt kê lịch sử commits của branch hiện tại.
git log
// nếu muốn định dạng thông tin chung về commit (mã hash, dòng thông tin) trên một dòng thì dùng tham số --oneline :
git log --oneline
Lệnh git show
git show - Command này hiển thị các thay đổi và nội dung của commit được chỉ định.
git show [commit]
Lệnh git tag
git tag - Command này được sử dụng để cấp tag cho commit được chỉ định.
git tag [commitID]
Lệnh git branch
git branch - Command này liệt kê tất cả các nhánh hiện tại ở local của bạn
git branch
Muốn tạo một nhánh mới git branch [branch name] :
git branch [branch name]
// hoặc có thể dùng: git checkout -b [branch name]
Muốn xóa nhánh ở local :
git branch -d [branch name]
Muốn chuyển từ nhánh này sang nhánh khác :
git checkout [branch name]
-** git merge** - Command này sẽ merge lịch sử của nhánh đã chỉ định vào nhánh hiện tại.
git merge [branch name]
Lệnh git push
git push được sử dụng để đẩy các commit mới ở local lên remote. Nguồn để đẩy lên là nhánh mà con trỏ HEAD đang trỏ tới (nhánh làm việc).
git push [variable name] [branch]
Nếu đang làm việc ở nhánh này, mà có nhánh khác cần phải sửa thì sao, yên tâm đã có git stash :
git stash - Command này tạm thời lưu trữ tất cả các tệp được theo dõi đã sửa đổi.
Rồi sau khi làm việc ở nhánh vừa sửa xong, quay lại thì ta chỉ cần :
git stash pop
Muốn xem list stash thì ta làm như sau :
git stash list
Lệnh git stash drop
git stash drop - Command này loại bỏ tập các thay đổi được lưu trữ gần đây nhất.
git stash drop
Lệnh git pull
Và cuối cùng git pull - Command này tìm và kết hợp kéo các file thay đổi trên remote từ xa về thư mục làm việc của bạn :
git pull
Riêng bài biết này mình sẽ còn cập nhật thêm các câu lệnh mà trong các trường hợp khác có thể anh em sẽ gặp phải.