Проблема: иногда, но не каждый раз, Git удаляет каталог static
репо.Мы не уверены, что это вызывает, но, похоже, это происходит при слиянии между ветвями или иногда даже при проверке ветвей.Он делает это без запроса и ест отслеживаемые файлы.
Фон:
- У меня есть (частный) проект, который имеет несколько веток 'release', 'development',несколько характерных линий.
- Мы двое (я и @stevejalim) работаем над репо.Эта проблема случается с нами обоими.
- Я использую только командную строку для своих команд git;Стив использует смесь командной строки и Git Tower.
- Это проект Django с каталогом
static
.Мы могли бы git rm
редактировать каталог static
в некоторый момент в прошлом или поместить его в .gitignore
, но не в последнее время.И у главы нашего отдела разработки нет static
в .gitignore
и есть файлы в static
отслеженных. - Это случается так редко, что мы не уверены, что мы что-то делаемили периодически возникающая проблема, ошибка в Git или поврежденное дерево
- Это может произойти только при объединении другой ветви обратно в
develop
.Но ветви всегда разветвляются от develop
и обратно в develop
.Но мы не уверены. Мы используем git-flow, но проблема возникает и при использовании не-git-flow команд.
В качестве примеров того, когда это может ударить:
1) У Стива была ветвь разработки, которая была чистой (без изменений для коммита или этапа) и стабильной.Он вырезал новую версию с git flow release start|finish
, и в процессе (возможно, обратное слияние с мастером для разработки) все / статическое / дерево было удалено.
2) Стив восстановил удаление, отменив изменения(чтобы по существу восстановить файл).Но затем Стив просто переключился с мастера обратно на разработку, и / static / dir снова был зарезан (это было с Git Tower)
3) Иногда простое слияние из ветви объектов для разработки в качестве временного слияния может вызватьЭто.Похоже, это происходит чаще всего при вырезании нового релиза, хотя
Может ли это быть связано с тем, как мы исправляем zapping / static / dir?Каков наилучший способ удаления удаленных файлов?Кажется, что ни отмена локальных изменений, ни полный сброс к HEAD не излечивают ситуацию.Может ли ребаз помочь нам?
ОБНОВЛЕНИЕ Мы только что повторили это просто с git add .
- без смены веток, без слияния.Помогает ли это вообще диагностике?
Вот содержимое .git / config Стива:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = git@github.com:foobarbazbam/bar.git
[branch "master"]
remote = origin
merge = refs/heads/master
[gitflow "branch"]
master = master
develop = develop
[gitflow "prefix"]
feature = feature/
release = release/
hotfix = hotfix/
support = support/
versiontag =
[difftool "tower"]
cmd = \"/Applications/Tower.app/Contents/Resources/CompareScripts/kaleidoscope.sh\" \"$LOCAL\" \"$REMOTE\"
Вот содержимое .gitignore
:
.DS_Store
*.pyc
*.log
*.log.*
*.bak
*~
settings_local.py
/build/
/static_collected/*
/static/uploads/*
/static/theme_files/*
/static/picture/*
pip-log.txt
*.tmproj
*.dot
*.db
*.sublime-project
*.sublime-workspace
/docs/_*