У меня есть потребность в распределенной синхронизации файлов. Таким образом, в первую очередь, какие-либо предложения? Моя идея является мерзавцем, так как скорость является проблемой.
Мое знание мерзавца является довольно элементарным хотя, таким образом, вот то, что я сделал.
Я загрузил портативного мерзавца (я нахожусь на ПК так msysgit). Я поместил копию в c:\root\git и копию в c:\root\git c:\client\git\
Я создал каталог c:\temp\root\content и создал некоторые файлы в нем
c:\root\content>..\git\bin\git.exe init
c:\root\content>..\git\bin\git.exe add *
c:\root\content>..\git\bin\git.exe commit -f
c:\client>..\git\bin\git.exe clone file:///c:\root\content
Это создает каталог содержания, но это пусто! Файлы, переданные корню, не там.
Также, когда я делаю команду получения по запросу, я добираюсь
C:\temp\client\content\content>c:\temp\client\git\bin\git.exe pull
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Your configuration specifies to merge the ref 'master' from the remote, but no such ref was fetched
Очевидно я пропускаю понятие. Что продолжается?
Git может быть хорошим инструментом для синхронизации источника между разработкой и производством, по одной причине: он облегчает «горячее исправление» в производстве и проверяет исправление обратно в дерево. Конечно, вы всегда должны воспроизвести ошибку в среде разработки или тестирования и исправить его там, но иногда вы не можете.
Вместо git add *
используйте git add.
Используйте git status
, прежде чем подтверждать, что соответствующие файлы находятся в стадии фиксации.
Я просто пытался воспроизвести ваши шаги.
git коммит -f
ничего не сделал с версией 1.6.5.1, которую я только что установил. Но он должен выдавать длинное сообщение об ошибке.
mkdir repo1 repo2
cd repo1
git init
( create files )
git add *
git commit -m "initial commit"
cd ..\repo2
git clone ..\repo1 .
и файлы, которые я создал в repo1
появляются в repo2
.