git: problemi con i branch
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
- ZeroUno
- Staff

- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
git: problemi con i branch
Sto cercando di capire come si deve git che al momento uso con successo ma al minimo delle funzionalità. Infatti non sono riuscito completamente a capire i branch.
Ho visto tutorial su tutorial ma non sono riuscito a capirli.
diciamo che do
$ git branch test
$ git checkout test
$ touch pippo
$ git add pippo
mi aspetterei che dopo un
$ git checkout master
questo pippo non si veda più, finchè non venga fatto un git merge;
e invece eccolo lì che rimane, e la stessa cosa (anzi, talvolta peggio) se invece della creazione di un file si tratta della modifica
finchè non effettuo un commit il file mi rimane su tutti i branch.
come si risolve la cosa?
Ciao
01
Ho visto tutorial su tutorial ma non sono riuscito a capirli.
diciamo che do
$ git branch test
$ git checkout test
$ touch pippo
$ git add pippo
mi aspetterei che dopo un
$ git checkout master
questo pippo non si veda più, finchè non venga fatto un git merge;
e invece eccolo lì che rimane, e la stessa cosa (anzi, talvolta peggio) se invece della creazione di un file si tratta della modifica
finchè non effettuo un commit il file mi rimane su tutti i branch.
come si risolve la cosa?
Ciao
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111Re: git: problemi con i branch
Facendo il commit, no? Alla fine l'add è una preparazione del commit.
- raffaele181188
- Packager

