Как правильно настроить git-сервер на CentOS - PullRequest
0 голосов
/ 10 октября 2018

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

Вот что я сделал:

  1. Создан .shh и.ssh / авторизован / ключи от пользователя с правами администратора.Я не настраивал нового пользователя git, потому что после отправки кода в репозиторий пользователей git я боялся, мне пришлось бы вручную скопировать его пользователю adminrador, так как apache ищет веб-приложение на /var/www/html (может быть, яздесь не так?)
  2. Добавлен id_rsa.pub компьютера-разработчика на веб-сервер .ssh / authorized_keys
  3. На веб-сервере я создал каталог на /var/www/html/asc, а затем попытался сначалаgit init --bare, который превратил папку asc в папку .git.Как я обнаружил, это было странно, так как все мои предыдущие проекты имели папку .git, поэтому я удалил все и сделал git init, который создал папку .git внутри каталога /var/www/html/asc (это то, что я ожидал).
  4. Затем на машине для разработки я пошел в каталог проектов и выполнил git init -> git -am 'initial commit' -> git remote add localgit administrator@192.168.0.106:/var/www/html/asc -> git push localgit master
  5. Однако это дает мне следующееошибка:

    Counting objects: 132, done. Delta compression using up to 4 threads. Compressing objects: 100% (120/120), done. Writing objects: 100% (132/132), 2.02 MiB | 7.70 MiB/s, done. Total 132 (delta 13), reused 0 (delta 0) remote: error: refusing to update checked out branch: refs/heads/master remote: error: By default, updating the current branch in a non-bare repository remote: error: is denied, because it will make the index and work tree inconsistent remote: error: with what you pushed, and will require 'git reset --hard' to match remote: error: the work tree to HEAD. remote: error: remote: error: You can set 'receive.denyCurrentBranch' configuration variable to remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into remote: error: its current branch; however, this is not recommended unless you remote: error: arranged to update its work tree to match what you pushed in some remote: error: other way. remote: error: remote: error: To squelch this message and still keep the default behaviour, set remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'. To 192.168.0.106:/var/www/html/asc/.git ! [remote rejected] master -> master (branch is currently checked out) error: failed to push some refs to 'administrador@192.168.0.106:/var/www/html/asc/.git'

  6. Теперь, когда я пытался передать свой код в локальную службу git, когда он был настроен с использованием тега --bare (что было странномне), это было сообщение, которое я получил:

    Counting objects: 132, done. Delta compression using up to 4 threads. Compressing objects: 100% (120/120), done. Writing objects: 100% (132/132), 2.02 MiB | 7.56 MiB/s, done. Total 132 (delta 13), reused 0 (delta 0) To 192.168.0.106:/var/www/html/asc [new branch] master -> master

  7. Однако на веб-сервере каталог /var/www/html/asc содержал все эти мерзавцы, такие как ветви,HEAD, хуки, информация и т. Д. Но ни один из кодов, которые я нажал, даже в ветвях папок не было мастера внутри, как я и ожидал.

  8. В любом случае, возможно, этоя виноват в том, что не знаю, как работать с git, но как мне этого добиться: я хочу развивать сетьприложение на моей машине, и когда какая-то функция готова, я бы хотел перенести ее на локальный веб-сервер и запустить без каких-либо проблем внутри сервера.Я подумал, что установка git-репозитория прямо внутри /var/www/html была бы хорошей идеей, но, возможно, это не так?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...