web-dev-qa-db-fra.com

Ajouter récursivement le dossier entier à un référentiel

J'essaie d'ajouter une branche à la branche principale sur GitHub et de placer un dossier sur cette branche.

La structure de dossiers de la branche ressemble à - SocialApp/SourceCode/DevTrunk/SocialApp et tous les fichiers de code source se trouvent dans le dernier dossier.

J'utilise les commandes Git suivantes:

git add *
git commit -m with the message
git Push

Cela ne pousse que le premier dossier "SocialApp" sur GitHub et ignore le dossier SourceCode qui se trouve dans le dossier. Comment puis-je réparer ça?

200
Ashish Agarwal

Vérifiez le fichier .gitignore si le sous-répertoire est ignoré.

Puis réessaye

git add --all
git commit -am "<commit message>"
git Push
304
beyersdorfinger

SETUP - référentiel local sur un serveur local - client est connecté au serveur local via un réseau local

git add foldername/\\*

Pour le faire sur le serveur ...

git commit -m "comments..."
git Push remote_server_name master

Généralement, les utilisateurs assigneront remote_server_name en tant qu'origine ...

git remote add remote_server_name username@git_server_ip:/path/to/git_repo
27
Jake Bantug

Cela a fonctionné pour moi:

git add . --force
19
ykay

"Git add *" et "git add SocialApp" appelés à partir du répertoire principal doivent ajouter tous les répertoires de manière récursive.

Vous n'avez probablement aucun fichier dans SocialApp/SourceCode/DevTrunk/SocialApp et c'est la raison.

Essayez d'appeler "touchez SocialApp/SourceCode/DevTrunk/SocialApp/.temporary" (et vérifiez .gitignore), puis essayez à nouveau git add.

16
nopsoft

Dans mon cas, il y avait un dossier .git dans le sous-répertoire car j'avais précédemment initialisé un dépôt git là-bas. Lorsque j'ai ajouté le sous-répertoire, il l'a simplement ajouté en tant que sous-projet sans ajouter aucun des fichiers contenus.

J'ai résolu le problème en supprimant le référentiel git du sous-répertoire, puis en rajoutant le dossier.

12
disperse

Si vous souhaitez ajouter un répertoire et tous les fichiers qui s'y trouvent de manière récursive, accédez au répertoire dans lequel se trouve le répertoire que vous souhaitez ajouter. 

$ cd directory
$ git add directoryname
5
user7205168

J'ai simplement utilisé ceci:

git add app/src/release/*

Vous devez simplement spécifier le dossier à ajouter, puis utiliser * pour ajouter tout ce qui se trouve à l'intérieur de manière récursive.

5
Jaime Montoya

J'ai rencontré ce problème qui m'a pris un peu de temps, puis je me suis rappelé que git ne stockera pas de dossiers vides. Rappelez-vous que si vous souhaitez stocker une arborescence de dossiers, placez un fichier au moins dans le dossier le plus profond de cette arborescence, quelque chose comme un fichier appelé ".gitkeep", uniquement pour affecter le stockage de git. 

4
user2989397

Naviguez jusqu'au dossier où vous avez vos fichiers
si vous êtes sur une machine Windows, vous devrez démarrer git bash à partir duquel vous obtiendrez une interface en ligne de commande, puis utilisez ces commandes. 

git init   //this initializes a .git  repository in your working directory
git add *   // this adds all the files to the initialialized git repository

si vous apportez des modifications aux fichiers avant de les fusionner dans le fichier maître, vous devez les valider en exécutant

git commit -m "applied some changes to the branch"

Après cette vérification, la branche à la branche principale

0
Austine Gwa

Il arrive que je veuille inclure les codes source de mon service Web dans son projet côté client. Tous les deux ont un dépôt séparé git . Je suis en fait habitué à ajouter tous les fichiers en utilisant la commande:

git add -A

Mais pour une raison quelconque, il n’ajoute que le dossier. Plus tard, j'ai découvert que les fichiers du serveur contenaient également son dossier .git, de sorte que la commande ne fonctionnait pas.

tl; dr : Assurez-vous qu'il n'y a pas de dossier .git dans le dossier que vous souhaitez créer.

0
mr5