Trước khi đi vào bài viết, gửi tới các bạn lời chúc sức khỏe cho một năm mới 2024 thật cháy với ngọn lửa học tập, công việc vừa ý, túi tiền nặng ký nhé ♥️😘
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é. Cảm ơn bạn đã đọc bài.