Category Archives: git и т.п.)

3D визуализация и интерьер

Настройка SSH в GitLib

При вставке больших файлов в GitLib, используя http-доступ возникает ошибка 413 и как результат — файлы не передаются. В таком случае, лучше передавать информацию через ssh. Но, для этого, нужно несколько повозиться и настроить ssh-ключи. В данной статье описывается, как настроить ssh-доступ для GitLib.

После создания нового проекта стоит обратить внимание на 2 вещи:

  • на подсказку вверху о невозможности записывать изменения при отсутствии SSH ключей
  • на подсказки на странице о необходимых действиях — при создании нового проекта и при создании локального репозитория в существующем проекте.
gitlib ssh

gitlib ssh

Начнем с SSH ключей. Стоит различать 2 разновидности SSH пар ключей — которые использует Git и которые используют клиенты типа Source Tree, Tortoise Git. Проблема первой разновидности в том, что без лишних телодвижений допускается использование только одной пары ключей, в то время как каждый репозиторий требует уникальный ключ, вторых же можно наплодить неограниченное количество (на самом деле можно использовать более 1 пары ключей первого типа, но предлагаемые решения работают либо частично, либо не работают вообще).

Для начала, сделаем ключи для Git, для этого запустим Git Bash. Git подразумевает что в Windows среде ключи лежат по адресу ~ / .ssh / id_rsa, где ~ — путь к домашней директории пользователя (например c: \ Users \ USERNAME), в папке которого есть каталог .ssh, в котором лежит пара ключей — id_rsa.pub и id_rsa (соответственно публичная часть и приватная).

Пришло время для генерирования ключей, возвращаемся к Git Bash и в консоль вводим следующее:

ssh-keygen -t rsa -C «your_email@example.com»»

Данная команда указывает Git Bash создать ключ с коментарием your_email@example.com (зачем он нужен, поймете чуть позже) в формате RSA. Внимательно вводим место сохранения ключа, в nix-like стиле с прямыми (а не обратными!!!) слешами:

c: / Users / USERNAME / .ssh / id_rsa

и дважды вводим пароль для дополнительной защиты ключа (passphrase):

ssh key git

ssh key git

Переходим в личном кабинете в профиль, на вкладку с SSH ключами:

Профиль ssh gitlab

Профиль ssh gitlab

и добавляем содержимое посредством Copy/Paste файла id_rsa.pub (title заполнять не нужно — подставляется автоматически из коментария к ключу, таким образом ключи удобно отличать визуально, не сравнивая fingerprints.)

GitLab Профиль ssh

GitLab Профиль ssh

Убеждаемся что файл принят системой:

Gitlab ssh key profile

Gitlab ssh key profile

HTTP доступ к репозиторию

Настала очередь собственно локального репозитория. Возвращаемся в Git Bash и поочередно вводим команды, которые услужливо подсказывает стартовая страница вашего проекта:

cd d: / projects / test — переходим в папку где будет лежать будущий проект

mkdir test-project — создаем новую папку для проекта

cd test-project — переходим в папку проекта

git init — инициализируем локальный репозиторий

touch README — создаем новый файл README

git add README — добавляем его к версионированию

git commit -m ‘first commit’ — делаем commit с коментарием о первом комите

git remote add origin http://gitlab.golovachcourses.com/Student/test-project.git — добавляем адрес удаленного репозитория в HTTP формате

git push -u origin master — отправляем изменения на сервер

git_first_commitТеперь если зайти в свой личный кабинет, то сначала увидим сообщение про создание новой ветки master в нашем тестовом проекте:

gitlab_new_branch_msgВ файлах появился новый файл README:

gitlab_new_READMEgitlab_new_README_code

но он пока пустой.

Галочка в зеленом кружочке сообщает что данная папка успешно подключена к VCS:

gitlab_first_commitИтак, мы создали первый тестовый проект, подключили его к удаленному репозиторию по HTTP протоколу и сделали первый commit первого файла — README.

SSH доступ к репозиторию

Попробуем теперь изменить файл README и отправить изменения на сервер посредством SSH протокола через Tortoise Git. Для удаленного обновления вашего кода через Tortoise Git необходимо настроить и добавить к аккануте новыю пару SSH ключей, используя PuTTY Key Generator:

putty_key_gen_test

Полученную пару ключей необходимо сохранить (Save public key && Save private key) в том же месте где и предыдущие для дальнейшей настройки Git (пусть это будут соответственно test@gitlab.golovachcourses.com.pub и test@gitlab.golovachcourses.com.ppk).

Теперь добавим к первому сгенерированный ключ в вашем профиле:

gitlab_profile_second_keytest_project_settingstest_project_settings_remote

В параметре Git -> Remote -> origin меняем ссылку на SSH вариант:

git@gitlab.golovachcourses.com:Student/test-project.git

и указываем новый PuTTY ключ.

Теперь наш локальный репозиторий в качестве протокола будет использовать SSH. Пробуем как это работает, для чего в уже существующий пустой файл README вносим любые правки и сохраняем.

