+8

Chia sẻ "code change" với đồng nghiệp sử dụng git diff

Hello, long time no see. Chuyện là hôm nay mình muốn chia sẻ với các bạn một chuyện, ban đầu mình nghĩ là chuyện này chắc ai cũng biết rồi nên không cần viết làm chi, cho đến cuối tuần vừa rồi mình gặp một case khó đỡ ở công ty...

Vấn đề

Chuyện là có 2 nhân viên nọ - Tý và Tèo được phân công làm chung 1 issue với nhau, vì Tý nhận issue này trước vài ngày nên đã làm được kha khá (code change cũng đã kha khá) nhưng code vẫn đang còn lỗi chưa thể chạy được, Tèo lúc này được phân công vào sau, mới nhắn qua hỏi Tý: "Anh ơi, a share cho e chỗ a làm đi, để e cùng nghiên cứu". Tý cũng muốn share lắm, vì có người phụ làm mà, nhưng khổ nỗi, chỗ này chưa ra thể thống gì cả, push lên không ổn lắm (Tý nghĩ vậy), thế là Tý mới bèn nói: "Vậy a copy chỗ a change thư mục rồi zip lại gửi cho e nhé". Tý bẽn lẽn gật đầu, cả hai kê ghế ngồi bên cùng nhau lựa file đã change để copy ra một thư mục riêng...

Chắc đang copy được một lúc thì mình có vi vu qua ngía thử (vốn mình nhiều chuyện), cũng may là ae chưa copy xong nên mình nhìn qua thì hiểu ý tưởng ngay. Lúc này bản tính thích thể hiện ùa về, á lộn, thích giúp đỡ (mà họ có nhờ mình đâu nhỉ), mình mới bảo, ủa sao hai người không xài git diff

Ủa, git diff là gì vậy, giúp đỡ được hai ae ni không?

Giới thiệu git diff

Lệnh này search google là ra ngay, về cơ bản lệnh này sẽ liệt kê sự thay đổi hiện tại với commit cuối, hoặc giữa các commit hoặc giữa các branch với nhau và còn vài case nữa.

Chi tiết về tham số của git diff ở đây

Dùng git diff giải quyết vấn đề share thay đổi chưa commit tới người khác

Quay lại cách giải quyết vấn đề chính, thay vì copy từng file có thay đổi ra 1 thư mục khác, bây giờ chúng ta có thể dùng lệnh git diff. Cách dùng như sau:

bash

git diff > tên_file.diff

Lệnh này sẽ ghi tất cả thay đổi ra 1 file với cấu trúc <tên file.diff> chúng ta thêm .diff vì 1 số tool quản lý git có thể đọc được.

Sau đó chỉ cần gửi file này cho đồng nghiệp và đồng nghiệp chỉ cần dùng lệnh:

bash

git apply tên_file.diff

Là tất cả change của người này đã được share cho người kia.

Có một lưu ý nhỏ là khi xài lệnh này bộ source của cả hai tốt nhất có cùng last commit như nhau vì nếu khác, khi apply sẽ bị lỗi.

Hạn chế khi dùng cách này

File diff để lâu mới apply khả năng sẽ không xài được nữa (vì có quá nhiều commit mới đã change code), nên tốt nhất một khi đã tạo ra thì xài luôn. Nhìn hơi loạn nếu bạn mở file .diff ra để xem, nhưng nếu bạn pro thì không vấn đề gì, thậm chí nhìn vào file này bạn còn thấy được nhiều cái hay ho của git.

Tóm lại

Viết tới đây thôi. Hi vọng bài giới thiệu cách share code change nhưng không muốn commit tới đồng nghiệp với lệnh git diff này giúp ích được bạn, mình thấy cũng không to tát lắm, nhưng có thể ai đó sẽ cần. Hẹn gặp lại bạn trong bài viết sắp tới. À, nhân dịp bày viết đầu tay 2024 của mình, mình muốn gửi tới các bạn lời chúc sức khỏe cho một năm 2024 công việc như ý, tiền tài vào ví nhé. Nếu thấy hay hãy like share bài viết này nhé. Cảm ơn bạn đã đọc bài.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí