mkdir myrepo cd myrepo git config --global user.name "John Smith" git config --global user.email "example@stanford.edu" git init # Initialized empty Git repository in /home/ubuntu/myrepo/.git/ git status echo -e ’line1\nline2’ > file.txt git status git add file.txt git status git commit -m "Added first file" git log echo -e "line3" >> file.txt git status git diff file.txt git add file.txt git commit -m "Added a new line to the file." git log git log -p git log -p --color
Интересная вещь, что хешки есть не только у комита и у каждого файла
myrepo$ git ls-tree 5c8c9efc99ad084af617ca38446a1d69ae38635d 100644 blob 83db48f84ec878fbfb30b46d16630e944e34f205 file.txt
И по этому хешки мы можем просмотреть из конкретного комита файл не перезаливая весь репозиторий
$ git cat-file -p 83db48f84ec878fbfb30b46d16630e944e34f205 line1 line2 line3
Теперь если мы хотим залить наш локальный репозиторий на удаленный, то мы должны определиться с гит-хостингом.
Например если мы остановились на гитхабе, то мы заходим к ним на сайт и создаем удаленный репозиторий, получаем на него там урл.
Теперь нам по этому урлу нужно добавить удаленный репозиторий на локальный сервер гит. У каждого ремоута есть имя, имя по-умолчанию origin, если мы явно не указываем на какой удаленный репозиторий мы хотим запушить данные, подразумевается origin.
Допустим мы решили залить наш новосозданный проект myrepo, заходим в него и делаем
$ git remote add origin git@github.com:startup-class/myrepo.git $ git push -u origin masterЗдесь мы явно указали ремоут и бранч которые так называются по-умолчанию, или они называются основными, но можно в таком случае и не указывать.
Но в этом конкретном случае, гитхаб не разрешить заливаться, потому что он хочет от вас ssh sha1 public ключ, чтобы быть уверенным что именно тот, кто зарегистрировал репозиторий или имеет к нему доступ, хочет на него что-то залить.
Поэтому
cd $HOME ssh-keygen -t rsa -C "my@email.com" cd .ssh/ cat id_rsa.pubРезультат копируем и вставляем в панель управления на гитхобе, регистрирую таким образом хост для работы с удаленным репозиторием.
Теперь чтобы проверить что у нас есть соединение делаем:
ssh -T git@github.com Hi your_github_username! You are successfully authenticated, but GitHub does not provide shell access.
Все теперь снова
cd ~/myrepo git push -u origin master # will work after Add Key
Комментариев нет:
Отправить комментарий