Создание удаленного репозитория из папки проекта с помощью Git
Загрузка и установка клиента Git
Предпочитаю portable версии программ, это касается и клиента Git. Его можно найти на просторах, или взять здесь. Пароль к архиву 12345. Нужно просто скачать и распаковать архив в каталог диска по желанию.
Я держу portable версии программ на d:/admin/prog и при загрузке новых обновляю этот каталог на «покете», так что самое нужное всегда с собой.
Распаковываем, например, в d:/admin/Prog/GitPortable
Смотрите, чтобы не получилось d:/admin/Prog/GitPortable/GitPortable/ 🙂
В итоге, если все сделано аккуратно, версия программы с графическим интерфейсом расположится в каталоге D:\admin\Prog\GitPortable\GitPortable.exe
А лучший в мире вариант с управлением из командной строки — в D:\admin\Prog\GitPortable\App\Git\git-bash.exe и можно просто сделать ярлык на запуск на рабочем столе.
Выделить файл git-bash.exe в проводнике и с нажатой правой кнопкой мыши потащить на рабочий стол и бросить. Появится контекстное меню — выбрать Создать ярлык.
Однако…
То есть, текущим в bash консоли Git оказался каталог самой программы, а для работы нам нужно, чтобы текущим был локальный каталог нашего будущего репозитория (папка нашего проекта).
Немножечко командной строки
Переходим куда нужно, например, наш проект находится в d:/repo/1sprog, тогда вводим команду
cd d:/repo/1sprog
Если путь содержит пробелы, то его нужно заключить в двойные кавычки, например,
cd «d:/Моя любимая папка/1sprog»
Чтобы не вводить команду выше, а после запуска сразу «оказаться» в нужной папке, можно поправить параметр Рабочая папка нашего ярлыка для git-bash.
Посмотрим что есть в этой папке проекта с точки зрения git
Вводим команду dir
dir
У меня тут вот что
И вот какая штука. При создании репозитория в этой папке, если не предпринимать никаких мер, по-умолчанию в него будут включены все имеющиеся в папке проекта подкаталоги и файлы. Соответственно, они все будут затем перенесены в удаленный репозиторий и будут реплицироваться при каждой синхронизации. Если интернет мобильный, то чем меньший объем проходит по каналу связи, тем лучше!?.
Например, мы видим на предыдущем рисунке файлы, которые являются побочным результатом компоновки и компиляции программы — это файлы *.obj, *.map и, по большому счету *.hex (исполняемый файл, в данном случае прошивка для контроллера). И есть только пара файлов, которые действительно ценны — 7segement.asm и 7segement.inc
Более того, на удаленном сервере совершенно нечего делать файлу passwords.txt
Исключение некоторых файлов — файл .gitignore
Точка в имени файла присутствует в самом начале, это не опечатка!
Для моего примера содержимое файла .gitignore может быть таким:
.idea/
*.obj
*.map
*.hex
passwords.txt
Каталог .idea/ исключается весь, такой знак подает клиенту git наклонная черта сразу в конце имени каталога, без пробела. Этого каталога не было в выводе по команде dir, это каталог, к котором среда разработки (в данном случае PhpStorm) хранит свои временные и настроечные файлы для данного проекта. Он совершенно не нужен никому на сервере Git, даже мне — исключаем весь.
Также исключаем файлы компоновки и результирующий бинарник, сюда же попал файл с паролями.
Каждое исключение должно располагаться на новой строке.
Сделать можно в Блокноте, а потом при «сохранении как…» в нашу папку проекта дать имя .gitignore, при этом не забыв выбрать тип файла «все файлы», иначе блокнот «приклеит» расширение TXT.
Минуточку терпения, почти все готово!
К стати, когда надоедят танцы с проводником Windows, блокнотом и прочими бубнами можно поставить Far manager и жить станет проще, жить станет веселей!
Я брал стабильную сборку, MSI-пакет установки.
Инициализация репозитория
Есть замечательная статья по основным командам git, который автор cyberspacedk назвал шпаргалкой, но, на мой взгляд, там есть все, что нужно. Но все же пробежимся по порядку, поскольку новичку не все так очевидно как бывалому.
Прим. Все команды выполняются в консоли git-bash
1) Инициализация локального репозитория:
git init
Все проходит «молча», но положительный результат виден по появлению скрытого подкаталога .git в текущей папке. Чтобы включить показ скрытых файлов и папок в проводнике Windows, нужно включить следующие опции в пункте меню Вид (скрин из 10 версии Винды). За одно включим и показ расширений, тоже удобная вещь.
В Far manager переключение видимости скрытых файлов и папок происходит по Ctrl-H
2) Создание абсолютно пустого (без readme, без .gitignore) репозитория на bitbucket.org через веб-сайт
у меня последний экран выглядел так
3) Далее — подключение удаленного репозитория к локальному
Все, что написано далее, не учитывает нюансов, которые добавляются при использовании Линукс и/или стороннего хостинга (мне не удалось подключиться по https). В личном профиле на bitbucket в разделе ssh-ключей имеется ссылка на подробнейшую инструкцию как организовать подключение по ssh.
Строка адреса (https://mickle-iv@bitbucket.org/mickle-iv/1sprog.git) взята из формы, выданной bitbucket в результате создания репозитория.
git remote add origin https://mickle-iv@bitbucket.org/mickle-iv/1sprog.git
4) Добавляем файлы проекта в индекс (между add и точкой — пробел)
Перед добавлением можно дать git status и посмотреть какие файлы клиент git предложит добавить. Посмотрите, в этом списке не должно быть файлов и папок, указанных в .gitignore
Прим. Между add и точкой есть пробел
git add .
5) Делаем коммит
git commit -m ‘My initial commit’
Дальше нужно сделать первый push и тут возникло 2 варианта, я использовал первый вариант, предложенный bitbucket
1 вариант от bitbucket.org
git push -u origin master
2. вариант, предложенный самим клиентом git
git push —set-upstream origin master
И вуаля!
Если постигла неудача при инициализации и увязке локального и удаленного репозиториев — не беда. Просто сносим локальный подкаталог .git в нашей папке проекта на фиг (для уверенности можно снести и создать заново новый пустой репозиторий на bitrbucket.org) и аккуратно повторяем все операции, начиная с пункта 1) раздела «Инициализация репозитория».
Как удалить репозиторий на bitbucket:
Да, спасибо.