2013-01-21 11 views
9

Co oznacza ta zielona ikona w Github? Wiem, że link commit przenosi mnie do innego repozytorium. Muszę zrobić coś podobnego. Czy to jest dowiązanie symboliczne? Lub submoduł? Będąc wciąż trochę nowym do git, zastanawiam się, jak sam mogę to powtórzyć. Po utworzeniu w jaki sposób zaktualizować tę zależność zewnętrzną?Co oznacza ta zielona ikona w repozytorium github?

Git repository - what's up with the green icon?

+1

Wygląda jak submoduł do mnie. Co widzisz w pliku '.gitmodules'? Co masz na myśli mówiąc "zaktualizuj tę zewnętrzną zależność"? –

+1

Tak, to submoduł ... więcej o nich tutaj: http://git-scm.com/book/en/Git-Tools-Submodules –

+0

aha. Widzę: [submodule "page-js"] path = page-js url = https://github.com/visionmedia/page.js.git – TimDog

Odpowiedz

12

To jest modułem: link do konkretnego popełnić w innym repozytorium pod innym adresem URL. Repozytorium zostanie sklonowane po uruchomieniu git submodule update --init, a następnie odwołany commit (784fd39) zostanie wyewidencjonowany.

Możesz tworzyć submoduły używając git submodule add <url> <directory>, które dodadzą odnośnik do modułu dla podanego adresu URL w określonym katalogu, w bieżącym katalogu roboczym.

+0

wielkie dzięki - zakładając, że plik jest aktualizowany z innym zatwierdzeniem, jak zrobić Ponownie zainicjuję moduł, aby przejść do najnowszego zatwierdzenia? Czy uruchamia 'aktualizację submoduła git' po tym, jak' init' ma już automatyczne połączenie z modułem częściowym do ostatniego zatwierdzenia? – TimDog

+0

@TimDog Nie, to zaktualizuje wyewidencjonowany klon, aby wskazywał na commit, do którego odwołuje się moduł. Aby zaktualizować sklonowane repozytorium do ostatniego zatwierdzenia, po prostu 'cd' do tego repozytorium i uruchom' git pull --ff-only', jak zwykle. Następnie musisz "git add" zmienić moduł i "git commit", aby zmiana została zatwierdzona w twoim zewnętrznym repozytorium. (Które zatwierdzenie do wyewidencjonowania w module częściowym jest tak samo historią repozytorium, jak cokolwiek innego.) – cdhowie

+0

@TimDog Byłbym zaskoczony, gdyby to zadziałało - submoduły nie mogą odwoływać się do pojedynczych plików, ani nie mogą odwoływać się do podkatalogów. Otrzymasz błąd, gdy "git submodule update --init", ponieważ ten adres URL wcale nie wskazuje na repozytorium. – cdhowie

-1

Możesz użyć tej metody here. Jest to od innego pytania w So, Ten temat jest What does a grey icon in remote GitHub mean Możesz zignorować krok submodule, który jest bardzo skomplikowany.

+0

Czy możesz dodać niektóre informacje z tego artykułu do swojej odpowiedzi, aby można je było zaakceptować w społeczności SO? –

Powiązane problemy