Есть какая-то проблема с кодировкой в cmd в принципе. Погуглите нужную кодировку и конвертните батник в нее. Судя по количеству символов, он может ругаться на то, что не может найти команду git. Может она прописана в PATH для Git Bash, но не для cmd. Если в cmd набрать git, он его найдет?
mrusklon:
У Вас какая ОС?
Там в мануале "I’m using SourceTree (for Mac OSX)", может для Windows это не катит.
Если через консоль выполнить этот скрипт, так же передав параметры, что пишет?
Я данные для авторизации задавал в .git/config:
[git-ftp]
user = username
url = ftp://127.0.0.1/www/site-name
password = my_pass
И простой git ftp push работает без передачи кучи параметров. Нужно только находиться в папке репозитория. Это делает cd из первой строчки в моём скрипте.
Также стоит убедиться, что пути ко всем командам прописаны в PATH и они доступны глобально.
Sen Selesss: Если Вы начинаете в пустой папке, то нужен git init. Если ошибка та же самая, то папка непустая и там уже есть хранилище, в этом случае со второго шага начинайте.
Сергей: Я точно не знаю, но думаю он смотрит, отличается ли файл, который будет после переключения ветки, от того, который Вы начали менять: если да, он требует нетронутый файл без незафиксированных изменений. Если нет: то он просто оставляет текущий измененный файл (как бы переприменяет Ваши изменения на новой ветке). Таким образом, вероятно, такая ситуация действительно возникает при изменении файла в другой ветке. Но если закоммитить изменения, то переключение пройдёт нормально, несмотря на то, что в обеих ветках файл менялся. Это может спровоцировать конфликты при merge. А при переключении "чистых" веток (без незафиксированных изменений) всё должно быть нормально.
Ситуация возникла не из-за того, что файл был тронут в обоих ветках (это при merge происходит), а из-за того, что Git не хочет, чтобы Вы потеряли изменения.
Сергей: Тогда я не понял, зачем Вы задали вопрос. Что Вам тогда мешает сделать коммит / stash, раз Вы это знаете?
Да, бранчи - это обособленные друг от друга рабочие пространства, пока Вы не пытаетесь переключаться между ними, имея незакоммиченные изменения. Что, по-вашему, должен делать Git?
maagames.ru: Это всё публичные проекты, а ещё хотелось бы какого-то разделения доступа к проектам. Скажем так: корпоративный каталог бинарников только для сотрудников компании)
Разработчикам нет смысла хранить бинарники, согласен. А по поводу старых релизов не согласен - Вам никогда не нужно было скачать старый Скайп или Фотошоп (извиняюсь за сравнение с такими гигантами)? Новое не всегда лучше во всех аспектах. Кому-то может быть интересен старый релиз. Но даже если рассматривать только последний релиз, его тоже нужно где-то выложить и хотелось бы это делать без использования файлообменников и написания своего сайта. Думал, может есть общепризнанные практики и решения.