Dropbox как Git репозиторий



    Хочу поделиться хорошим способом хранения главного репозитория.

    Делается это созданием bare—репозитория в папке Dropbox'a:

    ~/Project $ git init
    ~/Project $ git add .
    ~/Project $ git commit -m "first commit"
    ~/Project $ cd ~/Dropbox

    ~/Dropbox $ mkdir Repos/YourProject.git
    ~/Dropbox $ cd Repos/YourProject.git
    ~/Dropbox $ git init --bare
    ~/Dropbox $ cd ~/Project

    ~/Project $ git remote add origin ~/Dropbox/Repos/YourProject.git
    ~/Project $ git push origin master

    Клонируем проект из Вашего репозитория, привязанного к Dropbox аккаунту:

    clone ~/Dropbox/Repos/YourProject.git

    Теперь можно совершать любые Git операции, которые будут синхронизированы со всеми рабочими машинами.
    Все то же самое можно сделать с любым gui клиентом для Git.

    GUI


    Вот как процесс будет выглядеть для TortoiseGit:

    В Dropbox папке, где предполагается хранить главный репозиторий, кликаем правой кнопкой мыши и выбираем «Git Create repository here...».



    В появившемся окне ставим галочку «Make it Bare» и создаем bare—репозиторий.



    Должны появиться следующие файлы и папки.



    Клонировать репозиторий можно так:

    Переходим в папку, где будет храниться проект, кликаем правой кнопкой и выбираем «Git Clone...».



    Должно появиться окно, где надо указать Dropbox репозиторий, жмем OK.

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 34

      +1
      Насколько оно всё тормозит на проекте реального (не нулевого) размера?

      Всё-таки git довольно сильно оптимизирован из расчёта что некоторые операции с диском очень быстрые (например, hard links на Linux)
        0
        На win конечно же медленнее работает, поэтому лучше git использовать на unix'е, если возможно.
          +10
          Не настолько медленнее, чтобы об этом говорить.
          0
          Он и будет работать быстро с диском. Dropbox уже по факту изменений репозитория будет синхронизировать его с сервером.
            0
            Там синхронизация через нормально работать будет? :) (см. коммент ниже)
          +4
          А случись два одновременных пуша в этот репозиторий, как вы разруливать будете?
            +2
            Повезет последнему. Точнее тому, у кого Dropbox позже начнет синхронизировать.
            Думаю, этот вариант будет работать только для схемы: один разработчик — несколько машин.
              +4
              О чем и речь. Да и то, если синхронизация не получится на одном компьютере, то все, до свидания коммиты. Надежнее заплатить за github или за vps с gitosis.
                +2
                Я забыл поставить тег «нищеброд»). Любое коммерческое решение будет надежнее.
                Если над проектом работает пара человек, то вполне сносно.
                  +2
                  Нет же, не сносно. Большая вероятность потери данных.
                    +2
                    Вполне себе сносно. Не знаю случая, когда пара человек очень активно делает центральные коммиты. Предполагается, что разработка и хранение локальных изменений происходят на машинах разработчиков, а push делается для проверенного изменения в центральный репозиторий. Даже в случае гипотетической потери все легко откатывается обратно.
                    +10
                    Я как-то один на разных машинах работал над проектом, вместе с файлами гита в директории было примерно 11-12 тысяч файлов. В один прекрасный день, сделав коммит на работе и придя домой, обнаружил, что дропбокс потер все файлы в репозитории, без возможности восстановления средствами дропбокса. После этого я заплатил за гитхаб и больше не храню проекты в дропбоксе.
                      +1
                      Мы работали некоторое время по такой схеме. Проблемы начинаются если сделать push в Dropbox в то время, когда вы отключены от интернета. После подключения к интернету Dropbox синхронизируется и получается лажа.

                      В итоге сидим на VPS и радуемся жизни.
                        +2
                        так подождите… есть же сейты, которые дают приватные гит-репозитории… вот неплохой список: git.wiki.kernel.org/index.php/GitHosting

                        Я попробовал bettercodes.org — неплохо достаточно.

                        не гитхаб, зато приватные.
                        0
                        Совершенно согласен. Только вместо gitosis использовать gitolite — гибче в настройках.
                    +17
                    хорошим способом

                    хороший способ — github и другие репо-хостинги, а у вас трамвай, сделанный из буханки хлеба.
                      +5
                      Нахаляву и хлебный трамвай — git репозиторий)
                        +1
                        далеко на нем не уедешь(:
                          –1
                          К нему есть публичный доступ с проверкой по rsa-key? Нет. А значит это мало чем отличвается от простого репо внутри DB. Я тоже храню свои репы в DB, но только для того, чтобы на другой машине получить быстрый доступ к ним и для быстрого развертывания на другой машине.

                          Git имеет встроенный сервер, есть куча сервисов которые могут пробросить бесплатно порт — в чем проблема?
                          0
                          А разве есть бесплатные git хостинги для личного использования (закрытый, без лицензий)?
                            0
                            Да, у меня есть репозиторий на unfuddle.com. На бесплатном аккаунте можно один закрытый репозиторий.
                              +1
                            +1
                            Я только начал изучать гит, поэтому, возможно, глупый вопрос: а просто симлинк на ~/Project в папку дропбокса кинуть нельзя?
                              +1
                              Да можно прямо и там проект делать. А тут создается bare репозиторий, который не содержит рабочей директории.
                              +3
                              Блин просто красава!!!
                              Автор, а можно вопрос частично в тему — я могу сделать так чтобы использовать Гит+Контакт? Т.е. использовать сервера контакта для хранения комитов проекта? например хранить их на фотографиях? ладно стебу стебу))
                                +1
                                Резать патчи на мелкие кусочки и постить в твиттер, а на другом конце собирать.
                                  0
                                  Если вы напишете файловую систему(например при помощи fuse) которая хранит данные в фотографиях контакта, то можно.

                                  Не знаю как для контакта, а для gmail такая реализация существуюет:
                                  richard.jones.name/google-hacks/gmail-filesystem/gmail-filesystem.html

                                  Более того, есть подозрение, что с использованием gmailfs у вас не будет проблем с рассинхронизацией, кторые возникают при использовании дропбокса вместе с git
                                  +6
                                  Я бы сказал, — не хороший, а вредный способ…

                                  Хотите бэкапы — делайте их явно. А делать живой репозиторий там, — убиться.
                                    +2
                                    тупость
                                      +1
                                      Ага, а при первом конфликте у вас появится куча «умных» дропбоксовых копий.
                                      Плохое решение…
                                        0
                                        Я использую dropbox в качестве хранилища для git / hg уже полгода — никаких проблем: комиты в репозиторий делаю только я и сделать конфликт не могу физически :)
                                        Мне нравится возможность работы с одним и тем же репозиторием и дома и на работе + возможности предоставляемые CVS
                                          0
                                          Пробовал так извращаться пол года назад, синхронизировалось в дропбоксе очень медленно. Сейчас держу часть репозитоиев на гитхабе, а часть на домашнем сервере. Gitolite добавляет комфорта.
                                            0
                                            Мне точно такая же идея пришла недавно с hg. Но я быстро отверг ее, лучше юзать bitbucket.
                                              0
                                              на битбакете теперь есть git =)

                                            Only users with full accounts can post comments. Log in, please.