Простой рабочий процесс GIT для разработки небольших сайтов одним - PullRequest
0 голосов
/ 06 июля 2018

Я новичок в мерзавцах, пытаюсь обойти это.

Итак, я занимаюсь разработкой простого веб-сайта локально и отслеживаю его с помощью git и хочу, чтобы удаленный репозиторий на общедоступном сервере был живым сайтом, на который я могу отправить ветку master, когда я буду готов сделать это.

Я думал, что следующее будет работать, но это не так.

Публичный сервер, я сделал это:

/home/mysite/git init --bare

Локальный (машина разработки) Я сделал это:

git init
git add index.html (contains hello world)
git commit -am "initial commit"
git remote add website ssh://mysiteuser@mysite:myport 
git remote (outputs: website)

Теперь я хочу опубликовать это на «сайте»

git push website

И я получаю:

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream website master

Итак, я стараюсь:

git push --set-upstream мастер веб-сайта

И я получаю:

fatal: No path specified. See 'man git-pull' for valid url syntax

Я заглянул в человека, и он не пролил свет на меня.

Я правильно делаю, но что-то не хватает в команде push? Или я неправильно понял что-то более фундаментальное.

ТИА!

Ответы [ 2 ]

0 голосов
/ 10 июля 2018

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

Вот как я это сделал ...

ON REMOTE (веб-сервер)

mkdir website
cd website
git init
// here's the clever bit!
git config receive.denyCurrentBranch updateInstead

(Эта последняя строка делает две вещи. Она не дает удаленному хранилищу возможности жаловаться на обновление для извлеченной ветки, а также сразу же проверяет его. Другие обычно используемые методы добавляют «крючок» для выполнения последней части процесса.)

О МЕСТНОМ РАЗВИТИИ (МОЙ НОУТБУК)

cd ~/website-dev-folder
git init
git remote add website ssh://my_user_name@mysever.com:my_port/home/website
git add some_file.html
git commit -m "initial commit"
git push -u website master

Впредь после того, как любое локальное изменение будет завершено и объединено с master, опубликовать ветку master в прямом эфире просто:

git push
0 голосов
/ 06 июля 2018

Это просто и следуйте маленьким шагам, чтобы продолжить:

  • Установите git на удаленном сервере, например, на экземпляр ec2
  • Теперь создайте папку проекта $ mkdir project.git

    Проект $ cd и выполнение $ git init --bare Допустим, эта папка project.git присутствует в вашем ip с адресом внутри home_folder / workspace / project.git, forex- ec2 - /home/ubuntu/workspace/project.git

Теперь на вашем локальном компьютере $cd в папке проекта, которую вы хотите нажать, чтобы выполнить git, выполните следующие команды:

 git init .
 git remote add origin username@189.14.666.666:/home/ubuntu/workspace/project.git
 git add .
 git commit -m "Initial commit"

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

 git config --global remote.origin.receivepack "git receive-pack"

 git pull origin master
 git push origin master

Это должно работать нормально и отправит локальный код в удаленный репозиторий git.

Чтобы проверить URL удаленной выборки, cd project_folder / .git и конфигурацию cat, это даст удаленный URL, используемый для операций pull и push.

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

...