Tôi có một git submodule trong repo git chính của tôi. Theo tôi hiểu nó, repo chính lưu trữ một giá trị SHA (một nơi nào đó ...), trỏ đến cam kết cụ thể của submodule rằng nó được "liên kết với".Làm thế nào để trở lại một con trỏ Submodule Git đến cam kết được lưu trữ trong kho chứa?
Tôi đã truy cập vào mô-đun con của mình và nhập git checkout some_other_branch
. Tôi không biết tôi cam kết từ đâu.
Tôi muốn hoàn nguyên con trỏ đó để repo chính và mô-đun con được đồng bộ lại.
Bản năng đầu tiên (có thể ngây thơ) của tôi là để nói git reset --hard
- có vẻ như hoạt động với mọi thứ khác. Trước sự ngạc nhiên của tôi, nó không hoạt động cho kịch bản này. Vì vậy, tôi đã tìm ra rằng tôi có thể gõ git diff
, lưu ý ID SHA mà con trỏ submodule sử dụng để có, và sau đó đi vào submodule và git checkout [SHA ID]
... nhưng chắc chắn phải có một cách dễ dàng hơn?
Vì tôi vẫn đang tìm hiểu về các mô-đun con git, vui lòng sửa thuật ngữ của tôi nếu có các từ cho khái niệm mà tôi không biết.
Bằng cách nào đó, cho tôi rằng tôi cần để thêm '--init'. Không có nó, các mô-đun con sẽ ở trong trạng thái với '(các commit mới)'. Mặc dù submodules của tôi đã được khởi tạo. – Ambidex
@Ambidex có tùy chọn '--init' là rất quan trọng trong tất cả điều này. Tôi đã nhận được nhắc nhở cho tên người dùng và mật khẩu kể từ khi submodules của tôi đã được nhân bản trên https. Tôi đã đi vào cả hai thư mục và thiết lập điều khiển từ xa để sử dụng giao thức 'ssh' để kiểm tra. –