На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
  
> [git] как автоматически копировать репозиторий на флэшку?
    Здравствуйте!

    Как сделать мастер репозиторий на флэшке, под windows?
    Ну или хотя бы просто автоматически копировать после коммитов?

    У меня есть
    приватный, чисто локальный проект. Вообще никогда и никуда его не push.
    Поднимать свой git сервер мне лень. В этом нет смысла.
    (как-то там излишне заморочено)

    Юзать чужой бесплатный сервер мне стрёмно.

    Юзать чужой платный сервер меня душит жаба.

    Вообщем, как-то хочется попроще, без излишеств. Навороченные сервера нафиг не нужны.
    Поскольку проект личный,
    доступ посторонним довать не хочу.

    Но! Хотелось бы сделать его всё же переносимым.
    Вариант с флэшкой полностью устраивает. Она воткнута постоянно. Если пойду за другой комп, то возьму флэшку.
    (у меня там так несколько локальных svn репозиториев используется уже давно)

    Вообще хотелось бы, работать с этим хранилищем штатными push и pop.
    Но я в git почти не работал, всяких сложных команд не знаю!
    (заодно и потренируюсь)

    ExpandedWrap disabled
      git create репозиторий, здесь, быстро!

    ругается, что нет такой команды. :-)))
    Но в git help тоже не заметно ничего похожего.

    Я читал что git может
    работать в расшаренных сетевых папках. Но как это сделать, гугл рассказывать не хочет. Наверное я не так спрашивал.
    Предлагает мне установить свой ssh и web сервера, но я думаю, что мне это не нужно.



    Максимум, это скидывать бэкап в запароленном архиве на сетевой диск. С возможностью быстро его развернуть и заюзать.
    Сообщение отредактировано: Eric-S -
    Человек должен делать то, что может сделать только он, всё остальное должна делать машина!
      Обычный "git clone" с ключом "--bare"
      Склонировать можно даже с рабочего репозитория (где ведётся разработка)

      В диалоге черепахи есть галочка "Clone into Bare Repo" (к имени папки придётся вручную дописать расширение .git, черепаха это сделать забывает)

      В рабочем репозитории, чтобы он работал с флэшкой, придётся подредактировать .git/config, поменять ссылку на удалённый репозиторий в разделе
      [remote "origin"]
      url = <путь к новому репозиторию>

      В репозитории на флэшке можно будет пользоваться командой push (pull вроде не работает, но я не уверен), и работает fetch, правда случая не было разобраться, что именно он делает.
      Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
        Чего-то я делаю нетак.
        i:\git>git clone --bare file:///c:/git/eric eric.git
        Cloning into bare repository 'eric.git'...
        error: cannot spawn sh: No such file or directory
        fatal: unable to fork

        В каком формате ему задавать локальный адрес?

        В инете нашёл кучу странных рецептов. Там всякие опции ghtlkfuf. --local --shared --no-hardlink.
        Предлагают экранировать слэши... file://\\\\....
        Человек должен делать то, что может сделать только он, всё остальное должна делать машина!
          Пока вижу, что ты путь в папку Programs\git\bin в переменную path не добавил. git происходит из Linux и потому использует sh, а не cmd.
          Перед запуском git стоит выполнить команду
          >path C:\Programs\git\bin;%path%

          Если git установлен в другой папке - поправь
          Всё написанное выше это всего лишь моё мнение, возможно ошибочное.
            Странно. Пути прописаны прямо в свойствах системы.
            sh запускается даже из windows+r "выполнить" и доступен из консоли.
            Может там в самом git где-то надо прописывать?

            Добавлено
            Попробовал запустить git из под sh. Теперь совсем другой вывод. Но непривычно и непонятно где моя директория.

            Добавлено
            Ага. Из под sh сработало. Клонировал репу. Добавил файл в рабочую. Закомитил. Потом push, fetch, pull. Вроде норм.

            НО есть подозрительный момент. Из sh у меня работала команда ls. Но вот git log, мимоходом ругнулся, что не находит ls.
            Человек должен делать то, что может сделать только он, всё остальное должна делать машина!
              Во-первых, я поленился и юзал git, который был в комплекте с visual studio. Как-то его странно распихали. А я его неправильно инициализировал.

              Во-вторых, пришёл к выводу, что git нужно юзать из консоли sh или bash. Я же пытался из cmd.

              В-третьих, пути надо указывать в чудном формате: "/i/git/eric.git", где "i" это буква диска!

              В-четвёртых, обновил студию, отключил git. Он, Впрочем, всё равно остался. А я установил с офсайта.

              Вообщем, теперь всё норм. Ошибок не видать. В таком состоянии оно мне не очень нравится, но ладно, пусть будет.
              Человек должен делать то, что может сделать только он, всё остальное должна делать машина!
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script Execution time: 0,0931 ]   [ 17 queries used ]   [ Generated: 25.06.19, 17:56 GMT ]