- Messaggi: 789
- Iscritto il: ven 7 set 2007, 21:40
- Nome Cognome: Raffaele
- Slackware: current
- Kernel: 2.6.29.6
- Desktop: KDE 4.3
- Distribuzione: Ubuntu
- Località: DearSkin (FG)
Re: git: problemi con i branch
Beh, la soluzione del commit è banale 
Matteo, stesso problema qui... Effettivamente è un comportamento stupido (e fa uguale se non dai neppure l'add)
...
Matteo, stesso problema qui... Effettivamente è un comportamento stupido (e fa uguale se non dai neppure l'add)
...
- ZeroUno
- Staff

- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
Re: git: problemi con i branch
E questo l'avevo capito, ma io il commit lo faccio di solito quando considero la release pronta (magari non al rilascio ma ad una situazione almeno funzionante) e per arrivare a tale release potrei a volte aver bisogno di vedere il contenuto di altri branch.MelmothX ha scritto:Facendo il commit, no?
Il problema è proprio prima dell'add. Nell'esempio l'add l'avevo messo perchè era il primo file; ma se dopo il commit modifico il file e faccio un checkout per switchare su un altro branch mi ritrovo questo file modificato e in caso di conflitti non mi fa nemmeno cambiare branch in modo temporaneo.Alla fine l'add è una preparazione del commit.
Inoltre mi capita di lavorare su due branch paralleli, feature A che contiene a.php e feature B che contiene b.php, io voglio che il branch A non veda b.php e viceversa non solo dopo i commit ma sempre, fino al merge dentro il master (e solo lì!!!). Esempio
Codice: Seleziona tutto
$ git init
$ touch index.php
$ git add .
$ git commit -m "Inizio progetto"
$ git branch A
$ git checkout A
Switched to branch "A"
$ touch a.php
$ ls
a.php index.php
$ git add a.php
$ git commit -m "Inizio A"
$ git checkout master
Switched to branch "master"
$ git branch B
$ git checkout B
Switched to branch "B"
$ touch b.php
$ git add b.php
$ git commit -m "Inizio B"
$ ls
b.php index.php
$ git checkout A
Switched to branch "A"
$ ls
a.php index.phpora vado a sviluppare A.
Codice: Seleziona tutto
$ echo "testA" >a.php
$ cat a.php
testA
# On branch A
# Changed but not updated:
# modified: a.phpCodice: Seleziona tutto
$ git checkout B
error: You have local changes to 'a.php'; cannot switch branches.
$ ls -l
-rw-r--r-- 1 matteo users 6 2009-06-22 17:13 a.php
-rw-r--r-- 1 matteo users 0 2009-06-22 16:59 index.php
$ mv a.php c.php
$ ls -l
-rw-r--r-- 1 matteo users 6 2009-06-22 17:13 c.php
-rw-r--r-- 1 matteo users 0 2009-06-22 16:59 index.php
$ git status
# On branch A
# Changed but not updated:
# deleted: a.php
# Untracked files:
# c.php
$ git checkout B
Switched to branch "B"
$ ls -l
total 4
-rw-r--r-- 1 matteo users 0 2009-06-22 17:16 b.php
-rw-r--r-- 1 matteo users 6 2009-06-22 17:13 c.php
-rw-r--r-- 1 matteo users 0 2009-06-22 16:59 index.php
$ git checkout A
$ ls -l
$ ls -l
total 4
-rw-r--r-- 1 matteo users 0 2009-06-22 17:17 a.php
-rw-r--r-- 1 matteo users 6 2009-06-22 17:13 c.php
-rw-r--r-- 1 matteo users 0 2009-06-22 16:59 index.php
è tornato a.php (quello originale, cioè vuoto)
$ git status
# Untracked files:
# c.php
Codice: Seleziona tutto
$ git status
# On branch A
nothing to commit (working directory clean)
$ ls -l
total 0
-rw-r--r-- 1 matteo users 0 2009-06-22 17:21 a.php
-rw-r--r-- 1 matteo users 0 2009-06-22 17:24 c.php
-rw-r--r-- 1 matteo users 0 2009-06-22 16:59 index.php
$ git status
# Untracked files:
# c.php
$ git checkout B
Switched to branch "B"
$ ls -l
total 0
-rw-r--r-- 1 matteo users 0 2009-06-22 17:25 b.php
-rw-r--r-- 1 matteo users 0 2009-06-22 17:24 c.php
-rw-r--r-- 1 matteo users 0 2009-06-22 16:59 index.php
Che fosse visibile me lo aspetto in quanto è "Untracked", per questo però avrei fatto (dal branch A) un git add, solamente per tracciarlo con git e lasciarlo invisibile a B e visibile ad A.
Possibile che si debba per forza fare un commit (di una situazione ancora non fissata) per andare a vedere i file di un altro branch?
Git è potente, ma ditemi che questa non è una limitazione ma che piuttosto sono io a non saperlo usare.
più che banale è costrittiva; non so che usi tu, ma fai un commit ogni volta che vuoi vedere un altro branch o vuoi fare un git pool sul master?raffaele181188 ha scritto:Beh, la soluzione del commit è banale
si, ma non è per quel lavoro; per quello me la cavo benissimo senza branch, mentre per un altro mi resterebbero molto utiliraffaele181188 ha scritto:Matteo, stesso problema qui...
Ciao
01
Ultima modifica di ZeroUno il mar 23 giu 2009, 14:53, modificato 1 volta in totale.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111Re: git: problemi con i branch
Secondo me stai sbagliando approccio. Una "release" va/andrebbe marcata con un tag, i commit sono modifiche individuali e non costano nulla. In caso hai il rebase per sistemare tutto con più ordine e il clone per lavorare in parallelo. Documentazione in linea ce n'è a bizzeffe. Ciao.
- ZeroUno
- Staff

- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
Re: git: problemi con i branch
Si, ho trovato parecchia roba, anche in italiano, ma poche risposte al mio problema, che a questo punto devo rianalizzare.MelmothX ha scritto:Secondo me stai sbagliando approccio.Il che è molto probabile.
Documentazione in linea ce n'è a bizzeffe.
Per quanto riguarda invece i git remoti, è possibile vedere i file _prima_ di effettuare il pull?
Ho visto il --no-commit, ma comunque mi scarica i file, e se due file collidono non posso (o non ci sono riuscito) a fare il confronto tra i due file allo scopo di decidere il da farsi.
Ciao
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111- targzeta
- Iper Master

- Messaggi: 6643
- Iscritto il: gio 3 nov 2005, 14:05
- Nome Cognome: Emanuele Tomasi
- Slackware: 64-current
- Kernel: latest stable
- Desktop: IceWM
- Località: Carpignano Sal. (LE) <-> Pisa
Re: git: problemi con i branch
Ma se non fai il commit le modifiche non appartengono a nessun branch. Se crei un nuovo branch questo risulta essere uguale al master, solo nel momento in cui effettui un commit le modifiche fatte apparterranno al nuovo branch con la conseguenza che divergerà dal master. Quindi mi sembra normale che il checkout dia noie.
Per le differenze remote, dal tutorial ufficiale:
Per le differenze remote, dal tutorial ufficiale:
EmanueleAlice can peek at what Bob did without merging first, using the "fetch" command; this allows Alice to inspect what Bob did, using a special symbol "FETCH_HEAD", in order to determine if he has anything worth pulling, like this:This operation is safe even if Alice has uncommitted local changes. The range notation HEAD..FETCH_HEAD" means "show everything that is reachable from the FETCH_HEAD but exclude anything that is reachable from HEAD. Alice already knows everything that leads to her current state (HEAD), and reviewing what Bob has in his state (FETCH_HEAD) that she has not seen with this commandCodice: Seleziona tutto
alice$ git fetch /home/bob/myrepo master alice$ git log -p HEAD..FETCH_HEAD
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
- ildiama
- Linux 3.x

- Messaggi: 536
- Iscritto il: mar 27 dic 2005, 16:49
- Slackware: mine
- Kernel: 2.6.alto..
- Desktop: KDE4
- Località: Senigallia
- Contatta:
Re: git: problemi con i branch
quoto.MelmothX ha scritto:Secondo me stai sbagliando approccio.
git help fetch.ZeroUno ha scritto: Per quanto riguarda invece i git remoti, è possibile vedere i file _prima_ di effettuare il pull?
Io non so cosa hai letto, ma mi sembra che tu non sia stato particolarmente attento nel farlo. Ti consiglio di (ri)leggere almeno questo (http://www.kernel.org/pub/software/scm/ ... ryday.html).
Buono studio.
- ZeroUno
- Staff

- Messaggi: 5441
- Iscritto il: ven 2 giu 2006, 14:52
- Nome Cognome: Matteo Rossini
- Slackware: current
- Kernel: slack-current
- Desktop: ktown-latest
- Distribuzione: 01000000-current
- Località: Roma / Castelli
- Contatta:
Re: git: problemi con i branch
La maggior parte della documentazione che ho letto era in italiano. Non sono particolarmente ferrato in inglese, ma il link che mi hai dato sembra abbastanza semplice.
Comunque ora non ho molto tempo per continuare a vedermi git (questo lavoro lo devo cominciare) quindi per ora procederò senza branch (questo l'ho imparato abbastanza bene).
Ciao,
01
Comunque ora non ho molto tempo per continuare a vedermi git (questo lavoro lo devo cominciare) quindi per ora procederò senza branch (questo l'ho imparato abbastanza bene).
Ciao,
01
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg
Codice: Seleziona tutto
1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111