2015-12-11 3 views
2

У меня есть хост-система Windows 7, где я хочу использовать бродячую виртуальную машину с стеком LAMP scotch box. Репозиторий проекта требует символических ссылок (*), которые меняются непосредственно после того, как я клонировал репозиторий через ssh.Файлы, измененные непосредственно после git clone в общую папку с использованием Vagrant на хосте Windows

  • Я клонировать репозиторий (на гостя) после подключения через vagrant ssh
  • Репозиторий получает клонировали в общую папку (это, кажется, проблема)
  • После этого git status (на гостя) говорит, что все мои символические ссылки были изменены

Я уже проверил свои конфигурации git и изменил его, как было предложено в answers from this question. Ничего не помогло.

Тем не менее,, когда я клонировал репозиторий в другую, а не общую папку VM, изменений файла вообще нет.

Итак, как я могу предотвратить изменение файлов в общей папке? (Я боюсь, что удаление символических ссылок не представляется возможным ...)

Edit: Пример для измененного линке

git diff script/zend отголоски:

diff --git a/script/zend b/script/zend 
--- a/script/zend 
--- b/script/zend 
@@ -1 +0,0 @@ 
-../source/solar/script/solar 
\ No newline at end of file 

(*) Как симлинки не допускается default Я изменил свой бродячий файл, как описано в this answer.

+0

Что значит, что они получают chan ged? каковы различия? у вас есть какой-либо git-крючок? –

+0

Я добавил пример в свой вопрос. Не существует git-крючка. Спасибо за помощь – user2476294

+0

У меня такая же проблема. Все символические ссылки внутри репо сообщаются как имеющие одну строку, удаленную от них, и что одна строка является назначением символической ссылки. –

ответ

0

Является ли ваш гостевой VM Linux? Кодировка Linux и Windows возвращает по-разному. DOS использует возврат каретки и линию («\ r \ n») в качестве строки, заканчивающейся, в которой Unix использует только фид строки («\ n»).

0

Вы пытаетесь разделить каталог в разных средах os. Каждая ОС обрабатывает это по-разному и будет работать на ней по-разному. Я предлагаю вам не пытаться обрабатывать git-репо с обеих сторон через общую папку.

Вместо этого одним из способов исправить это будет размещение открытого хранилища в общей папке и клонирование локально на виртуальную машину (и на окна). тяни/толкай необходимые изменения

от хозяина (мерзавца для окон?)

cd shared/folder 
mkdir <repo name>.git #.git isn't really needed but is typical 
cd <repo name>.git 
git init --bare 

cd <current repo location> 
git remote add origin <path to repo.git folder> 
git push --all 

из виртуальной машины

cd ~ 
git clone <path to shared folder bare repo.git> 

обязательно установить имя пользователя и адрес электронной почты, на VM, чтобы коммиты были привязаны к правильным людям (с использованием git config)

 Смежные вопросы

  • Нет связанных вопросов^_^