git-subtree
хорош, но, вероятно, это не тот, который вам нужен.
Например, если projectA
является каталогом, созданным в B, после git subtree
,
git log projectA
перечисляет только одно сообщение: слияние. Коммиты из объединенного проекта предназначены для разных путей, поэтому они не отображаются.
Ответ Greg Hewgill близок, хотя на самом деле он не говорит, как переписать пути.
< hr>Решение на удивление просто.
(1) В A,
PREFIX=projectA #adjust this
git filter-branch --index-filter '
git ls-files -s |
sed "s,\t,&'"$PREFIX"'/," |
GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info &&
mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE
' HEAD
Примечание: Это перезаписывает историю, поэтому, если вы намереваетесь продолжать использовать это репо A, вы можете сначала клонировать (копировать) его исходную копию.
(2) Затем в B запустите
git pull path/to/A
Voila! У вас есть каталог projectA
в B. Если вы запустите git log projectA
, вы увидите все коммиты с A.
В моем случае мне нужны два подкаталога: projectA
и projectB
. В этом случае я также сделал шаг (1) на B.
Законно выполнить Сервер Mac OS X в виртуальной машине на аппаратных средствах Apple. Все другие формы виртуализации Mac OS X в настоящее время запрещаются.
По закону необходимо купить Mac. "Возможно" работать (по крайней мере, Tiger) в VMware - опыт не оптимален, но можно сделать это. Также возможно выполнить OS X на аппаратных средствах ПК; однако, это - упражнение в недопустимом программном обеспечении и взломы.
Я выполнил OSX под VMware, и я могу сказать Вам с уверенностью, что это не среда, в которой Вы нашли бы удобным для разработки приложений. Это было едва (не действительно) применимо для тестирования Mac определенные ошибки браузера, которые не могли быть воспроизведены в Safari в Windows.
С другой стороны, если бы Ваши аппаратные средства поддерживаются OSx86, можно выполнить его исходно на разумных скоростях, и я ожидал бы, что это сделает довольно хорошую dev среду.
Для всех случаев я собираюсь предположить, что Вы имеете легальную лицензию OS X и не возражаете против легальной неоднозначности выполнения его на аппаратных средствах, которые лицензия явно запрещает (законность неясна, imo, но я действительно думаю, что Вы были бы в порядке пока не пиратская копия).
К сожалению, нет никакого легального способа выполнить OS X в виртуальной машине.
Для разработки приложений для iPhone Вы, вероятно, не нуждаетесь в особенно раскормленной машине, поэтому возможно, изучаете захват мини-Mac? Они - самые дешевые Mac, которые Вы можете получить и должны, вероятно, быть очень хорошо для того, чтобы сделать работу iPhone. Плюс, теперь у Вас есть Mac, который можно использовать для тестирования других вещей также!:)