Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [GIT] Problem z wypchnięciem zmian
Forum PHP.pl > Forum > Przedszkole
noo-noo
Witam.
Zacząłem się bawić repozytoriami GIT. Napotkałem jednak na problem, ale od początku:

1. Tworzę sobie repozytorium na serwerze

a) git init
cool.gif git add .
c) git commit -m "Opis zmian"

Oczywiście przed poleceniem add stworzyłem sobie jakieś testowe pliki.
Następnie na komputerze lokalnym robię:

a) git clone ssh://adres_mojego_repo
Repozytorium zostało pobrane ze wszystkimi plikami. Dodałem kilka nowych plików.
cool.gif git add .
c) git commit -m "Zmiany na lokalnej maszynie"

Następnie chciałem wypchnąć zmiany na serwer:
git push

W tym momencie mam poniższy błąd:

Kod
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 274 bytes, done.
Total 3 (delta 0), 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 ssh://adres_mojego_repo
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'ssh://adres_mojego_repo'


Czy to ja robię coś źle czy problem jest w czymś innym questionmark.gif
vokiel
A czy ustawiłeś pierwsze repozytorium jako origin? Poza tym, musisz mieć uprawnienia do zapisywania, sprawdź, czy użytkownik na którego się łączysz przez ssh ma takie prawa do katalogu z repozytorium.
noo-noo
Jedyną komendę którą jeszcze wykonałem to:

Kod
git remote add test ssh://adres_mojego_repo


Mam możliwość dokonywania zmian z tego użytkownika.
vokiel
Kod
$ git remote add origin ssh://adres_Twojego_repo
$ git push origin master /* do wysylania */
noo-noo
Niestety powyższe polecenia nie zmieniły sytuacji. Nadal mam ten sam błąd.
vokiel
A jak zrobisz tak, maszyna serwer:
Kod
git --bare init

Maszyna klient
Kod
git remote add origin ssh://adres_Twojego_repo
git remote show origin # sprawdzenie co jest w repo
git push origin master
wowo86
na serwerze gdzie pushujesz nie musi być repozytorium "bare". Zrób git push test master, ale wtedy na serwerze będziesz musiał zrobić git reset --hard HEAD, żeby zmiany były widoczne w kopii roboczej
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.