Computer >> Máy Tính >  >> Lập trình >> Lập trình

Cam kết Git

Lưu các thay đổi vào kho lưu trữ Git không đơn giản như chỉ lưu một tệp. Hệ thống kiểm soát phiên bản Git sử dụng một phương pháp theo dõi thay đổi phức tạp hơn, cho phép các nhà phát triển kiểm soát chi tiết hơn những thay đổi mà họ thực hiện đối với mã trong kho lưu trữ.

Lệnh git commit là một bước trong việc "lưu" các thay đổi được thực hiện đối với một dự án vào một kho lưu trữ. Trước tiên, hàm git add command line được sử dụng để tạo một bản ghi về những thay đổi sẽ được lưu trữ trong một commit, sau đó git commit được sử dụng để tạo một commit với những thay đổi đó. Cuối cùng, git push được sử dụng để đẩy cam kết đến một kho lưu trữ trung tâm.

Trong hướng dẫn này, chúng ta sẽ khám phá, với các ví dụ, cách sử dụng lệnh git commit để tạo các commit với Git. Khi đọc xong hướng dẫn này, bạn sẽ trở thành một chuyên gia trong việc tạo cam kết bằng git commit.

Cam kết Git

Cam kết là một phần quan trọng của hệ thống kiểm soát phiên bản Git.

Một cách để nghĩ về các cam kết là chúng là ảnh chụp nhanh của một dự án trong một thời điểm nhất định trong lịch sử của dự án. Khi một cam kết được tạo, nó sẽ tạo một bản ghi về cách tất cả các tệp và thư mục xuất hiện trong một dự án tại thời điểm cam kết được tạo.

Bản ghi này sau đó có thể được đọc trong tương lai để xem một dự án trông như thế nào tại một thời điểm và ai đã thực hiện những thay đổi nào đối với những tệp nào trong dự án. Thật vậy, cam kết là một tính năng quan trọng của Git vì nó cho phép các nhà phát triển lưu giữ một bản ghi toàn diện về cách kho lưu trữ của họ đã phát triển theo thời gian.

Không giống như trong các hệ thống kiểm soát phiên bản khác, một cam kết không ảnh hưởng đến một kho lưu trữ trung tâm cho đến khi bạn sẵn sàng, có nghĩa là nó có thể hoạt động như một khoảng trống giữa những thay đổi được thực hiện đối với một kho lưu trữ và phiên bản chính của một kho lưu trữ.

Nói cách khác, thay vì phải thực hiện thay đổi trực tiếp đối với phiên bản chính của kho — có thể có nhiều người đóng góp tích cực xem kho — nhà phát triển có thể cam kết mã của họ trong kho lưu trữ cục bộ của họ và đẩy nó vào kho lưu trữ chính sau đó.

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia chương trình đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

Tạo cam kết là giai đoạn thứ hai từ cuối cùng của việc "lưu" thay đổi trong Git. Sau khi bạn tạo cam kết, bước tiếp theo là sử dụng git push để đẩy các thay đổi bạn đã thực hiện vào kho lưu trữ trung tâm.

Cách sử dụng cam kết Git

Lệnh git commit lưu tất cả các thay đổi theo giai đoạn vào kho lưu trữ cục bộ.

"Các thay đổi theo giai đoạn" đề cập đến tất cả các tệp trong khu vực tổ chức, được thêm vào bằng cách sử dụng lệnh git add. Để tìm hiểu thêm về lệnh git add, bạn có thể đọc hướng dẫn dành cho người mới bắt đầu của chúng tôi về lệnh git add.

Hãy cùng khám phá cách sử dụng lệnh git commit.

git cam kết

Cách sử dụng cơ bản nhất của lệnh git commit như sau:

git commit

Lệnh này thực hiện các thay đổi theo giai đoạn đối với kho lưu trữ cục bộ. Khi lệnh này được chạy, một trình soạn thảo văn bản sẽ mở ra yêu cầu bạn gửi một thông báo cam kết.

