Звучи сякаш искате да напишете някаква post-commit
кука. Но това може да е твърде фино за вас. Просто напишете автоматичните стъпки на .git/hooks/post-commit
и направете този изпълним файл. Можеш
git --work-tree PATH_FOR_THIRD_PARTY checkout HEAD -- PUBLIC_FILES
за актуализиране на PUBLIC_FILES за вашите разработчици на трети страни в PATH_FOR_THIRD_PARTY, където предполагам, че публикувате данните за разработчиците на трети страни.
След това, за да актуализирате компилираните резултати, трябва да напишете някакъв Makefile (или подобен), за да произведете изхода в PATH_FOR_THIRD_PARTY от вашите скрити файлове.
Ако сте избрали правилното оформление за вашето хранилище, можете просто да използвате директория PUBLIC_FILES, за да проверите всички PUBLIC_FILES до PATH_FOR_THIRD_PARTY/PUBLIC_FILES
.
Имайте предвид, че с този метод оформлението на директорията ще бъде еднакво в директорията за публикуване и във вашето хранилище.
Между другото.: Ако разработчик трета страна промени PUBLIC_FILE в тяхната директория, можете просто
git --work-tree PATH_FOR_THIRD_PARTY add -u
Използвам този метод често, за да публикувам файлове от git хранилище. Можете просто
git config -g alias.public '!git --work-tree $(git config --get public.root) '
git config public.root 'PATH_FOR_THIRD_PARTY'
така че можете да кажете
git public diff --name-only
or
git public status -s -uno
Мисля, че този метод е известен като или подобен на отделно работно дърво.
Ако използвате този метод, трябва да проверите файловете във вашето локално хранилище, след като сте направили публичен ангажимент:
git public add -u; git public commit -m "John Doe changed something"
git checkout HEAD -- .
Последният ред актуализира вашето локално работно дърво, за да се приведе в съответствие с ангажимента, който сте направили по-горе.
person
ikrabbe
schedule
19.06.2015