# Ajout de code hébergé localement dans GitHub

Si votre code est stocké localement sur votre ordinateur et géré par Git, ou n’est géré par aucun système de contrôle de version (VCS), vous pouvez l’importer dans GitHub à l’aide de GitHub CLI ou de commandes Git.

## A propos de l'importation du code source

Importer votre code source dans GitHub vous permet, ainsi qu’à d’autres, de collaborer plus facilement sur des projets et de gérer le code.
GitHub vous aide à collaborer, à suivre les modifications et à organiser les tâches, ce qui simplifie la génération et la gestion des projets. Pour plus d’informations, consultez « [Qu’est-ce que GitHub ?](/fr/enterprise-server@3.21/get-started/start-your-journey/what-is-github) ».

> \[!WARNING]
> Ne jamais envoyer d'informations sensibles `git add`,`commit` ou`push`, par exemple des mots de passe ou des clés d'API, à un référentiel distant. Si vous avez déjà ajouté ces informations, consultez [Suppression de données sensibles dans un dépôt](/fr/enterprise-server@3.21/authentication/keeping-your-account-and-data-secure/removing-sensitive-data-from-a-repository).

### Ajout d’un code source existant à GitHub

Si vous disposez d’un code source stocké localement sur votre ordinateur qui est suivi par Git ou non par un système de contrôle de version (VCS), vous pouvez ajouter le code en GitHub tapant des commandes dans un terminal. Vous pouvez le faire en tapant directement les commandes Git. Vous pouvez également utiliser GitHub CLI ou GitHub Desktop.

#### Utilisation de GitHub CLI

GitHub CLIest un outil open source pour l'utilisation GitHub à partir de la ligne de commande de votre ordinateur.
GitHub CLI peut simplifier le processus d’ajout d’un projet existant à GitHub à l’aide de la ligne de commande. Pour en savoir plus sur GitHub CLI, consultez [À propos de l’interface CLI GitHub](/fr/enterprise-server@3.21/github-cli/github-cli/about-github-cli).

#### Utilisation de GitHub Desktop

Si vous êtes plus à l’aise avec une interface utilisateur en pointer-cliquer, envisagez plutôt d’ajouter votre projet avec GitHub Desktop. Pour plus d’informations, consultez « [Ajout d’un dépôt de votre ordinateur local à GitHub Desktop](/fr/desktop/adding-and-cloning-repositories/adding-a-repository-from-your-local-computer-to-github-desktop) ».

### Conversion de référentiels à partir d’autres VCS

Si votre code source est suivi par un autre VCS, tel que Mercurial, Subversion ou Team Foundation Version Control, vous devez convertir le référentiel en Git avant de pouvoir ajouter le projet GitHub.

* [Importation d’un dépôt Subversion](/fr/enterprise-server@3.21/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-a-subversion-repository)
* [Importation d’un dépôt Mercurial](/fr/enterprise-server@3.21/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-a-mercurial-repository)
* [Importation d’un dépôt Team Foundation Version Control](/fr/enterprise-server@3.21/migrations/importing-source-code/using-the-command-line-to-import-source-code/importing-a-team-foundation-version-control-repository)

## Initialisation d’un dépôt Git

