2012-01-06 20 views
6

Khi bạn cam kết trong một mô-đun con git, bạn cần phải đi đến siêu dự án để thực hiện cam kết thứ hai, là băm mới của mô-đun con.Tự động cam kết git submodule băm trong siêu dự án

Điều này cực kỳ khó chịu, dễ quên và có thể gây ra mọi vấn đề nếu bạn không làm điều đó.

Những gì tôi muốn làm là:

  1. Cam kết những thay đổi trong submodule tôi
  2. đã băm cam kết tự động trong các siêu dự án
  3. Có cả submodule và các siêu dự án đẩy lên nguồn gốc từ xa của họ ('git push')

Cách tốt nhất để tìm hiểu xem bạn đang ở trong mô-đun con, nơi siêu dự án, vv và tự động hóa điều này?

Có thể một số loại móc hậu cam kết trong mô-đun con?

Trả lời

5

Bạn đã thử git-slave chưa? Đây chính xác là những gì nó được thiết kế để làm.

Bạn cũng có thể tự mình viết kịch bản. Lưu ý rằng có 2 tùy chọn trên lệnh git có thể giúp ích rất nhiều: --work-tree--git-dir. Sử dụng chúng, bạn có thể hành động trên bất kỳ repo nào mà không cần rời khỏi thư mục hiện tại.

Sau đó, cũng có git submodule foreach --recursive git push.

+0

lạ, không được thăng hạng? 1, ít nhất. Tôi không biết về bất kỳ lệnh nào trong số này;) –

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