Translate

Поиск по этому блогу

Показаны сообщения с ярлыком GitHub. Показать все сообщения
Показаны сообщения с ярлыком GitHub. Показать все сообщения

пятница, 1 ноября 2019 г.

Git - работа с репо без пароля.

Если вы уже достаточно освоили работу с системой контроля версий Git и вас уже стало напрягать постоянное введение имени пользователя и пароля, то пришло время решить и эту проблему. Сегодня мы научимся работать с репо по ssh-соединению.




Создание нового ssh-ключа и добавление ssh-agent достаточно хорошо и понятно расписано на самом GitHub и трудностей здесь возникнуть не должно. Поэтому я не буду на этом останавливаться. Рассмотрим некоторые более сложные вопросы, которые могут возникнуть.

Тема актуальна для пользователей Windows и Git-Bash оболочки.

Для начала стоит проверить существуют ли уже у вас ключи в вашем Git. Для этого вам нужно открыть Git Bash и ввести команду:

$ ls -al ~/.ssh
# Команда покажет файлы в вашем каталоге .ssh, если они существуют


Если вы увидите что-то похожее на файлы с такими расширениями, значит ключи уже есть.
id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
В этом случае, нам остается их скопировать и вставить в настройки аккаунта на GitHub.

Для копирования в буфер обмена вводим команду:

$ clip < ~/.ssh/id_rsa.pub
# Копирует содержимое файла id_rsa.pub в буфер обмена


Идем в настройки вашего аккаунта:



На боковой панели настроек пользователя нажмите клавиши SSH и GPG.



Выбираем New SSH key or Add SSH key.



В поле «Title» добавьте описательную метку для нового ключа. Например, если вы используете персональный ключ, вы можете назвать этот ключ «Personal Windows Air».

Вставьте свой ключ в поле «Key».



Нажмите кнопку добавить - Add SSH key.



Далее будет предложено, подтвердите свой пароль GitHub.



Идем в корневую директорию вашего Git

$ cd ~


В ней нам нужно создать файл .profile с настройками:

$ echo '' >> .profile #создаем пустой файл .profile


Открываем его в любом редакторе и вставляем в него:


env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env


Если все прошло успешно, то вы все сделали правильно и теперь у вас есть возможность использовать ssh-доступ к вашим репо. Если же, у вас уже не только существует, но и используется (возможно для отдельно взятого репо) ключ, то вы получите предупреждение розовым цветом вверху страницы.

Error: Key already in use


Для решения этой проблемы, нам нужно найти, где используется (в каком из репо) ключ и удалить его.

Здесь все проще простого. Вводим в Bash

$ ssh -T -ai ~/.ssh/id_rsa git@github.com
# Подключитесь к GitHub используя определенный ключ ssh
> Hi username! You've successfully authenticated, but GitHub does not
> provide shell access.


Имя пользователя в ответе - это учетная запись GitHub, к которой в данный момент подключен ключ. Если ответ выглядит как «username / repo», ключ был прикреплен к хранилищу в качестве ключа развертывания.

Идете в это репо и в настройках удаляете ключ.

Если вы все сделали правильно, значит теперь вы сможете получать доступ к репо по ssh-соединению. Для работы со старыми репо, которые установлены у вас на машине, вам стоит переподключить их. Это делается достаточно просто.

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

git remote -v


Открыть git-Bash в нужной папке - правая кнопка мыши в нужной папке и выбрать Открыть Git Bash Here



Если ваш репо связан по http- протоколу, то для того, чтобы его переключить на ssh нам нужно, находясь в нужной папке на локальном машине ввести в git-bash следующее.

git remote set-url origin git@github.com:username/reponame.git


Вместо выделенного желтым - git@github.com:username/reponame.git в примере сверху, вам нужно вставить ссылку на ssh-соединение вашего репо. Её вы можете взять на gitHub вашего репо, нажав на кнопку Clone or download. Выбрать - Use SSH и скопировать ссылку (подчеркнуто на фото).



