# Opérations Git : que fait le Studio Talend en coulisse ?

Lorsque vous travaillez sur un projet géré par Git, vous pouvez effectuer différentes opérations Git sur les branches de vos projets. Le tableau suivant présente la manière dont le Studio Talend interagit avec GitHub lorsque vous effectuez des opérations relatives à Git et donne les commandes Git équivalentes correspondant aux actions du Studio Talend.

* Disponible dans:
* Big Data
* Big Data Platform
* Cloud API Services Platform
* Cloud Big Data
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Integration
* Cloud Data Management Platform
* Data Fabric
* Data Integration
* Data Management Platform
* Data Services Platform
* ESB
* Qlik Cloud Enterprise Edition
* Qlik Talend Cloud Enterprise Edition
* Qlik Talend Cloud Premium Edition
* Real-Time Big Data Platform

## Actions du Studio Talend et commandes Git équivalentes

| Actions des utilisateur·trices dans le Studio Talend | Commandes Git effectuées par le Studio Talend |
| --- | --- |
| Sauvegardez ou déverrouillez un élément de projet | <ol> <li>Obtient le statut Git.<pre><code><pre><code><code>git status &lt;current-project-name&gt;</code></code></pre></code></pre></li> <li>Ajoute les fichiers modifiés à l'index.<pre><code><pre><code><code>git add &lt;file&gt;</code></code></pre></code></pre></li> <li>Commite les modifications.<pre><code><pre><code><code>git commit -m &lt;commit-message&gt;</code></code></pre></code></pre></li> <li>Obtient le statut Git.<pre><code><pre><code><code>git status &lt;current-project-name&gt;</code></code></pre></code></pre></li> </ol> |
| Sélectionnez Push dans le menu déroulant | <ol> <li>Obtient le statut Git.<pre><code><pre><code><code>git status</code></code></pre></code></pre></li> <li>Remise (stash) les autres modifications.<pre><code><pre><code><code>git stash save -u &lt;internal-name&gt;</code></code></pre></code></pre></li> <li>Effectue un pull.<pre><code><pre><code><code>git pull</code></code></pre></code></pre></li> <li>Effectue un push.<pre><code><pre><code><code>git push</code></code></pre></code></pre></li> <li>Appelle l'API JGit pour appliquer le remisage (stash).</li> <li>Supprime le remisage (stash).<pre><code><pre><code><code>git stash drop &lt;stash-id&gt;</code></code></pre></code></pre></li> <li>Obtient le statut Git.<pre><code><pre><code><code>git status</code></code></pre></code></pre></li> </ol> |
| Sélectionnez Pull & Merge (Pull et Merge) dans le menu déroulant. | <ul> <li>Si le nom de la branche locale est le même que le nom de la branche distante&nbsp;:<ol> <li>Obtient le statut Git.<div><pre><code><code>git status</code></code></pre></div></li> <li>Remise (stash) les autres modifications.<div><pre><code><code>git stash save -u &lt;internal-name&gt;</code></code></pre></div></li> <li>Effectue un pull.<div><pre><code><code>git pull</code></code></pre></div></li> <li>Appelle l'API JGit pour appliquer le remisage (stash).</li> <li>Supprime le remisage (stash).<div><pre><code><code>git stash drop &lt;stash-id&gt;</code></code></pre></div></li> <li>Obtient le statut Git.<div><pre><code><code>git status</code></code></pre></div></li> <li>Supprime les tags locaux.<div><pre><code><code>git tag -d &lt;tag-name&gt;</code></code></pre></div></li> <li>Récupère les tags du serveur Git.<div><pre><code><code>git fetch -t -p</code></code></pre></div></li> </ol></li> <li>Si le nom de la branche locale est différent de celui de la branche distante, une fusion (merge) est effectuée.<div><pre><code><code>git merge &lt;selected-branch&gt;</code></code></pre></div></li> </ul> |
| Sélectionnez New Branch dans le menu déroulant | Crée une branche locale basée sur la branche sélectionnée.<br><br>```<br>git branch <new-branch-name> <base-branch-name><br>``` |
| Sélectionnez Switch dans le menu déroulant. | <ol> <li>Obtient le statut Git.<div><pre><code><code>git status</code></code></pre></div></li> <li>Se reconnecte au projet sur la branche sélectionnée.</li> </ol> |
| Sélectionnez Check out as local (Check out comme branche locale) dans la boîte de dialogue All branches (Toutes les branches). | <ul> <li>Si le nom de la branche locale est le même que celui de la branche distante, une branche locale est créée, en se basant sur la branche sélectionnée et associe la nouvelle branche à la branche de base.<div><pre><code><code>git branch &lt;new-branch-name&gt; &lt;base-branch-name&gt; --track</code></code></pre></div></li> <li>Si le nom de la branche locale est différent de celui de la branche distante, une branche locale est créée en se basant sur la branche sélectionnée.<div><pre><code><code>git branch &lt;new-branch-name&gt; &lt;base-branch-name&gt;</code></code></pre></div></li> </ul> |
| Sélectionnez Add Tag (Ajouter un tag) dans le menu déroulant. | <ol> <li>Supprime les tags locaux.<div><pre><code><code>git tag -d &lt;tag-name&gt;</code></code></pre></div></li> <li>Récupère les tags du serveur Git.<div><pre><code><code>git fetch -t -p</code></code></pre></div></li> <li>Crée le tag.<div><pre><code><code>git tag &lt;tag-name&gt;</code></code></pre></div></li> <li>Supprime les tags locaux.<div><pre><code><code>git tag -d &lt;tag-name&gt;</code></code></pre></div></li> <li>Récupère les tags du serveur Git.<div><pre><code><code>git fetch -t -p</code></code></pre></div></li> </ol> |