2012-04-15 20 views
8

Tôi thích cam kết khá thường xuyên (và thậm chí ngẫu nhiên) khi tôi làm việc trên một số mã, bởi vì nếu tôi vít lên một nơi nào đó tôi luôn có thể quay trở lại những thay đổi của tôi.git: làm thế nào để "củng cố" các cam kết địa phương

Tuy nhiên, khi quyết định đẩy tất cả thay đổi vào kho lưu trữ chính, tôi không thích mọi người nhìn thấy tất cả các cam kết ngẫu nhiên, bởi vì một số chúng thực sự vô nghĩa với chúng, và nó làm cho cây thay đổi không cần thiết lâu .

Làm cách nào để "hợp nhất" tất cả các cam kết cục bộ của tôi trước khi tôi đẩy?

+3

Thuật ngữ thích hợp là cam kết "bẻ khóa". Điều đó sẽ giúp bạn tìm thấy câu trả lời bạn đang tìm kiếm. –

+2

Tôi không chắc chắn 100% nếu đây là những gì bạn đang làm, nhưng nó có vẻ như bạn có thể đang phát triển trên 'master' (hoặc bất kỳ chi nhánh chính là dành cho bạn). Nếu đây là những gì đang xảy ra, thì có lẽ bạn nên sử dụng phân nhánh tùy theo các phương pháp tiếp cận rebasing được mô tả dưới đây. Xem sách của Scott Chacon tại đây: http://progit.org/book/ch3-4.html – msandiford

+0

^^ những gì anh ta nói. – oyalhi

Trả lời

2

Làm một interactive rebase, điều này sẽ cho phép bạn sắp xếp lại, chỉnh sửa và chỉnh sửa các cam kết đối với nội dung trái tim của bạn trước khi đẩy.

2

git rebase -i

Trình chỉnh sửa tương tác sẽ được nhắc.

Thay đổi tất cả các cam kết mà bạn muốn củng cố để "bí"

Thoát khỏi biên tập

+0

Lưu ý rằng bạn cũng phải chỉ định ID cam kết của cam kết cuối cùng _before_ những người bạn muốn bí danh: 'git rebase -i ' – mklement0

Các vấn đề liên quan