Thông báo này là nơi bạn nên mô tả ngắn gọn những thay đổi bạn đã thực hiện đối với một kho lưu trữ trong một cam kết. Sau khi bạn đã viết một thông báo cam kết, bạn có thể đóng trình soạn thảo văn bản và sau đó cam kết sẽ được tạo.

git cam kết -a

Cờ -a, là viết tắt của tất cả, cho phép bạn tự động xếp tất cả các tệp đã sửa đổi để được cam kết.

Giả sử bạn có một tệp tên là CONTRIBUTORS.md mà bạn đã cam kết vào kho lưu trữ của mình. Nếu bạn thay đổi tệp này, bạn có thể sử dụng lệnh git commit -a để hiển thị và thêm các thay đổi vào kho lưu trữ của bạn.

Sử dụng cờ -a cho phép bạn bỏ qua việc chạy “git add” trên tất cả các tệp đã thay đổi. Điều này là do cờ -a hướng dẫn git để hiển thị tất cả các tệp đã sửa đổi. Tuy nhiên, cờ -a sẽ không hiển thị bất kỳ tệp mới nào. Vì vậy, nếu bạn tạo một tệp có tên “README.md”, nó sẽ không được phân giai đoạn trừ khi bạn chạy “git add” trước.

Đây là cú pháp cho cờ -a:

git commit -a

Lệnh này sẽ tự động sắp xếp tất cả các tệp đã sửa đổi để được cam kết trong kho lưu trữ của chúng tôi.

git cam kết -m

Có lẽ cờ phổ biến nhất được sử dụng với git commit là cờ -m. Cờ -m, viết tắt của message, được sử dụng để thêm một thông báo cam kết vào một cam kết.

Khi bạn sử dụng lệnh git commit mà không có cờ -m, một trình soạn thảo văn bản sẽ được mở để bạn có thể viết tin nhắn, như chúng ta đã thảo luận trước đó. Tuy nhiên, sử dụng cờ -m cho phép bạn bỏ qua việc mở trình soạn thảo văn bản bằng cách chỉ định trực tiếp một thông báo cam kết.

Đây là cú pháp để sử dụng lệnh git commit với cờ -m:

git commit -m "feat: commit message"

Trong lệnh này, chúng tôi chỉ định cờ -m để cho biết chúng tôi muốn thêm thông báo cam kết trực tiếp vào cam kết của mình (thay vì mở trình soạn thảo văn bản nơi chúng tôi thêm thông báo). Sau đó, chúng tôi đặt thông điệp cam kết của mình trong dấu ngoặc kép theo sau cờ -m. Trong trường hợp này, thông điệp cam kết của chúng tôi là "feat:cam kết thông điệp".

Ví dụ về cam kết Git

Hãy xem qua một ví dụ để minh họa cách bạn có thể sử dụng lệnh git commit.

Giả sử chúng tôi đang làm việc trên một dự án và chúng tôi vừa chỉnh sửa tệp app.py trong dự án của mình. Chúng tôi đã thực hiện tất cả các thay đổi mà chúng tôi muốn thực hiện đối với tệp và chúng tôi đã sẵn sàng tạo cam kết cho tệp.

Bước đầu tiên là thêm tệp vào vùng dàn bằng cách sử dụng git add. Bạn có thể làm như vậy bằng cách sử dụng mã này:

git add app.py

Bây giờ tệp app.py đang ở trong khu vực tổ chức. Điều này có nghĩa là chúng tôi có thể cam kết nó vào mã của chúng tôi khi chúng tôi đã sẵn sàng.

Chúng tôi đã thêm một chức năng mới được gọi là “runApp ()” trong tệp app.py của chúng tôi, mà chúng tôi muốn cam kết với kho lưu trữ cục bộ. Chúng tôi có thể làm như vậy bằng cách sử dụng mã này:

git commit -m "feat: Add runApp() function"

Lệnh này tạo một cam kết với các thay đổi được thực hiện đối với tệp app.py của chúng tôi. Thông báo được liên kết với cam kết của chúng tôi là “feat:Thêm hàm runApp ()”, mô tả ngắn gọn những thay đổi mà chúng tôi đã thực hiện đối với kho lưu trữ của mình.

