Krótka odpowiedź brzmi: nie. Chodzi o to, że wiesz na pewno, że konkretne zatwierdzenie modułu częściowego będzie działało z twoim projektem i nie chcesz, aby jakieś niezdefiniowane lub nieoczekiwane zachowanie przychodziło, wykonując aktualizacje w locie. Moduł podrzędny jest bezpośrednio reprezentowany przez dwie rzeczy: wpis w. Gitmodules i link gitlink, który jest odniesieniem do SHA1 pożądanego zatwierdzenia modułu podległego. SHA1, nie zmieniaj nazwy.
To, o co prosisz, to naprawdę superprojekt, który ma nie ma pojęcia, co znajduje się w module. Pomyśl o tym: różne klony twojego projektu mogły zaktualizować moduł w różnym czasie, a skończyłyby się jego różnymi wersjami, a następnie, gdyby w projekcie zostały dokonane zatwierdzenia, musiałyby one rejestrować różne zatwierdzenia w module częściowym. Kiedy się połączysz, będziesz musiał po prostu zignorować to, co mówią, i pociągnąć ponownie. Rezultat jest taki, że twoją prośbą jest unikanie całej idei submodułów: wiedzieć, co masz. Jeśli powiesz, że używasz "mistrza", wrócisz za dwa miesiące i nie będziesz miał pojęcia, co to znaczy!
Jeśli chcesz zawsze uzyskać aktualną gałąź główną, lepiej zrób to sam. Napisz skrypt, aby pobrać wszystkie submoduły i uruchamiaj je od czasu do czasu, zatwierdzając zaktualizowane wersje. (Najpierw przetestuj!) Chodzi o to, że z submodułami, dla każdego zatwierdzenia superprojektowego, musisz dokładnie wiedzieć, jakiej wersji podprojektu używasz. To twój wybór, jak często chcesz aktualizować wersję modułu częściowego; może być codziennie, jeśli chcesz.
Alternatywą byłoby dodanie katalogu (-ów) do (-ich) modułu (-ów) do twojego gitignore i napisanie krótkiego skryptu, aby je zaktualizować (i prawdopodobnie również je sklonować). Kosztowałoby to dla ciebie znajomość wersji, którą miałeś w przeszłości.
http://gitref.org/ strona Git Reference to dobry sposób na rozpoczęcie, jeśli nie masz doświadczenia w git. –
@Saher: To jest bardzo szczegółowe pytanie, a nie tylko ogólne "Jestem nowy, by oderwać". – Cascabel
Myślę, że odpowiedź brzmi nie. Git przechowuje nazwę zatwierdzenia, gdy zapisuje informacje o module częściowym, aw moim przypadku napisałem zestaw skryptów do wyciągania, dodawania, zatwierdzania i wypychania, który robi dokładnie to, co chcę zrobić z submodułami. – sinelaw