Как сделать первый шаг в удаленный репозиторий с помощью Git?
Я читал бесчисленные учебники, и я продолжаю идти. Вот что у меня есть:
- Я запускаю RubyMine на рабочем столе Windows
- Я установил Git на мою учетную запись хостинга WebFaction по их инструкциям
- Git работает нормально на обеих машинах
Вот что я делаю:
1. На сервере:
а. Проект mkdir
б. Git init
с. Git добавить.
г. Git commit < --- --- ничего не делать "
2. На клиенте:
а. Создайте новый проект в RubyMine.
б. "git init" в верхней директории проекта
с. "Нажать изменения" на сервер < ---- "не удалось нажать некоторые ссылки на...".
Какие шаги мне не хватает?
Ответы
Ответ 1
На сервере:
mkdir my_project.git
cd my_project.git
git --bare init
На клиенте:
mkdir my_project
cd my_project
touch .gitignore
git init
git add .
git commit -m "Initial commit"
git remote add origin [email protected]:/path/to/my_project.git
git push origin master
Обратите внимание, что при добавлении источника существует несколько форматов и схем, которые вы могли бы использовать. Я рекомендую вам узнать, что предоставляет ваш хостинг.
Ответ 2
Вы должны добавить хотя бы один файл в хранилище, прежде чем совершать, например. .gitignore
.
Ответ 3
Вы можете попробовать следующее:
на сервере:
добавление новой группы в /etc/group
как
(Пример)
mygroup:1001:michael,nir
создать новый репозиторий git:
mkdir /srv/git
cd /srv/git
mkdir project_dir
cd project_dir
git --bare init (initial git repository )
chgrp -R mygroup objects/ refs/ (change owner of directory )
chmod -R g+w objects/ refs/ (give permission write)
на клиенте:
mkdir my_project
cd my_project
touch .gitignore
git init
git add .
git commit -m "Initial commit"
git remote add origin [email protected]:/path/to/my_project.git
git push origin master
(Спасибо Джошу Линдси за клиентскую сторону)
после клиента, сделайте на сервере следующие команды:
cd /srv/git/project_dir
chmod -R g+w objects/ refs/
Если эта ошибка возникла после git pull:
There is no tracking information for the current branch. Please specify which branch you want to merge with. See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream new origin/<branch>
попробовать:
git push -u origin master
Это поможет.
Ответ 4
Если ваш проект не имеет ветки восходящего потока, то есть, если это первый раз, когда удаленный репозиторий узнает о ветке, созданной в вашем локальном репозитории, должна работать следующая команда.
git push --set-upstream origin <branch-name>
Ответ 5
Вам необходимо настроить удаленный репозиторий на вашем клиенте:
git remote add origin ssh://myserver.com/path/to/project
Ответ 6
@Джош Линдси уже отлично ответила. Но я хочу добавить некоторую информацию, так как часто использую ssh.
Поэтому просто измените:
git remote add origin [email protected]:/path/to/my_project.git
в
git remote add origin ssh://[email protected]/path/to/my_project
Обратите внимание, что двоеточие между доменом и контуром больше не существует.