Top những câu lệnh Git dùng trong thực tế
Châm ngôn của mình là học để kiếm tiền.
Vì thế mình build các khóa học của mình để giúp anh em tiến bộ nhanh hơn x10 lần , để kiếm được nhiều tiền hơn
- 🏆 React.js Super: Trở thành React.js Developer trong 7 ngày với mức thu nhập 20 triệu/tháng
- 🏆 Node.js Super: Giúp bạn học cách phân tích, thiết kế, deploy 1 API Backend bằng Node.js
- 🏆 Next.js Super: Mình sẽ chia sẻ từ A-Z kiến thức về Next.js, thứ giúp mình kiếm hơn 1 tỉ/năm
Không dài dòng, chỉ cần nhớ những câu lệnh này là làm việc với Git được rồi. Tất nhiên sẽ có những câu lệnh tương tự nhưng không cần thiết phải nhớ những câu lệnh đó. Vì nhớ thêm chỉ làm bạn đâu đầu thôi.
Để có thể dễ dàng hiểu rõ các câu lệnh dưới cũng như là thuận tiện cho việc học thì mình khuyên anh em nên đọc 2 bài mình đã viết trước đó.
🥇Cài đặt Git
Windows và Mac thì cài thông qua link này: https://git-scm.com/
Còn anh em Linux thì đã đã được cài sẵn rồi!
🥇Cấu hình git
Tên và email của bạn sẽ đại diện cho bạn khi bạn commit cũng như là push code. Đây là bắt buộc nếu như bạn mới cài đặt Git lần đầu.
git config --global user.name "Du Thanh Duoc"
git config --global user.email "duthanhduoc@gmail.com"
Để xem các config thì
git config --global --list
Muốn config chỉ riêng một repository thôi thì dùng --local
🥇Khởi tạo repository ở local và push lên remote
Khởi tạo một Git repository
git init
Tạo file, rồi code các kiểu trong Git repository. Bây giờ chúng ta sẽ tiến hành commit
git add .
git commit -m 'init'
Mặc định thì mới khởi tạo Git Repository ở local, nhánh mặc định sẽ là master
, nếu anh em muốn đổi tên sang nhánh khác, ví dụ main
thì dùng câu lệnh
git branch -M main
Nhánh đầu tiên push lên Git chính là nhánh mặc định của Git Repository đó trên remote
Bây giờ chúng ta sẽ tạo một mối liên kết giữa local và remote để có thể push code lên
git remote add origin git@github.com:duthanhduoc/123.git
Các bạn thay thế git@github.com:duthanhduoc/123.git
thành URL SSH Git Repository của các bạn nhé
Bước cuối cùng là push lên thôi. Dưới đây là mình push lên với tư cách là nhánh main
.
git push -u origin main
Mình thêm -u
để những lần sau thì chỉ cần git push
thôi là nó cũng hiểu là mình push ở nhánh hiện tại trên local, khỏi cần phải origin main
cho mệt.
🥇Clone Repository ở remote về
Quá dễ, chúng ta sẽ clone bằng giao thức SSH, ai đang dùng HTTPS thì cũng nên đổi sang SSH đi cho tiện và bảo mật
git clone git@github.com:duthanhduoc/123.git
🥇Kiểm tra đang ở branch nào
Câu lệnh dưới sẽ show branch hiện tại, các file mà bạn modify trong các trạng thái của git
git status
Show hết tất cả branch có ở máy bạn.
git branch -a
À mà nếu anh em thấy thiếu hay dư branch nào thì cứ git fetch -p
rồi chạy lại git branch -a
là được.
🥇Tạo một branch mới từ branch hiện tại
Cứ câu lệnh dưới đây mà phang
git checkout -b TenBranchMoi
🥇Chuyển sang branch khác
Cứ checkout
mà phang
git checkout TenBranch
Nếu branch đó không có trên local thì dùng git fetch
để nó update các branch trên local là được
🥇Kiểm tra lịch sử commit
Phổ biến nhất là
git log --oneline
À mà nếu muốn thoát ra khỏi cái Editor trên terminal thì nhấn q
, muốn xem trang tiếp theo thì w
, trang trước đó thì space
Nhưng mình thường dùng Git UI trên VS Code cho trực quan 🤣
🥇Kéo code từ remote về để cập nhập code dưới local
Ví dụ bạn đang code ở branch feature/Login
, anh Leader bảo bạn kéo code nhánh feature/Register
về nhánh feature/Login
của bạn đi, vì ảnh mới cập nhật trên đó.
Công việc của bạn chỉ là
git pull origin feature/Register
Điều này cũng áp dụng cho nhánh của bạn được, ví dụ có ai đó cập nhật code nhánh feature/Login
trên remote, bây giờ bảo bạn kéo code mới về rồi code tiếp chứ code trên local bạn cũ rồi.
git pull
Không cần phải thêm origin feature/Login
vì mặc định nó tự hiểu
Code xong thì cứ git push
lên thôi.
Đơn giản mà đúng không!
git pull
là sự kết hợp của git fetch
và git merge
, tức là mà đang dùng merge
để gộp branch.
Còn cách dùng rebase
nữa, nhưng nó khá nguy hiểm nếu không biết dùng đúng cách, vậy nên nhiều team còn cấm anh em dùng git rebase
.
💡 Mẹo:
Anh em nào muốn tìm hiểu về
git rebase
thì cứ đọc bài này của mình: Tôi học git lại từ đầu
🥇Cập nhật code ở local giống hệt trên remote
Hay còn gọi là pull force, nghĩa là nhánh ở local anh em quá cũ rồi, giờ anh em muốn xóa code ở local và đem code ở remote về làm?
Anh em thực hiện pull code về ư? Không phải là lựa chọn hay, vì nếu như local của anh em có một số file thay đổi hoặc edit dở, nó bắt anh em phải commit rồi mới được phép pull cơ. Chưa kể pull về còn có khả năng bị conflict 😳.
Khổ vãi, tôi chỉ muốn code trên remote thôi mà 🥲
Cách nhanh nhất là
- Cập nhật tất cả các
origin/branch
ở local
git fetch --all
- Backup branch hiện tại cho an toàn (ví dụ
master
). Cái này là optional thôi, anh em tự tin thì khỏi cần backup.
git branch backup-master
- Nhảy để commit mới nhất của
origin/master
.
git reset --hard origin/master
🥇Cập nhật commit trước đó
Ví dụ vừa commit, bổng nhiên nhận ra là chúng ta commit thiếu một số file hoặc cần update thêm. Chúng ta có thể thêm vào commit trước đó một cách dễ dàng bằng
git commit --amend --no-edit
--no-edit
là cho nó git khỏi hỏi bạn có edit message commit không, nếu không có thì nó sẽ hiển thị cái editor cho bạn edit message.
À mà cập nhật commit thì sẽ làm thay đổi hash commit, nếu anh em đã push lên remote rồi thì muốn push lại thì phải git push -f
mới được nhé.
🥇Lưu lại trạng thái branch hiện tại với git stash
Khi anh em đang làm dỡ branch feature/Login
, sếp bảo là "feature/Register
đang có bug, em kéo code về mà sửa rồi push lên lại cho anh!"
Bây giờ thì anh em cần lưu toàn bộ thay đổi trên nhánh featuer/Login
git stash
Tiếp theo cứ git checkout feature/Register
để sang làm việc bên branch đó. Sau khi làm việc xong chúng ta chuyển qua lại branch feature/Login
.
git checkout feature/Login
Apply cái stash lưu trước đó
git stash apply stash@{0}
Kiến thức trong khóa học Next.js này đã giúp mình kiếm hơn 1 tỉ đồng/năm
Phew! Cuối cùng bạn cũng đã đọc xong. Bài viết này có hơi dài một tí vì mình muốn nó đầy đủ nhất có thể 😅
Website bạn đang đọc được viết bằng Next.js TypeScript và tối ưu từng chi tiết nhỏ như SEO, hiệu suất, nội dung để đảm bảo bạn có trải nghiệm tốt nhất.
Với lượt view trung bình là 30k/tháng (dù website rất ít bài viết). Website này đem lại doanh thu 1 năm vừa qua là hơn 1 tỉ đồng
Đó chính là sức mạnh của SEO, sức mạnh của Next.js.
Mình luôn tin rằng kiến thức là chìa khóa giúp chúng ta đi nhanh nhất.
Mình đã dành hơn 6 tháng để phát triển khóa học Next.js Super | Dự án quản lý quán ăn & gọi món bằng QR Code. Trong khóa này các bạn sẽ được học mọi thứ về framework Next.js, các kiến thức từ cơ bản cho đến nâng cao nhất, mục đích của mình là giúp bạn chinh phục mức lương 25 - 30 triêu/tháng
Nếu bạn cảm thấy bài viết này của mình hữu ích, mình nghĩ bạn sẽ thích hợp với phong cách dạy của mình. Không như bài viết này, khóa học là sự kết hợp giữa các bài viết, video, bài tập nhỏ và dự án lớn có thể xin việc được ngay. Học xong mình đảm bảo bạn sẽ lên tay ngay. 💪🏻