diff options
author | 2022-06-22 15:35:09 +0200 | |
---|---|---|
committer | 2022-06-22 15:35:09 +0200 | |
commit | 93eb9ac0bb372a61cb14ed090c262fd14bd1d525 (patch) | |
tree | 4881b77d04afe7d3413eab30e6822a6bc766b5aa /docs | |
parent | 5f8b72be6999b6d17e96a9c307c0506b39738372 (diff) | |
download | website-93eb9ac0bb372a61cb14ed090c262fd14bd1d525.tar.gz website-93eb9ac0bb372a61cb14ed090c262fd14bd1d525.zip |
Add new section to git doc
Diffstat (limited to 'docs')
-rw-r--r-- | docs/git/git.rhtml | 39 |
1 files changed, 37 insertions, 2 deletions
diff --git a/docs/git/git.rhtml b/docs/git/git.rhtml index f2a3e18..d72c01f 100644 --- a/docs/git/git.rhtml +++ b/docs/git/git.rhtml @@ -4,10 +4,10 @@ <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> +<pre class="bordered">git diff --word-diff nome_file</pre> <h2>blame prima di una specifica commit</h2> -<pre>git blame id_commit~1 -- nome_file</pre> +<pre class="bordered">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 @@ -42,3 +42,38 @@ <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> + +<h2>cgit: il branch predefinito</h2> +<p>Si immagini di avere tre branch: <i>master</i>, <i>svil</i> e <i>test</i>. + Tutto lo sviluppo viene effettuato sul branch <i>svil</i> e <i>master</i> si + trova notevolmente indietro. Su GitHub, tramite l'interfaccia web, si + può impostare qualsiasi altro branch predefinito al posto di + <i>master</i>, ma se il server è gestito tramite cgit, come si + può eliminare il branch <i>master</i>?</p> + +<p>Non è poi così difficile, basta entrare nel repository, ad + esempio <i>repo.git</i>, nel quale ci saranno i calssici file:</p> +<pre class="bordered">branches +config +description +HEAD +hooks +info +objects +refs</pre> +<p>Il contenuto di <i>HEAD</i> dovrebbe essere qualcosa come:</p> +<pre class="bordered">ref: refs/heads/master</pre> +<p>Come si può notare, punta a <i>master</i>. Evitare di modificarlo a + mano ed eseguire il comando git usando l'argomento <i>symbolic-ref</i>:</p> +<pre class="bordered">$ git symbolic-ref HEAD refs/heads/test</pre> +<p>Se non si ha intenzione di ripristinare il branch predefinito su + <i>master</i>, bisognerebbe eseguire il symbolic-ref anche nella copia locale + del repository. Da adesso in avanti, cgit userà <i>test</i> come branch + predefinito, anche quando si effettuerà un clone.</p> +<p>Per procedere alla rimozione del branch <i>master</i>, si esegue il solito + comando di eliminazione:</p> +<pre class="bordered">$ git branch -d master +$ git push origin :master +</pre> +<p>O se si preferisce, il secondo comando può essere sostituito con:</p> +<pre class="bordered">$ git push --delete origin master</pre> |