Мне любопытно, есть ли у кого-нибудь хорошие решения для точного построения дат до 1000 года нашей эры - особенно лет 1 - 100 нашей эры. git --git-dir =. --work-tree = / Users / braitsch / projects / project1 init После запуска ...
Я пытаюсь настроить репозиторий git с заданным вручную рабочим деревом через:
cd /Users/braitsch/repos/project1
git --git-dir=. --work-tree=/Users/braitsch/projects/project1 init
После выполнения вышеуказанного я могу добавить файлы, расположенные в "/ Users / braitsch / projects / project1"
через: git add somefile или git add.
Коммиты работают нормально, как и вызовы «git branch»
Однако git stash list
выдает следующую ошибку:
фатальный: /usr/local/Cellar/git/1.7.4.4/libexec/ git-core / git-stash не может использовать без рабочего дерева.
Не поддерживается ли хранение в пользовательских деревьях работы?
git config --local core.worktree
echoes out : /Users/braitsch/projects/project1
Мы будем благодарны за любые мысли!
-------- ОБНОВЛЕНИЕ ------- -
Как отметил ниже @jleedev, действительно возникает ошибка при попытке вызвать «git stash» извне рабочего дерева. Однако мой обходной путь - просто cd в рабочее дерево, а затем вызвать stash, предварительно указав путь к gitdir. Я знаю, это неудобно, но для команды stash работает следующее:
git --git-dir="projects/proj1/.git" stash list
Эта проблема, похоже, не мешает другим стандартным командам, таким как add, commit, branch и т. Д. Просто «спрятать», насколько я могу судить.
Если вы хотите отойти от стандартной структуры, в которой ваша папка .git вложена в ваше рабочее дерево, вам могут быть полезны следующие шаги:
cd в папку репозитория git и выполните:
git --git-dir =. --work-tree = "путь к папке вашего проекта" init
Это запустит новый репозиторий и свяжет его с вашей внешней папкой рабочего дерева.
Чтобы запустить стандартные команды добавления, удаления, ветвления, фиксации, cd в репозиторий git и выполните свою команду как обычно. Однако, чтобы запустить stash, убедитесь, что ввели cd в ваше рабочее дерево , а затем запустите stash, как я отмечал выше, указав перед командой путь к вашему gitdir.