Comment ajouter des fichiers et des dossiers dans les dépôts GitHub?

248

J'ai créé un compte sur GitHub - je suis nouveau dessus - et je suis confronté à un problème avec l'ajout de fichiers. Ai-je ajouté readme.txt. De plus, j'ai 3 autres fichiers PHP et un dossier contenant des images.

Comment ajouter les fichiers et le dossier? Je l'ai essayé avec git pullcar git push origin -u masterm'a montré une erreur.

Adnan
la source
9
Vous avez essayé le tutoriel officiel de git ? Ceci est couvert au tout début.
jweyrich
2
Je recommande le livre ProGit dont la version en ligne est gratuite progit.org/book
house9
Remarque: depuis décembre 2012, vous pouvez créer des fichiers directement via l'interface Web GitHub. Voir ma réponse ci-dessous .
VonC

Réponses:

371

Vous pouvez ajouter des fichiers en utilisant git add, par exemple git add README, git add <folder>/*ou mêmegit add *

Ensuite, utilisez git commit -m "<Message>"pour valider les fichiers

Enfin git push -u origin masterpour pousser des fichiers.

Lorsque vous effectuez des modifications git statusqui vous donnent la liste des fichiers modifiés, ajoutez-les en utilisant git add *pour tout ou vous pouvez spécifier chaque fichier individuellement, puis git commit -m <message>et enfin,git push -u origin master

Exemple - disons que vous avez créé un fichier README, l'exécution git statusvous donne

$ git status
# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   README

Exécutez git add README, les fichiers sont organisés pour la validation. Ensuite, exécutez à git statusnouveau, cela devrait vous donner - les fichiers ont été ajoutés et prêts à être validés.

$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   new file:   README
#

nothing added to commit but untracked files present (use "git add" to track)

Exécutez ensuite git commit -m 'Added README'

$ git commit -m 'Added README'
[master 6402a2e] Added README
  0 files changed, 0 insertions(+), 0 deletions(-)
  create mode 100644 README

Enfin, git push -u origin masterpour pousser la branche distante masterpour le référentiel origin.

$ git push -u origin master
Counting objects: 4, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 267 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To [email protected]:xxx/xxx.git
   292c57a..6402a2e  master -> master
Branch master set up to track remote branch master from origin.

Les fichiers ont été correctement transférés vers le référentiel distant.

Exécution d'un git pull origin masterpour vous assurer d'avoir absorbé tous les changements en amont

$ git pull origin master
remote: Counting objects: 12, done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 8 (delta 4), reused 7 (delta 3)
Unpacking objects: 100% (8/8), done.
From xxx.com:xxx/xxx
 * branch            master     -> FETCH_HEAD
Updating e0ef362..6402a2e
Fast-forward
 public/javascript/xxx.js |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
 create mode 100644 README

Si vous ne souhaitez pas fusionner les modifications en amont avec votre référentiel local, exécutez git fetchpour récupérer les modifications, puis git mergepour fusionner les modifications. git pullest juste une combinaison de fetchet merge.

J'ai personnellement utilisé gitimmersion - http://gitimmersion.com/ pour obtenir une courbe jusqu'à git, c'est un guide étape par étape, si vous avez besoin de documentation et d'aide

First Zero
la source
8
git add --all folder/a mieux fonctionné que moigit add folder/*
Alex
4
Cela ajoute-t-il récursivement tous les fichiers et dossiers?
Alix
git add <folder>/*ajoute également de nouveaux fichiers.
Danijel
49

Pour les utilisateurs Linux et MacOS:

  1. Créez d'abord le référentiel (Name = RepositoryName) sur github.
  2. Ouvrez le terminal et créez le nouveau répertoire (mkdir NewDirectory).
  3. Copiez votre ProjectFolder dans ce NewDirectory.
  4. Remplacez le répertoire de travail actuel par NewDirectory.
  5. Exécutez ces commandes
    1. git init
    2. git add ProjectFolderName
    3. git commit -m "premier commit"
    4. git remote add origin https://github.com/YourGithubUsername/RepositoryName.git
    5. git push -u origin master
Ankit Bhatia
la source
20

Notez que depuis début décembre 2012, vous pouvez créer de nouveaux fichiers directement depuis GitHub :

Créer un nouveau fichier

ProTip ™ : vous pouvez pré-remplir le champ du nom de fichier en utilisant uniquement l'URL.
Taper ?filename=yournewfile.txtà la fin de l'URL pré-remplira le champ du nom de fichier avec le nom yournewfile.txt.

ré

VonC
la source
2
Comment pouvez-vous télécharger un fichier, comme une image?
Drew Baker
@DrewBaker le mécanisme décrit ici est pour créer un fichier texte. Pour l'image, vous devrez toujours cloner un dépôt GitHub, ajouter l'image localement, valider et pousser.
VonC
Merci et +1 pour l'astuce sur "créer de nouveaux fichiers directement depuis GitHub"!
zeFree
Je ne pense pas que l'interface utilisateur Web de Github ait fourni un moyen d'ajouter des dossiers autres que l'ajout de fichiers texte simples comme les démarques de readme.
Devy
Je pense que la question est de savoir comment TÉLÉCHARGER des fichiers à partir de votre ordinateur, pas comment créer des fichiers.
Élektra
8

Si vous souhaitez ajouter un dossier vide, vous pouvez ajouter un fichier «.keep» dans votre dossier.

C'est parce que git ne se soucie pas des dossiers.

Gautier
la source
Exactement la réponse que je cherchais.
Alexis Wilke
6

Vous devez extraire le référentiel sur votre ordinateur local. Vous pouvez ensuite modifier ce dossier sur votre ordinateur local.

git commit -am "added files"

Cette commande va valider tous les fichiers dans le référentiel.

git push origin master

qui poussera toutes les modifications de votre branche principale (qui, je suppose, est celle que vous utilisez) vers l'origine du référentiel distant (dans ce cas github)

Gevious
la source
4

Solution simple:

git init
git add =A
git commit -m "your commit"
git push -u origin master

si vous voulez ajouter un dossier au référentiel existant .. puis ajouter un dossier au code de projet local

git rm --cached ./folderName
 git add ./folderName

après ça

git status
git commit -m "your commit"
git push -u origin master
Shashwat Gupta
la source
2

Lors de l'ajout d'un répertoire à github, vérifiez que le répertoire ne contient pas de fichier .git en utilisant "ls -a" s'il le supprime. Les fichiers .git dans un répertoire causeront des problèmes lorsque vous essayez d'ajouter un répertoire dans git

Mat
la source
0

Vérifiez ma réponse ici: https://stackoverflow.com/a/50039345/2647919

"OU, encore mieux juste le vieux" glisser-déposer "du dossier, sur votre dépôt ouvert dans le navigateur git.

Ouvrez votre référentiel dans le portail Web, vous verrez la liste de tous vos fichiers. Si vous venez de créer le référentiel et que vous avez démarré avec un fichier README, vous ne verrez que la liste README.

Ouvrez votre dossier que vous souhaitez télécharger. glisser-déposer sur la liste dans le navigateur. Voir l'image ici . "

RavenReema
la source
0

J'utilise VS SSDT sous Windows. J'ai démarré un projet et mis en place un contrôle de version local. J'ai ensuite installé git et créé un dépôt Github. Une fois que j'ai eu mon dépôt sur Github, j'ai saisi l'URL et l'ai mis dans VS quand il m'a demandé l'URL lorsque j'ai cliqué sur le bouton "publier sur Github".

cromastro
la source