Top những câu lệnh Git dùng trong thực tế
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.
Để xem các config thì
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
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
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
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
Các bạn thay thế git@github.com:phamhongduc-dev/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
.
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
🥇 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
Show hết tất cả branch có ở máy bạn.
À 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
🥇 Chuyển sang branch khác
Cứ checkout
mà phang
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à
À 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à
Đ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.
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
.
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
- 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.
- Nhảy để commit mới nhất của
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
--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
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
.
Apply cái stash lưu trước đó
Nguồn bài viết: https://duthanhduoc.com