Еще один частый затык с гитом — у тебя создана чистая репа в гитлабе и локально на машине лежит уже наработанный проект. Но проект еще не под гитом.
Как заебенить проект в репу в гитлабе?
Первый вариант
Самый беспроигрышный и лёгкий вариант — это склонировать себе эту чистую репу в какую-нибудь папку и затем просто перетащить в эту папку все файлы из твоего проекта.
Приватные репы клонируй через git@, а публичные можешь и через https.
Если попробуешь склонировать приватную репу через https, оно запросит у тебя логин и пароль от учетки гитлаба/гитхаба. Но такие вещи обычно делают на ssh ключах, без хуйни и паролей.
git clone git@gitlab.com:linuxfactory/infra.git
Есть еще хороший хак, если в конце этой команды добавить символ точки «.» через пробел, то репка склонируется в текущую папку (не будет создана папка infra) НО при условии что папка на локальной машине у тебя пустая, иначе получишь по ебалу ошибку.
Ну а дальше по классике:
git add .
git commit -m "initial commit"
git push
Не забываем что однажды получишь сообщение: Author identity unknown, про этот случай я рассказывал вчера.
Второй вариант
cd /path/to/project
git init
git add .
git commit -m "initial commit"
git remote add origin https://gitlab.com/username/reponame.git
git push -u origin master
Как видишь тут уже дерьма побольше, сложновато запомнить неокрепшему уму. К тому же можешь словить ряд ошибок:
fatal: repository not found
remote: HTTP Basic: Access denied
remote origin already exists
Updates were rejected because the tip of your current branch is behind
error: failed to push some refs
Придется гуглить, делать rebase или вообще конфликты решать. А решать конфликты это то еще удовольствие.
Теперь даже если что-то локально нахуевертил в гите, просто ёбни папку .git в проекте. Сделай все по первому способу и всё починится. Это намного быстрее чем разгребать и дебажить неочевидные ошибки.








Комментарии