Таким простым способом, мы с вами получили доступ по SSH протоколу к нашему GitHub - репо.

Если эта тема для вас интересна, то я могу вам рассказать, как работать с несколькими аккаунтами с одной машины.

Пишите в комментариях, кодируйте и добивайтесь успехов!

Материалы по Git, которые могут быть вам интересны:


Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.


Удачного кодирования!                                                                                                                                                              

Телеграм канал - Full Stack JavaScript Developer
Помочь проекту (любая валюта). DONATE

четверг, 19 апреля 2018 г.

Extension Social Networks Button (SNB).

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

Эту пробелу можно решить копированием ссылки, и пр., но это занимает слишком много времени. Для решения именно этой проблемы и было написано это расширение. Особенно полезно оно для тех, кто ведет страницы в соц сетях (SMM). По заказу нашего SMM-менеджера и сделано это расширение. При желании его можно дополнить и другими социальными сетями. Оно исправно работает уже пол года на всех последних версиях браузера Google Chrome.

Это расширение для браузера Google Chrome версии 40.0.2214 и более.

Скачать его можно с сайта gitHub - https://github.com/YaroslavW/snb
О том. как клонировать репозиторий с gitHub вы можете вспомнить пройдя по ссылке. Я рассказывал об этом в своем посте "Клонирование репозитория GitHub на компьютер"

Вы также можете скачать его с моего Google Drive

При скачивании с Гугл Диска, вы можете скачать сразу всю папку SNB себе на компьютер, для этого вам нужно сделать шаг назад по дереву папок на Диске. Или можете загрузить все по одному файлу в свою папку на компьютере. Если скачиваете целой папкой, то не забудьте ее распаковать в нужную папку. Скачивается в 7-zip.

Установка

  1. Скачиваем расширение в отдельную папку на вашем компьютере.
  2. Идем в раздел "Extensions" Google Chrome. Кликаем по Customize and control Google Chrome (три точки или штриха в правом верхнем углу панели браузера - 1) -> More Tools (2) ->Extensions (3)




  3. Отмечаем флажок "Developer Mode" (1) -> кликаем по "Load Unpacked" (2) и в открывшимся окне выбираем загруженную ранее папку. Нажимаем кнопку для загрузки (3)




  4. На панели браузера, справа, появился значок нашего расширения (1), а на панели ваших расширений, появилось само расширение с включенным флажком (2). Теперь расширение полностью готово к работе и не требует никаких дополнительных настроек. При необходимости отключить его вы можете передвинув этот флажок.




  5. Теперь, когда вы зайдете на страницу где нет кнопок социальных сетей, вы всегда сможете быстро поделиться ею со своими читателями, просто нажав Shift + G для Google Plus Shift + F для Facebook Shift + T для Twitter




Если вас интересует такое же расширение для Mozilla Firefox, то я про него написал в посте FireFox: SNB Social Neworks Buttons.                                                                                                                                                              

среда, 31 мая 2017 г.

Добавление файлов в существующий репозиторий GitHub

Вот то что я делал: Для начала я переместил все нужные файлы в папку, с которой уже отправлял файлы на этот репозиторий. Затем ввел последовательно следующие команды:
  1. git add .
  2. git commit -m""
  3. git status
  4. git push shared master
  5. git clone https://github.com/YaroslavW/templates.git
  6. git push https://github.com/YaroslavW/templates.git master


Результат всех действий на фото ниже:



В итоге все мои файлы оказались в нужном репозитории.

Иногда, требуется ввести и такую последовательность (пример c сайта "Тостер")

git init
git remote add origin https://github.com/splincode/unitrack.git
git checkout -b master
git clone https://github.com/splincode/unitrack.git
git add .
git config --global user.name 'splincode'
git config --global user.email 'omaxphp@yandex.com'
git config --global color.diff 'auto'
git config --global color.status 'auto'
git config --global color.branch 'auto'
git commit -m "Комментарий для коммита"
git push https://github.com/splincode/unitrack.git master

