7 LỆNH GIT ÍT NGƯỜI BIẾT

Ngày đăng: 16/10/2020   -    Cập nhật: 20/10/2020
GitHub gần đây đã được phát hành miễn phí cho các team, đây là một tin tuyệt vời cho tất cả các lập trình viên chúng ta.


Tất cả chúng ta đều có các lệnh Git mà chúng ta sử dụng lặp đi lặp lại hàng ngày. Nhưng điều gì sẽ xảy ra nếu mình nói với bạn rằng có một số lệnh Git ít người biết đến nhưng có thể giúp công việc của bạn dễ dàng hơn.


Trong bài viết này, chúng ta sẽ đi qua 7 lệnh Git ít người biết hữu ích nhất.



7 LỆNH GIT ÍT NGƯỜI BIẾT VÀ HỮU ÍCH NHẤT


Một số trong số này có thể bạn đã từng sử dụng, một số có thể mới đối với bạn và một số bạn có thể bạn không nghĩ rằng nó có thể làm được. 😳 Nhưng bạn sẽ không bao giờ biết cho đến khi bạn thử chúng!


#1: git add -p



Bạn có thể đã sử dụng lệnh git add <file> hoặc git add . nhiều lần trước đây. Nhưng lệnh git add -p làm được gì?


Bạn đã bao giờ muốn chỉ commit một phần của tệp chứ không phải toàn bộ?


Vậy thì hãy sử dụng git add -p. Nó cho phép một commit ngắn gọn hơn.


Khi lệnh này chạy, chúng ta sẽ được hỏi về 'hunks'. 'Hunks' là các đoạn mã mà chúng ta sẽ quyết định phải làm gì với chúng.



7 Lệnh git ít người biết (1)


Bạn sẽ thấy câu hỏi, "State this hunk [y, n, g, a, d, e,?]?" ở cuối terminal.


Các chữ cái có nghĩa là những điều sau:



  • y: Đồng ý
  • n: Không đồng ý
  • g: Chọn một Hunk khác để chuyển đến
  • a: Phần này và tất cả các phần khác trong tệp này
  • d: Không tạo thành phần này hoặc bất kỳ phần nào khác trong tệp này
  • e: Chỉnh sửa Hunk hiện tại theo cách thủ công
  • ?: In ra sự trợ giúp


Khi hoàn thành tất cả các 'Hunk', chúng ta sẽ có thể thấy rằng commit của chúng ta đã sẵn sàng và chúng ta có thể tiếp tục push!


#2: git commit -amend



Khi commit, đôi khi chúng ta có thể nhấn 'Enter' quá nhanh và mắc lỗi đánh máy ở đâu đó trong thông báo commit.


Nhưng đừng lo!


Có một lệnh git cho phép chúng ta sửa lỗi đánh máy hoặc thông báo commit bị gắn nhãn sai.


Trong ví dụ của chúng ta, giả sử chúng ta chạy git commit -m 'fixing a typeo' và nhấn Enter.


Ngay sau đó, chúng ta nhận ra rằng lỗi 'typeo' (lẽ ra là typo) trong thông báo commit.


Bây giờ, hãy chạy lệnh git commit —amend -m 'fixing a typo' thực hiện sửa lỗi.



7 Lệnh git ít người biết (2)


Giờ đây, khi chúng ta push commit của mình, sếp của chúng ta sẽ không thấy lỗi đánh máy 'fixing a typeo' của chúng ta nữa. :D


#3: git reset --soft HEAD~1




Lệnh git reset có nhiều thứ mà bạn có thể theo dõi, như là "soft".


Xóa commit cuối cùng khỏi branch hiện tại, nhưng vẫn giữ các thay đổi!


Khi sử dụng lệnh git reset —soft HEAD ~ 1, nó sẽ xóa commit cuối cùng khỏi branch hiện tại.


Nhưng điều thú vị về lệnh này là các thay đổi sẽ không biến mất! Tất cả các thay đổi sẽ ở trong cây làm việc!


Trong ví dụ dưới đây, chúng ta đã commit và sau đó chạy lệnh git reset —soft HEAD ~ 1.



7 Lệnh git ít người biết (3)


Cố gắng push commit này sẽ không hoạt động, vì vậy khi chạy git push origin master, thì nhận về thông báo "không có gì để đẩy lên cả".


Nó thực sự đã thực hiện commit cuối cùng của chúng ta và giữ các thay đổi của chúng ta trong tệp!



#4: git checkout



Lệnh này có thể giúp ích rất nhiều khi có nhiều thứ xảy ra trong một commit và bạn không muốn commit toàn bộ.


