Hej, mam dziwny problem z git, jak zawsze zaskakuje mnie swoją magią ^^
Proces tworzenia repozytorium w moim przypadku wygląda następująco:
- Sprawdzam wszystkie lokalne branche (aktualnie jestem na master)
$ git branch -vv
* master aeaa98a [origin/master] add readme
- Sprawdzam czy są jakieś nowości
$ git pull --rebase
Current branch master is up to date.
- Jesli nie to tworzę nowego brancha
$ git checkout -b Jacek/gameMenu
Switched to a new branch 'Jacek/gameMenu'
- Od razu tworzę remote branch
$ git push origin Jacek/gameMenu
Total 0 (delta 0), reused 0 (delta 0)
To <nazwa_repozytorium>.git
* [new branch] Jacek/gameMenu -> Jacek/gameMenu
-
Mam utworzony lokalny branch i remote więc mogę już działać i coś tam tworzyć
-
Po części wykonanej pracy chcę wypchać moje zmiany na remote
$ git status // zmiany sa
$ git add . // stage
$ git commit -m "first version of game menu"
[Jacek/gameMenu 42a81c6] first version of game menu
20 files changed, 400 insertions(+), 14 deletions(-)
$ git status
On branch Jacek/gameMenu
nothing to commit, working tree clean
- Do tego momentu jest ok, więc push
$ git push origin Jacek/gameMenu
Counting objects: 22, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (21/21), done.
Writing objects: 100% (22/22), 25.88 MiB | 72.00 KiB/s, done.
Total 22 (delta 3), reused 0 (delta 0)
To <nazwa_repozytorium>.git
aeaa98a..42a81c6 Jacek/gameMenu -> Jacek/gameMenu
-
Push z pierwszymi zmianami poszedł
-
Znów chcę wysłać zmiany na remote, ale nie chce tworzyć nowego commita tylko pracować cały czas na tym samym (patch set nr x)
$ git status // mamy nowe zmiany
$ git add . // leci do stage
$ git commit --amend
[Jacek/gameMenu e524f8d] first version of game menu
Date: Wed Nov 23 18:42:07 2016 +0100
22 files changed, 444 insertions(+), 14 deletions(-)
coś tam potworzył...
- Gotowi na push ?
$ git status
On branch Jacek/gameMenu
nothing to commit, working tree clean
- Jednak się nie da ???!!
$ git push origin Jacek/gameMenu
To <nazwa_repozytorium>.git
! [rejected] Jacek/gameMenu -> Jacek/gameMenu (non-fast-forward)
error: failed to push some refs to '<nazwa_repozytorium>.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
I tu pojawia się problem, którego próbuje usilnie pokonać ale mi się nie udaje :(
próbowałem również pushować tak:
$ git push origin HEAD:refs/for/Jacek/gameMenu
ale jest ten sam błąd.
Próbowałem skorzystać z hinta i zrobić pull:
$ 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-to=origin/<branch> Jacek/gameMenu
lub:
$ git pull origin/Jacek/gameMenu Jacek/gameMenu
fatal: 'origin/Jacek/gameMenu' does not appear to be a git repository
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
ale nie podziałało.
W codziennej pracy tak samo działam jak powyżej z tą różnicą, że jak pushuje to:
$ git push origin HEAD:refs/for/jakisBranch
ale na tym repo, z którym się łącze z domu gdzie to repo jest na serwerze uczelni mam taki dziwny problem.
Byłbym wdzięczny za pomoc w tym magicznym przypadku