В этом определенном экземпляре (куда Ваша строка собирается содержать дефисы) я преобразовал бы текст к этой серверной стороне:
<div style="width:150px;">
<span>12333-</span><span>2333-</span><span>233-</span><span>23339392-</span><span>332332323</span>
</div>
git rm --cached the_submodule_path
.gitmodules
, или, если это единственный подмодуль, удалить файл. git add the_submodule_path
Я пока не нашел более простого способа. Вы можете сжать 3-5 в один шаг с помощью git commit -a
- вопрос вкуса.
Если все, что вам нужно, это поместить код подмодуля в основной репозиторий, вам просто нужно удалить подмодуль и повторно добавить файлы в основное репозиторий:
git rm --cached submodule_path # delete reference to submodule HEAD (no trailing slash)
git rm .gitmodules # if you have more than one submodules,
# you need to edit this file instead of deleting!
rm -rf submodule_path/.git # make sure you have backup!!
git add submodule_path # will add files instead of commit reference
git commit -m "remove submodule"
Если вы также хотите чтобы сохранить историю подмодуля, вы можете проделать небольшую уловку: «объединить» подмодуль с основным репозиторием, чтобы результат был таким же, как и раньше, за исключением того, что файлы подмодуля теперь находятся в основном репозитории.
В основном модуле вам нужно будет сделать следующее:
# Fetch the submodule commits into the main repository
git remote add submodule_origin git://url/to/submodule/origin
git fetch submodule_origin
# Start a fake merge (won't change any files, won't commit anything)
git merge -s ours --no-commit submodule_origin/master
# Do the same as in the first solution
git rm --cached submodule_path # delete reference to submodule HEAD
git rm .gitmodules # if you have more than one submodules,
# you need to edit this file instead of deleting!
rm -rf submodule_path/.git # make sure you have backup!!
git add submodule_path # will add files instead of commit reference
# Commit and cleanup
git commit -m "removed submodule"
git remote rm submodule_origin
Результирующий репозиторий будет выглядеть немного странно: будет более одной начальной фиксации. Но это не вызовет никаких проблем для git.
В этом втором решении у вас будет большое преимущество, заключающееся в том, что вы по-прежнему можете запускать git blame или git log для файлов, которые изначально находились в подмодулях. Фактически, вы здесь переименовали множество файлов в одном репозитории, и git должен это определить автоматически. Если у вас все еще есть проблемы с git log, попробуйте некоторые параметры (--follow, -M, -C), которые лучше обнаруживают переименование / копирование.