Nó giống như git cherry-pick (mà chúng ta sẽ nói đến tiếp theo) nhưng thay vì 'cherry-picking' toàn bộ commit, chúng ta thậm chí còn đi sâu hơn vào một branch và chỉ chọn một tệp cụ thể mà chúng ta muốn merged.


Hãy xem nó được thực hiện như thế nào!



7 Lệnh git ít người biết (4)


Chọn một tệp cụ thể từ một branch và đưa nó vào branch hiện tại.


Trong khi ở master, chúng ta có thể chạy lệnh git checkout kapehe-test index.html để lấy tệp đã commit cụ thể đó trong branch cụ thể đó và chuyển nó sang chế độ master để cuối cùng push.


Điều đó khá dễ hiểu khi các thay đổi của một branch cụ thể có nhiều thay đổi và chúng ta chỉ tìm kiếm một tệp để test hoặc push.



#5: git cherry-pick



Trong lệnh này, chúng ta có thể chọn một branch cụ thể có một commit và kéo nó vào một branch khác.


Giả sử chúng ta có một branch kapehe-test và chúng ta đã commit tất cả các thay đổi của mình.


Có một branch khác, chúng ta sẽ chỉ sử dụng master nhưng đây có thể là bất kỳ branch nào và chúng ta muốn lấy commit của kapehe-test.


Bằng cách sử dụng lệnh git cherry-pick kapehe-test, chúng ta có thể đưa toàn bộ commit đó vào một branch khác.




Mang toàn bộ commit từ một branch sang branch khác.


7 Lệnh git ít người biết (5)


#6: git stash



Lệnh git stash dành cho các thay đổi chưa được commit trong tệp.


Giả sử chúng ta có một loạt thay đổi đối với một tệp nhưng cần quay lại và kiểm tra một số thứ trước khi chúng ta commit và push chúng, nếu không chúng ta chưa sẵn sàng thực hiện các thay đổi của mình.


Đó là lúc lệnh git stash phát huy tác dụng.


Lưu các thay đổi chưa commit và lưu trữ chúng để sử dụng sau này. Nó thực sự hữu ích khi bạn muốn commit và push nhưng chưa sẵn sàng thực hiện các thay đổi kể từ lần commit cuối cùng.



#7: git help



Còn có rất nhiều lệnh git khác nhau ở ngoài kia.


Và ngay trước khi chúng ta bắt đầu chạy các lệnh git, nếu biết chính xác nó sẽ làm gì với mã của chúng ta thì sẽ tốt hơn.


Nếu chúng ta chỉ chạy lệnh git help thì chúng ta sẽ nhận được giải thích về lệnh ngay tại trong terminal của chúng ta.


Nhưng chỉ thế thì đã đủ chưa?


Chạy lệnh git help -w <command> sẽ đưa chúng ta trực tiếp đến trang web mà chúng ta có thể đọc tất cả những giải thích về lệnh đó.



Tóm lại



Git rất mạnh mẽ, nó giúp ích cho công việc của chúng ta rất là nhiều. Mình hy vọng 7 lệnh git có thể bạn chưa biết này sẽ giúp bạn sử dụng git hiệu quả hơn một chút.


> Xem ngay: Bảng cửu chương Git.



---
HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học làm Lập trình viên. Hành động ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 02435574074 - 0914939543
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
#niit #niithanoi #niiticthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python
Bình luận Facebook
Khóa học liên quan đến bài viết

Khóa học PHP Full stack [2023] cho người mới bắt đầu

96 giờ
Khóa học Lập trình PHP Full stack, phiên bản cập nhật lần thứ 8. Dạy Lập trình PHP bài bản từ Front end đến Back end + Laravel. Hướng dẫn làm 2 Dự Án Web lớn

KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG

50 giờ
Khóa học giúp học viên sử dụng thành thạo ngôn ngữ Lập trình Python (3x). Hiểu và phát triển được Ứng dụng Web với Django Framework. Học thực hành với Giảng viên cao cấp.

Lập trình PHP với Laravel Framework

42 giờ
Khóa học Lập trình PHP với Laravel Framework được NIIT - ICT HÀ NỘI xây dựng nhằm hoàn thiện kỹ năng lập trình web các các bạn đã biết Lập trình Web PHP thuần.

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate

KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)

48 giờ
Khóa học Angular & TypeScript (Front end) sẽ giúp bạn làm chủ được nền tảng Angular từ đó phát triển được các ứng dụng mạnh mẽ, đa nền tảng.
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!