Sửa đổi cam kết Git

Lệnh git commit cũng cho phép sửa đổi commit trước đó. Bạn có thể sửa đổi cam kết trước đó bằng cách sử dụng tùy chọn –amend.

Giả sử chúng ta vừa tạo cam kết của mình và chúng tôi quên thêm tệp __init__.py vào cam kết của mình. Chúng tôi có thể sửa đổi cam kết ban đầu của mình để tệp của chúng tôi được bao gồm bằng cách sử dụng mã này:

git add __init__.py
git commit --amend -m "feat: Add runApp() function and update init file"

Điều này sẽ sửa đổi cam kết trước đó của chúng tôi để bao gồm tệp __init__.py và sẽ sửa đổi cam kết của chúng tôi để sử dụng thông báo cam kết mới mà chúng tôi đã chỉ định trong lệnh trên.

Cờ –amend thường được các nhà phát triển phần mềm sử dụng vì bạn dễ mắc lỗi khi tạo phiên bản phần mềm. Ví dụ:bạn có thể quên chuyển một tệp cho một cam kết hoặc bạn có thể mắc lỗi đánh máy khi viết thông báo cam kết hoặc thông báo cam kết của bạn có thể không bao gồm một thay đổi lớn mà bạn đã thực hiện đối với mã của mình.

Do đó, bạn có thể sẽ sử dụng cờ –amend thường xuyên khi bạn đang phát triển phần mềm.

Viết một thông điệp cam kết tốt

Như chúng ta đã thảo luận, việc viết một thông báo cam kết là bắt buộc khi bạn đang sử dụng lệnh git. Mặc dù về mặt kỹ thuật, một thông điệp cam kết có thể bao gồm bất cứ thứ gì bạn muốn, nhưng bạn nên dành một chút thời gian để suy nghĩ về những gì bạn muốn đưa vào thông điệp cam kết của mình.

Mặc dù không có quy tắc nào về cách bạn có thể viết một thông điệp cam kết tốt, nhưng có một số phương pháp hay nhất thường được các nhà phát triển sử dụng để đảm bảo họ viết thông điệp cam kết nhất quán và mang tính mô tả.

Dưới đây là một số điều bạn cần lưu ý khi viết thư cam kết git:

  • Viết hoa dòng chủ đề của thông báo cam kết
  • Giới hạn dòng chủ đề trong 50 ký tự
  • Sử dụng phần nội dung của cam kết để giải thích những gì bạn đã thay đổi (thay vì tại sao)
  • Giữ mỗi dòng trong phần nội dung của cam kết có ít hơn 72 ký tự.

Tuân theo các quy tắc này sẽ cho phép bạn viết các thông báo cam kết dễ đọc hơn, dễ hiểu hơn.

Ngoài ra, bạn có thể muốn tham khảo các vấn đề khác hoặc kéo các yêu cầu trong thông báo cam kết của mình. Ví dụ:nếu một cam kết giải quyết vấn đề # 22 trong một kho lưu trữ, bạn có thể đặt tiêu đề cho cam kết của mình là "sửa chữa:giải quyết vấn đề # 22" và bao gồm mô tả trong phần nội dung của cam kết về những gì bạn đã thay đổi để giải quyết vấn đề.



Kết luận

Lệnh git commit được sử dụng để di chuyển các tệp từ khu vực dàn dựng sang vùng cam kết. Lệnh này được chạy sau git add, được sử dụng để thêm tệp vào vùng dàn. git commit tạo ra một ảnh chụp nhanh các thay đổi được thực hiện đối với kho lưu trữ Git, sau đó có thể được đẩy lên kho lưu trữ chính khi nhà phát triển sẵn sàng thực hiện.

Hướng dẫn này đã thảo luận về cách sử dụng lệnh git commit để thực hiện các thay đổi đối với kho lưu trữ Git. Giờ đây, bạn đã được trang bị kiến ​​thức cần thiết để bắt đầu sử dụng lệnh git commit như một chuyên gia!