Si votre code hébergé localement n’est suivi par aucun système de gestion de versions, la première étape consiste à initialiser un dépôt Git. Si votre projet est déjà suivi par Git, passez à [Importation d’un référentiel Git avec la ligne de commande](#importing-a-git-repository-with-the-command-line).

1. Ouvrez <span class="platform-mac">Terminal</span><span class="platform-linux">Terminal</span><span class="platform-windows">Git Bash</span>.

2. Accédez au répertoire racine de votre projet.

3. Initialisez le répertoire local en tant que dépôt Git. Par défaut, la branche initiale est appelée `main`.

   Si vous utilisez Git 2.28.0 ou une version ultérieure, vous pouvez définir le nom de la branche par défaut en utilisant `-b`.

   ```shell
   git init -b main
   ```

   Si vous utilisez Git 2.27.1 ou une version antérieure, vous pouvez définir le nom de la branche par défaut en utilisant `git symbolic-ref`.

   ```shell
   git init && git symbolic-ref HEAD refs/heads/main
   ```

4. Ajoutez les fichiers dans votre nouveau dépôt local. Cette opération les prépare en vue du premier commit.

   ```shell
   $ git add .
   # Adds the files in the local repository and stages them for commit. Pour désindexer un fichier, utilisez « git reset HEAD VOTRE-FICHIER ».
   ```

5. Commitez les fichiers que vous avez indexés dans votre dépôt local.

   ```shell
   $ git commit -m "First commit"
   # Commits the tracked changes and prepares them to be pushed to a remote repository. Pour supprimer ce commit et modifier le fichier, utilisez « git reset --soft HEAD~1 », puis commitez et rajoutez le fichier.
   ```

## Importation d’un dépôt Git avec la ligne de commande

Après avoir initialisé un dépôt Git, vous pouvez publier le dépôt sur GitHub, à l’aide de GitHub CLI ou de Git.

* [Ajout d’un référentiel local à l’aide de GitHubGitHub CLI](#adding-a-local-repository-to-github-with-github-cli)
* [Ajout d’un référentiel local à l’aide GitHub de Git](#adding-a-local-repository-to-github-using-git)

### Ajout d’un référentiel local à l’aide de GitHubGitHub CLI

1. Pour créer un dépôt pour votre projet sur GitHub, utilisez la sous-commande `gh repo create`. Lorsque vous y êtes invité, sélectionnez **Envoyer (push) un référentiel local existant vers GitHub** et entrez le nom souhaité pour votre référentiel. Si vous voulez que votre projet appartienne à une organisation plutôt qu’à votre compte d’utilisateur, spécifiez le nom de l’organisation et le nom du projet avec `ORGANIZATION-NAME/PROJECT-NAME`.

2. Suivez les invites interactives. Pour ajouter le dépôt distant et le pousser, répondez oui quand vous êtes invité à ajouter le dépôt distant et à pousser les commits vers la branche active.

3. Vous pouvez aussi ignorer toutes les invites, fournir le chemin du dépôt avec l’indicateur `--source` et utiliser un indicateur de visibilité (`--public`, `--private` ou `--internal`). Par exemple : `gh repo create --source=. --public`. Spécifiez un distant avec l’indicateur `--remote`. Pour pousser vos commits, passez l’indicateur `--push`. Pour plus d’informations sur les arguments possibles, consultez le [GitHub CLI manuel](https://cli.github.com/manual/gh_repo_create).

### Ajout d’un référentiel local à l’aide GitHub de Git

Avant de pouvoir ajouter votre référentiel local à l’aide GitHub de Git, vous devez vous authentifier sur GitHub la ligne de commande. Pour plus d’informations, consultez « [À propos de l’authentification à GitHub](/fr/enterprise-server@3.21/authentication/keeping-your-account-and-data-secure/about-authentication-to-github#authenticating-with-the-command-line) ».

<div class="ghd-tool mac">

1. Créez un référentiel dans GitHub. Pour éviter les erreurs, n’initialisez pas le nouveau dépôt avec le fichier README, la licence ou les fichiers gitignore. Vous pouvez ajouter ces fichiers après que votre projet ait été poussé sur GitHub. Pour plus d’informations, consultez « [Création d’un dépôt](/fr/enterprise-server@3.21/repositories/creating-and-managing-repositories/creating-a-new-repository) ».

2. En haut de votre référentiel, sur la page Configuration rapide de GitHub, cliquez sur <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copy" aria-label="Copy to clipboard" role="img"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> pour copier l’URL du référentiel distant.

   ![Capture d’écran de l’en-tête « Configuration rapide » dans un dépôt. À côté de l'URL distant, une icône représentant deux carrés superposés apparaît en orange.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png)

3. Ouvrez <span class="platform-mac">Terminal</span><span class="platform-linux">Terminal</span><span class="platform-windows">Git Bash</span>.

4. Remplacez le répertoire de travail actuel par votre projet local.

5. Exécutez la commande suivante pour ajouter l’URL du référentiel distant vers lequel votre référentiel local sera envoyé. Remplacez `REMOTE-URL` par l’URL complète du référentiel sur GitHub.

   ```shell
   git remote add origin REMOTE-URL
   ```

   Pour plus d’informations, consultez « [Gestion de dépôts distants](/fr/enterprise-server@3.21/get-started/git-basics/managing-remote-repositories) ».

6. Exécutez la commande suivante pour vérifier que vous avez correctement défini l’URL distante :

   ```shell
   git remote -v
   ```

7. Pour envoyer les modifications de votre dépôt local vers GitHub, exécutez la commande suivante.

   ```shell
   git push -u origin main
   ```

   Si votre branche par défaut n’est pas nommée « main », remplacez « main » par le nom de votre branche par défaut. Pour plus d’informations, consultez « [Branches](/fr/enterprise-server@3.21/pull-requests/reference/branches#about-the-default-branch) ».

</div>

<div class="ghd-tool windows">

1. Créez un référentiel dans GitHub. Pour éviter les erreurs, n’initialisez pas le nouveau dépôt avec le fichier README, la licence ou les fichiers gitignore. Vous pouvez ajouter ces fichiers après que votre projet ait été poussé sur GitHub. Pour plus d’informations, consultez « [Création d’un dépôt](/fr/enterprise-server@3.21/repositories/creating-and-managing-repositories/creating-a-new-repository) ».

2. En haut de la page Quick Setup de GitHub de votre dépôt, cliquez sur <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copy" aria-label="Copy to clipboard" role="img"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> pour copier l’URL du dépôt distant.

   ![Capture d’écran de l’en-tête « Configuration rapide » dans un dépôt. À côté de l'URL distant, une icône représentant deux carrés superposés apparaît en orange.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png)

3. Ouvrez <span class="platform-mac">Terminal</span><span class="platform-linux">Terminal</span><span class="platform-windows">Git Bash</span>.

4. Remplacez le répertoire de travail actuel par votre projet local.

5. Exécutez la commande suivante pour ajouter l’URL du référentiel distant vers lequel votre référentiel local sera envoyé. Remplacez `REMOTE-URL` par l’URL complète du référentiel sur GitHub.

   ```shell
   git remote add origin REMOTE-URL
   ```

   Pour plus d’informations, consultez « [Gestion de dépôts distants](/fr/enterprise-server@3.21/get-started/git-basics/managing-remote-repositories) ».

6. Exécutez la commande suivante pour vérifier que vous avez correctement défini l’URL distante :

   ```shell
   git remote -v
   ```

7. Pour pousser les modifications de votre dépôt local vers GitHub, exécutez la commande suivante.

   ```shell
   git push origin main
   ```

   Si votre branche par défaut n’est pas nommée « main », remplacez « main » par le nom de votre branche par défaut. Pour plus d’informations, consultez « [Branches](/fr/enterprise-server@3.21/pull-requests/reference/branches#about-the-default-branch) ».

</div>

<div class="ghd-tool linux">

1. Créez un référentiel dans GitHub. Pour éviter les erreurs, n’initialisez pas le nouveau dépôt avec le fichier README, la licence ou les fichiers gitignore. Vous pouvez ajouter ces fichiers après que votre projet ait été poussé sur GitHub. Pour plus d’informations, consultez « [Création d’un dépôt](/fr/enterprise-server@3.21/repositories/creating-and-managing-repositories/creating-a-new-repository) ».

2. En haut de votre dépôt, sur la page Quick Setup de GitHub, cliquez sur <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copy" aria-label="Copy to clipboard" role="img"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> pour copier l’URL du dépôt distant.

   ![Capture d’écran de l’en-tête « Configuration rapide » dans un dépôt. À côté de l'URL distant, une icône représentant deux carrés superposés apparaît en orange.](/assets/images/help/repository/copy-remote-repository-url-quick-setup.png)

3. Ouvrez <span class="platform-mac">Terminal</span><span class="platform-linux">Terminal</span><span class="platform-windows">Git Bash</span>.

4. Remplacez le répertoire de travail actuel par votre projet local.

5. Exécutez la commande suivante pour ajouter l’URL du référentiel distant vers lequel votre référentiel local sera envoyé. Remplacez `REMOTE-URL` par l’URL complète du référentiel sur GitHub.

   ```shell
   git remote add origin REMOTE-URL
   ```

   Pour plus d’informations, consultez « [Gestion de dépôts distants](/fr/enterprise-server@3.21/get-started/git-basics/managing-remote-repositories) ».

6. Exécutez la commande suivante pour vérifier que vous avez correctement défini l’URL distante :

   ```shell
   git remote -v
   ```

7. Pour envoyer les modifications de votre référentiel local vers GitHub, exécutez la commande suivante.

   ```shell
   git push origin main
   ```

   Si votre branche par défaut n’est pas nommée « main », remplacez « main » par le nom de votre branche par défaut. Pour plus d’informations, consultez « [Branches](/fr/enterprise-server@3.21/pull-requests/reference/branches#about-the-default-branch) ».

</div>

## Pour aller plus loin

* [Ajout d’un fichier à un référentiel](/fr/enterprise-server@3.21/repositories/working-with-files/managing-files/adding-a-file-to-a-repository#adding-a-file-to-a-repository-using-the-command-line)