[Linux-Biella] hg vs git spiegatemi
Daniele Segato
daniele.bilug a gmail.com
Mer 16 Nov 2011 09:23:36 CET
On Wed, 2011-11-16 at 00:00 +0100, Federico "Darkmagister" Pietta wrote:
> You are not currently on a branch, so I cannot use any
> 'branch.<branchname>.merge' in your configuration file.
> Please specify which branch you want to merge with on the command
> line and try again (e.g. 'git pull <repository> <refspec>').
ti sta dicendo una cosa ovvia per chi conosce un po' git :)
puoi fare il checkout di un commit specifico
git checkout 073494405e537f3a79dc0fffeec601f3e0a263f9
git te lo lascia fare, ti mette tutti i file com'erano esattamente a
quel commit
ma tu NON SEI in un branch, sei a quel commit
questa situazione in git si chiama DETACHED HEAD (la HEAD non è
attaccata ad un branch)
in genere quando fai un commit il branch "ti segue", ma se non sei in un
branch chiaramente non è possibile
la stessa cosa succede se fai il checkout di un tag, perché un tag, per
definizione, non è un branch e non può "spostarsi" con i tuoi commit
detto ciò... puoi creare un branch a partire da qualunque commit...
e per aggiornare git vuole sempre che gli indichi quale branche e da
quale repository
git pull origin master
ovvero: fai pull dal repository che si chiama "origin" per il branch
master
per fare solo:
git pull
devo mettere avere delle preferenze che dicano: "di solito il pull e il
push del branch master lo voglio fare dal repository origin"
il che lo ottieni semplicemente aggiungendo -u al primo push
git push -u origin master
successivamente quando sei su master:
git pull
git push
personalmente preferisco indicare ogni volta dove pushare e da dove
pullare (passatemi queste orride italianizzazioni) perché se un giorno
lavorassi su più repo remoti credo mi sarebbe più comodo
Maggiori informazioni sulla lista
Linux