Header Ads

Hướng dẫn cách xóa thay đổi commit trên remote github

 Hướng dẫn cách xóa thay đổi commit trên remote github

delete commit github

Vào một ngày đẹp trời khi bạn đã trưởng thành :)) bạn bật chiếc máy tính thân yêu của mình lên và truy cập vào trang github.com và những ký ức thời còn trẻ lại ùa về như ngày nào. Bạn mở một repo ưa thích mà bạn đã bỏ rất nhiều cống hiến bấy năm nay, những dòng đòng code, những ý tưởng đã đi theo năm tháng giúp bạn trưởng thành như ngày hôm nay :)). Nhưng oh shit khi xem lịch sử commit trên github bạn tự hỏi thằng ngu nào đã tạo ra những dòng code những commit này. Bạn bàng hoàng vì tên người commit code chính là mình, và repo này đang được nhiều người chấp nhận và sử dụng code opensource của bạn tạo ra.

Thật may là bài viết này sẽ giúp bạn sửa lại "một chút" những gì bạn không muốn lưu lại "trong quá khứ"

Nào chúng ta cũng sắn cái quần lên và fix lại những sai lầm trong quá khứ nhé.

github

Nhìn vào đống commit trên nhánh master thì thiệt là đau lòng đúng không ? Sao chính mình lại tạo ra mấy cái comment và những đoạn code xàm lz thế này được, không thể để 500 ae biết đáng giá mình được, mình phải gộp 2 cái commit này lại để không ai biết mình commit gì chỉ biết kết quả cuối cùng mình làm là gì thôi hehe...

Github cũng cấp cho anh em một lệnh khá hay để reset commit, ví dụ trong trường hợp trên chúng ta muốn reset, xóa 2 commit có tên là : "fix something again" và "something wrong I will fix it".

git reset --soft HEAD~N

N: là số commit chúng ta muốn reset.

Ví dụ của mình muốn xóa hai commit là "fix something again" và "something wrong I will fix it" thì lệnh sẽ tương ứng là :

git reset --soft HEAD~2

Sau khi reset xong chúng ta có thể tạo một commit mới và tèng téng teng lịch sử đã bị thay đổi.

Ví dụ chúng ta muốn sửa hai commit trên thành một commit là: "Update guide for delete commit"

git commit -m "Update guide for delete commit"

git push origin <branch> -f

Có một thanh niên nào đó bảo nhưng tao còn muốn sửa cả code trong commit nữa, chứ sửa mỗi cái tên commit thì có ý nghĩ vẹo gì, tất nhiên việc đó cũng được viết trong bài viết này rồi :))

Sau khi chạy lệnh:

git reset --soft HEAD~2

500 AE tiện vào sửa luôn những sai lầm mình đã gây ra cho cộng đồng opensource.

Vậy cứ vào sửa như bình thường và kiểm tra file nào bị changed thì add vào git là được.

git status

git add <file>

Sau đó làm các bước tạo commit mới và push lên github như bình thường thôi anh em ạ.

git commit -m "Update guide for delete commit"

git push origin <branch> -f

Tận hưởng thành quả thôi nhỉ, kiểm tra xem commit đã được thay đổi chưa ?

git log

Hình ảnh mình đã làm nó như thế này:

Hướng dẫn cách xóa thay đổi commit trên remote github
Hướng dẫn cách xóa thay đổi commit trên remote github
Hướng dẫn cách xóa thay đổi commit trên remote github

Thanks.

No comments