blob: f2a3e1890158d11fa973e8f2eba9409f896c3c2b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<h1>git-scm</h1>
<p>È uno strumento per il controllo di versione creato da Linus Torvalds nel 2005.</p>
<h2>Effettuare una diff su un'unica riga</h2>
<p>Invece di mostrare due linee per ogni cambiamento, Git permete di
evidenziarli esplicitamente su una riga:</p>
<pre>git diff --word-diff nome_file</pre>
<h2>blame prima di una specifica commit</h2>
<pre>git blame id_commit~1 -- nome_file</pre>
<h2>Rimuovere i vecchi branch remoti eliminati sul server</h2>
<p>Se sul server non risultano più dei branch, è possibile
rimuoverli localmente usando il seguente comando:</p>
<pre>git fetch origin --prune</pre>
<h2>Come fare a sapere se un branch è mergiato su master</h2>
<p>
<ul>
<li><code>git branch --merged master</code> mostra i branch mergiati su
master</li>
<li><code>git branch --merged</code> mostra i branch mergiati su HEAD</li>
<li><code>git branch --no-merged</code> mostra i branch che non sono stati
ancora mergiati</li>
</ul>
Questi comandi si applicano solo ai branch locali. Il flag <code>-a</code>
mostra sia i branch locali che remoti, e il flag <code>-r</code> mostra solo
i branch remoti.
</p>
<h2>Come vedere quali commit sono presenti in un branch piuttosto che in un
altro</h2>
<p>Si suppone di avere un branch <i>develop</i> e un branch <i>feature</i>, si
vuole sapere quali commit sono presenti in <i>develop</i> che non sono
presenti in <i>feature</i>:</p>
<pre>git log --oneline develop ^feature</pre>
<p>oppure:</p>
<pre>git log feature..develop</pre>
<p>Da notare che i due branch sono invertiti rispetto al primo comando</p>
<h2>Come vedere se una commit è contenuta in un branch</h2>
<p>Ci si può arrivare eseguendo il comando qui sotto che mostra tutti i
branch che contengono quella commit:</p>
<pre>git branch --contains <commit></pre>
|