Связанный .lib-файл связан с .dll
У меня была такая же проблема. Скажем, у меня есть проекты MyProject и TestProject. Я эффективно связал файл lib для MyProject с TestProject. Однако этот файл lib был создан, так как была построена DLL для MyProject. Кроме того, я не содержал исходный код для всех методов в MyProject, но только доступ к точкам входа DLL.
Чтобы решить проблему, я построил MyProject как LIB и связал TestProject с этим .lib-файлом (скопируйте вложенный файл .lib в папку TestProject). Затем я смогу снова создать MyProject как DLL. Он компилируется, поскольку lib, с которым связан TestProject, содержит код для всех методов в классах MyProject.
Выбор черри в git означает выбрать фиксацию из одной ветви и применить ее к другой.
Это контрастирует с другими способами, такими как merge
и rebase
, которые обычно применяют многие фиксации к другой ветви.
git checkout master
git cherry-pick <commit-hash>
NB:
git cherry-pick -x <commit-hash>
. Это приведет к созданию стандартизованного сообщения фиксации. Таким образом, вы (и ваши сотрудники) можете все еще отслеживать происхождение коммита и избегать конфликтов слияния в будущем. git notes copy <from> <to>
Дополнительные ссылки:
Выбор вишни в Git предназначен для применения некоторой фиксации из одной ветви в другую ветку. Это можно сделать, если вы, например. совершил ошибку и совершил переход в неправильную ветку, но не хочет объединять всю ветвь. Вы можете просто напр. верните фиксацию и вишню в другую ветвь.
Чтобы использовать ее, вам просто нужно git cherry-pick hash
, где hash
является хешем фиксации из другой ветви.
Для полная процедура: http://technosophos.com/2009/12/04/git-cherry-picking-move-small-code-patches-across-branches.html
Это как Скопировать (откуда-то) и Вставить (где-то), но для конкретных коммитов.
Если вы хотите сделать горячее исправление, например, вы можете использовать функцию cherry-pick
.
Сделайте свой cherry-pick
в ветке разработки и merge
, которые фиксируют ветвь релиза. Аналогичным образом сделайте cherry-pick
из ветви релиза для управления. Вуаля
Эта цитата взята из; Управление версиями с Git (действительно отличная книга, я рекомендую вам купить ее, если вы заинтересованы в git)
Изменить: поскольку этот ответ все еще производит впечатление, я хотел бы добавьте очень приятное в видеоролик об этом:
Youtube: Введение в Git cherry-pick
Использование git cherry-pick Команда git cherry-pick commit применяет изменения, введенные именованным фиксатором в текущей ветке. Он представит новую четкую фиксацию. Строго говоря, использование git cherry-pick не изменяет существующую историю в репозитории; вместо этого он добавляет к истории. Как и в случае с другими операциями Git, которые вносят изменения в процесс применения diff, вам может потребоваться разрешение конфликтов для полного применения изменений от данного коммита. Команда git cherry-pick обычно используется для ввода определенных коммитов из одной ветви внутри репозитория в другую ветку. Обычно используется переадресация в прямом или обратном порту из ветки обслуживания в ветку разработки.
blockquote>$ git checkout rel_2.3 $ git cherry-pick dev~2 # commit F, above
до: [/g2]
после: [/g3]
cherry-pick - это функция Git. Если кто-то хочет совершить определенные коммиты в одной ветви на целевую ветку, то используется вишня-выбор. git cherry-pick, как показано ниже.
git cherry-pick <commit id>
Здесь commit id является идентификатором активности другой ветки .Eg. git cherry-pick 9772dd546a3609b06f84b680340fb84c5463264f