Erro ao dar Push no repositório GIT

Aqui vai um resumo de como eu resolvi esse problema :)

Eu sou novato tanto em GIT quanto em qualquer outro software de versionamento. nubei de mais XD

IMPORTANTE:

isso não é um tutorial, ou seja não siga os passos dele para obter um bom resultado, mas partes desse evento podem ser uma solução para seu problema. erros de português tem aqui aos montes... waaalleee!!

Bom quando fui dar o simples e corriqueiro git push no getna me veio o seguinte erro:

git push
To git@github.com:user/repo.git
! [rejected] branchname -> branchname (non-fast forward)
error: failed to push some refs to 'git@github.com:user/repo.git'

Após realizar uma pesquisa, logo veio a solução, como eu havia feito alterações no código em meu trabalho com uma versão mais antiga(a que estava no GIT) do que eu tinha em minha casa(esqueci de "pushar" o código) então necessitava dar um comando para pegar o código que estava no git

git pull

simples não?

Como retorno obtivemos

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git pull
remote: Counting objects: 28, done.
remote: Compressing objects: 100% (12/12), done.
remote: Total 17 (delta 7), reused 0 (delta 0)
Unpacking objects: 100% (17/17), done.
From git@github.com:LuizCarvalho/getna
   31ef4ca..3df45aa  master     -> origin/master
 * [new branch]      trunk      -> origin/trunk
You asked me to pull without telling me which branch you
want to merge with, and 'branch.master.merge' in
your configuration file does not tell me either.  Please
name which branch you want to merge on the command line and
try again (e.g. 'git pull  ').
See git-pull(1) for details on the refspec.

If you often merge with the same branch, you may want to
configure the following variables in your configuration
file:

    branch.master.remote =
    branch.master.merge =
    remote..url =
    remote..fetch =

See git-config(1) for details.

Bom... melhorou mais ainda não funcionou...

eu tinha uma certeza que devia fazer um merge... mas num sabia como fazer isso, dei um:

git checkout master

apareceu algumas coisas, ai achei que agora iria funcionar, é hora do merge:

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git merge trunk
trunk - not something we can merge

é acho que não funcionou... :(, no tutorial do Akita pareceu tão facil, nao entendi essa de não poder mesclar....

bom pensei um pouco eu tenho a seguinte situação

tenho:

getna V1(master) - github
getna V2(master) - em casa
getna V3(trunk) - github

hum, acho que eu baguncei de mais... acho que o que eu estou tentando é unir V2 e V3. mas e V1...

hum... esperem... isso pode funcionar vo fazer um teste.

git branch -a
* master
  origin/master
  origin/trunk

Opa. hum eu tentei dar um merge no master(V2)... que é o branch que eu estou no momento... e esse origin/master... acho que ele é o master que esta no github(V1)...vamos ver... o que é um peido pra que já esta cagado não é mesmo? :D

git merge origin/master

generators/getna/doc/rdoc-style.css: needs update
generators/getna/templates_1/controller.rb: needs update
generators/getna/templates_1/functional_test.rb: needs update
generators/getna/templates_1/helper.rb: needs update
generators/getna/templates_1/layout.html.erb: needs update
generators/getna/templates_1/style.css: needs update
(...)
Auto-merged generators/getna/USAGE
CONFLICT (content): Merge conflict in generators/getna/USAGE
Automatic merge failed; fix conflicts and then commit the result.

OHHHHH!!! que isso? acho q agora sim *.*

Mas esperem, que negocio é esse de merge failed... vix... acho que não foi... hum vo tentar de novo eu gostei desse merge XD

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git merge origin/master
You are in the middle of a conflicted merge.

Ein? que isso ai agora? porque dessa vez não funcionou? :(, vo ver esse arquivo USAGE ai

<<<<<<< HEAD:generators/getna/USAGE
== Getna

=======
script/generator getna xxx
>>>>>>> origin/master:generators/getna/USAGE

Que isso meu deus do céu??? O.o. De onde veio esse código doido?

Hum... esse é a tal das tags de conlfito.... vo resolver essa budega.. vo tirar a parte que eu n quero mais.

== Getna

script/generator getna xxx

Aew. eu quero assim  =)

e agora... to com medo de c*gar de novo o código.... to nem ai XD

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git merge origin/master
You are in the middle of a conflicted merge.

Ué. mas eu resolvi essa carniça ai agorinha... O.o

deixa eu ver aqui.

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git status
generators/getna/USAGE: needs merge
# On branch master
# Changed but not updated:
#   (use "git add/rm <file>..." to update what will be committed)
#
#    unmerged:   generators/getna/USAGE
#    modified:   generators/getna/USAGE

AAHHH, tô ligado... acho que vou ter q adicionar de novo pra funcionar.

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git add .

hum... acho que agora eu uso o tal do rebase... pra refazer todas as mudanças nos dois desde o incio. =) vamos ver o que dá.

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git rebase --continue
You must edit all merge conflicts and then
mark them as resolved using git add

O.o, mas que p*rra... vo adicionar só  o arquivo agora.

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git add generators/getna/USAGE

Hum... deixa eu verificar o status de novo.

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#    modified:   generators/getna/USAGE
#

Opa, animei de novo. agora parece tudo ok. vamos de novo:

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git rebase --continue
You must edit all merge conflicts and then
mark them as resolved using git add

VSF!!! Q RAIOSSS!!!

vo desistir... ¬¬... sabe de uma coisa vo commitar assim mesmo, sei que não vai funcionar mas nasci pelado, careca e banguela... agora o que vier é lucro.

maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git commit -m "resolvendo conflitos"
Created commit 8284ddb: resolvendo conflitos
maxprox@maxprox-desktop:~/NetBeansProjects/GEtna/vendor/plugins/getna$ git push
Counting objects: 32, done.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (19/19), 4.49 KiB, done.
Total 19 (delta 7), reused 0 (delta 0)
To git@github.com:LuizCarvalho/getna.git
   3df45aa..8284ddb  master -> master

UAHuaHuHuHAuhAUAHUahUAhuHau

Yuhuuuuuuuu!!! YEAAHH!!!!

AMÉMMM!!!

XUPA QUE EH DE UVAAA!!

CREU CREU CREEUU!!

=) que louco! funcionou!

heheh

Viva AO GIT!

__________________-
__________________
_______________