Если вы уже добавили сайт в репозиторий, но вспомнили, что забыли приложить к нему (скриншот например - site.jpg), то тогда последовательность действий следующая:


  1. git add site.jpg
  2. git commit -m'Your text for commit'
  3. git push
Материалы по Git, которые могут быть вам интересны:


Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.


Удачного кодирования!                                                                                                                                                              

Телеграм канал - Full Stack JavaScript Developer
Помочь проекту (любая валюта). DONATE

вторник, 30 мая 2017 г.

Git - добавление репозитория на GitHub

Допустим, что у нас есть папка проекта на нашем компьютере, в которой находятся файлы html, css, js и прочие. наша задача сделать некоторые изменения в наших файлах, сохранит их и разместить наш проект на GitHub




  1. Переходим к папке проекта и нажимаем на нее правой кнопкой мыши. Вызываем Git Bash
  2. В нем делаем инициализацию репозитория - git init
  3. Добавляем наш проект в этот репозиторий (пока что все в Git)git add .
  4. Делаем первый коммит git commit -m"Первый коммит"
  5. Смотрим статус нашего проектаgit status

  6. Все изменения на панели - здесь :



  7. Теперь делаем изменения в нашем проекте. Например, мы добавим что-то в файл index.html
  8. Проверяем статус нашего проекта git status Видим, что изменения есть в файле index.html (отмечены красным).
  9. Делаем добавление наших файлов git add .
  10. Делаем второй коммит git commit -m"Второй коммит"
  11. Проверяем статус проекта git status - показывает что все чисто - см фото ниже :




  12. Теперь что -то удалим из файла и что-то добавим. Это важно сделать, для того, чтобы потом можно было увидеть разницу в изменениях (удаление, добавление), когда мы выложим проект на GitHub
  13. .
  14. Повторяем все снова -пункты 7, 8, 9.
  15. Теперь создаем пустой репозиторий на GitHub. Называем его - все равно как. Нас интересуют только две ссылки На фото ниже они отмечены красными стрелками. Они для каждого проекта свои и их нужно взять при создании репозитория.








  16. Добавляем их по очереди нажимая клавишу Enter
  17. Пришло время перейти в репозиторий и убедиться что все файлы добавлены. Там же мы можем увидеть и наши коммиты. Нажав на них мы сможем посмотреть, как изменялись наши файлы. Добавления - (+)выделены зеленым, а удаления красным (-)

Материалы по Git, которые могут быть вам интересны:


Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.Пишите мне - kolesnikovy70 почта gmail.com


Удачного кодирования!                                                                                                                                                              

Телеграм канал - Full Stack JavaScript Developer
Помочь проекту (любая валюта). DONATE

понедельник, 29 мая 2017 г.

Git - Клонирование репозитория GitHub на компьютер

  1. Заходим на сайт GitHub, выбираем интересующий нас репозиторий и получаем ссылку.
  2. На компьютере создаем новую пустую папку. Щелкаем правой кнопкой мыши и выбираем Git Bash Here
  3. В открывшемся окне Git Bash пишем git clone вставляем здесь ссылку (пр.кнопкой мыши - "Paste")
  4. Нажимаем Enter и ждем когда все файлы репозитория GitHub будут скопированы в вашу вновь созданную папку.
Материалы по Git, которые могут быть вам интересны:


Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.


Удачного кодирования!                                                                                                                                                              

Телеграм канал - Full Stack JavaScript Developer
Помочь проекту (любая валюта). DONATE


Хотите освоить самые современные методы написания React приложений? Надоели простые проекты? Нужны курсы, книги, руководства, индивидуальные занятия по React и не только? Хотите стать разработчиком полного цикла, освоить стек MERN, или вы только начинаете свой путь в программировании, и не знаете с чего начать, то пишите через форму связи, подписывайтесь на мой канал в Телеге, вступайте в группу на Facebook.Пишите мне - kolesnikovy70 почта gmail.com