Обратите внимание на то, что VCS реагирует на изменение локальной копии, которое не синхронизировано с удаленным:

git_changes

Есть две возможности провести синхронизацию:

  • отдельно по файлу (так как он у нас один, больше ничего в проекте нет)
  • либо по всей папке (что делают чаще всего)

В первом случае ПКМ на файле -> Git commit -> «master»…

Во втором случае ПКМ на папке -> Git Sync (этот вариант и рассмотрим как более общий):

git_syncделаем commit

git_sync_вводим описание commit-а

git_sync_descriptionлокальный commit прошел успешно, делаем push

git_sync_commit_okвводим пароль для ключа (passphrase, что вводили при создании, понадобится только в первый раз)

git_sync_push_passphraseвводим наш логин

git_sync_push_loginпароль

git_sync_push_passи наслаждаемся сообщением о том что произведен новый commit в основную ветку

gitlab_dashboard_new_commitи видим что в нашем удаленном файле, доступном в репозитории на сервере уже есть внесенные нами изменения

gitlab_dashboard_new_commitgitlab_new_codeИ теперь папка с «проектом» имеет одинаковую ревизию что локально что удаленно:

git_new_revision_ok

Git GUI клиенты

Помимо рассмотренного простейшего Tortoise Git (который на самом деле является не совсем GUI клиентом а скорее расширением оболочки), существует несколько других, для различных платформ: Git GUI. Из представленных заслуженное внимание привлекает Source Tree — добротный free инструмент от компании Atlassian.

Источник: http://gitlab.golovachcourses.com/root/manual/wikis/new_local_repository

Дизайн интерьеров

Git коротко

Создаем копию проекта:

Конфигурирование репозитария:

Добавление новых файлов в репозитарий:

Сохранение изменений в репозитарий:

Подключение к удаленному репозитарию:

 

Добавление изменений в master:

Закачка на сервер:

Статус локального репозитатора:

 

Git для чайника. Команды которые помогут начать работу

Многим трудно начать работать с Git, ведь не все привыкли работать с командной строкой, но именно ее лучше всего использовать при работе с репозиторием Git. И сегодня я расскажу о самом простом, так сказать Git для чайника, чтобы помочь освоиться Вам с этой системой. Git представляет собой систему контроля версий, которая позволяет в нужный момент откатиться на старую версию, если вы «наломали дров«.

С помощью Git Вы сможете размещать свой код на GitHub, BitBucket и Google Code.

Вы всегда сможете скачать код своего проекта на компьютер, изменить его и залить обратно, чтобы он стал доступен Вашим коллегам.

С чего начать?

Нам понадобиться программа Git Bash, это шелл сделанный на основе Cygwin, поэтому возможно использование Unix-команд, вроде ls, cd, mkdir. Скачать его можно по следующей ссылке http://git-scm.com/.

Настройка Git

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

Также нам нужно настроить параметры установок окончания строк, для Windows мы вводим две команды

На этом настройка заканчивается, можем начинать работу с проектом.

Создание проекта

Допустим у нас есть папка с проектом, которую мы хотим разместить на GitHub.

1. Создаем репозиторий на сайте.

Git

Git

2. Инициализируем папку для Git репозитория. Это нужно сделать только один раз для каждого проекта.

3. Связываем папку с удаленным репозиторием

4. Добавляем все новые и измененные файлы

5. Помечаем все новые и измененные файлы сообщением (commit)

— вместо message вписываем сообщение, например Initial Commit. или Bugfix.

6. Закачиваем код на удаленный репозиторий

в таком виде используем только первый раз, потом используем команду без флагов

git

git

git

git

7. Можно посмотреть статус изменений, которые были сделаны.

 

8. Для скачивания репозитория используется команда

Второй компьютер

Для использования репозитория на другом компьютере, используем следующие команды.

1. Клонирование репозитория

В результате git скачает удаленный репозиторий в новую папку test-project

2. После каких-то изменений в коде, выполняем все те же команды

Откат изменений

1. Полный откат до предыдущего коммита

2. Сброс изменений в файле на версию коммита

3. Откат до установленного тега, например v1

 

Для более лучшего пониманию лучше ознакомиться с интерактивным туром по Git

3D визуализация и интерьер

Как запомнить пароль и имя пользователя в TortoiseSVN при работе через ssh

В процессе работы с TortoiseSVN через ssh начинает надоедать сто кратный ввод пароля и имени пользователя. Немного порывшись в интернете нашёл способ, как решить данный вопрос.
Вот лекарство:
Щёлкните правой клавише в браузере и выбери в выпадающем меню:
TortoiseSVN -> Settings -> Network.
В поле SSH client вводите строку, подобную:
C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -l ПользовательВSSH -pw ПарольДляПользователяВSSH

Конечно, если у Вас TortoisePlink.exe находится не в C:\Program Files\TortoiseSVN\bin\, то укажите тот путь, по которому он находится.

Предметная визуализация