web-dev-qa-db-fra.com

Poussez le projet existant dans Github

J'ai un dossier avec mes sources de projet. Comment je peux pousser ce projet dans le référentiel de Github? 

J'ai essayé d'utiliser ces étapes:

  1. J'ai créé un référentiel vide sur GitHub. 
  2. Je lance git-bash et saisis git init, de sorte que la racine du projet apparaisse dans le dossier .git
  3. J'ai ajouté des fichiers au contrôle de version à l'aide de git add sourcesFolderName
  4. J'ai validé des fichiers ajoutés à l'étape précédente à l'aide de git commit -m "initial commit"
  5. J'ai spécifié le référentiel distant à l'aide de git remote add MyProject <url>
  6. Enfin git Push, mais rien n’est poussé dans le repo distant ... (pas d’échec d’autorisation)

Alors, comment puis-je pousser les sources existantes dans github repo nouvellement créé? 

185
MyTitle
git init
git add .
git commit -m "Initial commit"
git remote add Origin <project url>
git Push -f Origin master

L'option -f sur git Push force le Push. Si vous ne l'utilisez pas, vous verrez une erreur comme celle-ci:

To [email protected]:roseperrone/project.git
 ! [rejected]        master -> master (fetch first)
error: failed to Push some refs to '[email protected]:roseperrone/project.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.
289
Rose Perrone

En termes moins techniques

Ma réponse n’est pas différente, mais j’ajoute plus d’informations, car celles qui sont nouvelles pourraient tirer avantage de la correction des informations manquantes.

Après avoir créé le dépôt sur github, ils ont des instructions. Vous pouvez suivre ceux-ci. Mais voici quelques astuces supplémentaires car je sais à quel point il est frustrant de se lancer avec git.

Disons que vous avez déjà commencé votre projet localement. Combien vous avez n'a pas d'importance. Mais supposons que vous avez un projet php. Disons que vous avez le fichier index.php, le fichier contact.php et un dossier de ressources contenant des images, des fichiers CSS et des polices. Vous pouvez le faire de cette façon (facile), mais il y a beaucoup d'options:

Option 1

Connectez-vous à votre compte github et créez le repo. 

 enter image description here

Dans l'écran suivant, vous pouvez le copier où vous en avez besoin si vous cliquez sur le bouton (à droite de l'écran) pour "cloner dans le bureau". 

 enter image description here

Vous pouvez (ou le faire autrement) puis copier le contenu de votre projet existant dans votre nouveau référentiel. En utilisant l'application github, vous pouvez simplement valider à partir de là en utilisant leur interface graphique (cela signifie que vous cliquez simplement sur les boutons de l'application). Bien sûr, vous entrez vos notes pour le commit.

Option 2

  • Créez votre repo sur github comme mentionné ci-dessus. 
  • Sur votre ordinateur, accédez à votre répertoire à l'aide du terminal. en utilisant la ligne de commande linux, vous devriez cd dans le répertoire. À partir de là, vous exécutez les commandes suivantes pour "connecter" votre projet existant à votre référentiel sur github. (Cela suppose que vous avez créé votre rapport sur github et qu'il est actuellement vide)

faites d’abord pour initialiser git (contrôle de version).

git init

faites ceci ensuite pour ajouter tous vos fichiers à "surveiller". Si vous souhaitez ignorer des fichiers, vous devez ajouter un .gitignore mais, dans un souci de simplicité, utilisez simplement cet exemple pour apprendre.

git add .

Ensuite, vous validez et ajoutez une note entre le "" comme "premier commit", etc.

 git commit -m "Initial Commit"

Maintenant, voici où vous ajoutez votre repo existante

git remote add github <project url>

Mais ne tapez pas littéralement <project url>, mais votre propre URL de projet. Comment obtenez-vous cela? Allez sur le lien où votre dépôt est sur github, puis copiez le lien. Dans mon cas, l’un de mes dépôts est https://github.com/JGallardo/urbanhistorical, l’URL résultante pour cette commande n’ajoute alors que .git. Donc ici ce serait 

git remote add github https://github.com/JGallardo/urbanhistorical.git

Testez pour voir que cela a fonctionné en faisant 

git remote -v

Vous devriez voir à quoi votre rapport est lié.

 enter image description here

Ensuite, vous pouvez pousser vos modifications à github

git Push github master

ou 

git Push Origin master

Si vous obtenez toujours une erreur, vous pouvez le forcer avec -f. Mais si vous travaillez en équipe, veillez à ne pas forcer, vous pourriez créer plus de problèmes.

git Push -f Origin master
95
JGallardo

vous devrez spécifier quelle branche et quelle télécommande lorsque vous appuyez sur:

➤ git init ./
➤ git add Readme.md
➤ git commit -m "Initial Commit"
➤ git remote add github <project url>
➤ git Push github master

Travaillera comme prévu.

Vous pouvez le configurer par défaut en faisant:

➤ git branch -u github/master master

ce qui vous permettra de faire un git Push depuis le maître sans spécifier la télécommande ou la branche.

31
brice

Si vous êtes sur un Mac (et cela fonctionne probablement de la même manière sur un PC), voici un moyen très simple de le faire. Curieusement, j'ai cherché haut et bas ce processus simple et je ne l'ai jamais trouvé. 

  • Ne faites rien sur Github (autre que d'avoir un compte et de ne pas avoir épuisé toutes vos pensions disponibles). 
  • Téléchargez GitHub pour Mac et installez-le. Passez par la configuration du compte, etc. Ne créez PAS de référentiels pour votre projet existant. 
  • "Ajouter un nouveau référentiel local" dans les référentiels. 
  • Sélectionnez votre dossier existant. Il vous demandera si vous voulez faire ça, dites oui. 
  • Une fois cela fait, vous verrez une liste de tous vos fichiers, etc. Commit les.
  • Allez dans Repositories and Publish (cela créera le nouveau dépôt sur GitHub pour vous, si vous configurez votre compte correctement). 
  • Allez dans Repositories et Push (vous verrez soit le principe "rien à Push", soit cela poussera vos fichiers/modifications dans le dépôt nouvellement fabriqué) .
    • Je me demande pourquoi vous ne pouviez pas trouver ce processus simple ailleurs. 

Je sais qu'il n'est pas recommandé d'utiliser le dossier de projet comme dossier de référant. Je le fais tout le temps, ça marche toujours, ça rend les choses simples, et ça ne me pose aucun problème. 

6
Tcoz

En résumé;

git init
git status
git add "*"
git commit -m "Comment you want"
git remote add Origin  https://link
git Push  -u Origin master

J'aimerais partager une source avec vous afin que vous en appreniez plus sur Git. 

https://try.github.io/levels/1/challenges/1

3
shaurya uppal
Follow below gitbash commands to Push the folder files on github repository :-
1.) $ git init
2.) $ git cd D:\FileFolderName
3.) $ git status
4.) If needed to switch the git branch, use this command : 
    $ git checkout -b DesiredBranch
5.) $ git add .
6.) $ git commit -m "added a new folder"
7.) $ git Push -f https://github.com/username/MyTestApp.git TestBranch
    (i.e git Push Origin branch)
3
Ankita_systematix
git init

Ajoutez les fichiers dans votre nouveau référentiel local. Cela les met en scène pour le premier commit.

git add .

Ajoute les fichiers dans le référentiel local et les organise pour la validation. Pour décompresser un fichier, utilisez 'git reset HEAD YOUR-FILE'.

Commettez les fichiers que vous avez stockés dans votre référentiel local.

git commit -m "First commit"
# Commits the tracked changes and prepares them to be pushed to a remote

dépôt. Pour supprimer cette validation et modifier le fichier, utilisez 'git reset --soft HEAD ~ 1', validez et ajoutez à nouveau le fichier . Copiez le champ URL du référentiel distantAu sommet de la page Configuration rapide de votre référentiel GitHub, cliquez pour copier URL du référentiel distant.

Dans l'invite de commande, ajoutez l'URL du référentiel distant où votre référentiel local sera poussé.

git remote add Origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL

Poussez les modifications dans votre référentiel local vers GitHub.

git Push Origin master
# Pushes the changes in your local repository up to the remote repository you 

spécifié comme origine

3
Shahid Karimi

Je vais suivre le commentaire précédent de Rose P. Il m'a fallu beaucoup de temps pour trouver la solution, donc je republie (j'espère en clair) ce qui a fonctionné pour moi ...

étape 1: Créez votre nouveau référentiel sur Github.com (à éviter si vous en avez déjà un)

étape 2: Fermer XCode ... pas nécessaire

étape 3: Ouvrez une nouvelle fenêtre de terminal (oui, vous devez utiliser un terminal ... j'ai essayé tous les autres moyens ... rien n'a fonctionné)

étape 4: Utilisation de la commande cd pour trouver l’emplacement de votre dossier dans votre projet (le projet que vous souhaitez ajouter à votre référentiel existant ou nouveau)

étape 5: tapez git init Vous obtiendrez quelque chose comme ceci. Réinitialisation du référentiel Git existant dans/{répertoire actuel}

étape 6: tapez git add. rien ne se passe après cette étape, mais tapez-le et passez à l'étape suivante.

étape 7: tapez git commit -m "Initial commit" vous obtiendrez ce qui suit: # Sur le maître de branche, rien à commettre, répertoire de travail propre

ou 

des explications sur la configuration, puis une liste des fichiers qui ont été modifiés.

étape 8: tapez git remote add Origin {project url} L’URL du projet se trouve sur Github.com. C'est l'URL de clone HTTPS ... vous devriez pouvoir simplement copier et coller dans la fenêtre du terminal. Si le système vous dit que l'origine existe déjà, créez un nom différent ou utilisez le nom de votre projet (quelque chose de différent).

étape 9: allez sur votre application GitHub sur votre mac et cliquez sur le bouton "Synchroniser une branche" (même s’il n’ya pas de modification en attente). Je pense qu’il faut un certain temps pour qu’il s’engage, mais si vous revenez dans votre dossier de référentiel local, vous devriez voir votre nouveau projet. Je devais recréer le dossier parent, mais il suffisait de déplacer vos fichiers. Allez sur GitHub.com et actualisez votre navigateur et vos nouveaux fichiers devraient également être là. 

J'espère que ça aide. 

3
Carlos
  1. En ligne de commande, accédez au répertoire de votre référentiel local.
  2. Créez un nouveau dépôt dans GitHub, il vous fournira un lien qui se termine par .git
  3. dans cmd run: git remote add Origin [your_GitHub_Repository_link] (rappelez-vous que le lien doit se terminer par .git)
  4. puis lancez: git Push -u Origin master

J'espère que cela a été utile.

2
Ali Ezzat Odeh

Il suffit de suivre les étapes de cette URL: CLIQUEZ ICI

1
shubham mishra

Je n'aime pas ajouter encore une autre réponse, mais mon scénario particulier n'est pas tout à fait couvert ici. J'avais un référentiel local avec l'historique des modifications que je souhaitais conserver et un référentiel non vide créé pour moi sur Github (c'est-à-dire avec le fichier par défaut README.md). Oui, vous pouvez toujours recréer le dépôt Github en tant que dépôt vide, mais dans mon cas, quelqu'un d'autre dispose des autorisations nécessaires pour créer ce dépôt particulier, et je ne voulais pas le déranger s'il existait une solution de contournement simple.

Dans ce scénario, vous rencontrerez cette erreur lorsque vous tenterez de git Push après avoir défini l'origine à distance:

 ! [rejected]        master -> master (fetch first)
error: failed to Push some refs to '[email protected]:<my repo>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git Push --help' for details.

Comme l'erreur l'indique, je devais faire un git pull après avoir défini l'origine à distance, mais je devais spécifier l'option --allow-unrelated-histories. Sans cette option, git pull se plaint warning: no common commits.

Voici donc la séquence exacte des commandes qui ont fonctionné pour moi:

git remote add Origin <github repo url>
cp README.md README.md-save
git pull Origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git Push
1
Jonathan Fischer

Commencez par créer un nouveau dépôt sur Github avec le nom de votre projet. Suivez ensuite les étapes ci-dessous.

1)git init
2)git add *
3)git commit -m "first commit"
4)git remote add Origin https://github.com/yuvraj777/GDriveDemo.git
5)git Push -u Origin master
1
Yuvraj Sinh

Je sais, c’est une vieille question, mais j’essaie d’expliquer chaque étape pour que cela puisse aider les autres. Voici comment j'ajoute une source existante à git:

  1. Créez le repo sur le git, de sorte que vous aurez le ssh || https où vous allez à distance vous ajouter le code source.
  2. Dans votre terminal, accédez au chemin de votre projet.
  3. Exécutez git init (ici vous démarrez le projet en tant que git).
  4. Exécutez git add * (ici vous ajoutez tous les fichiers et dossiers de votre projet).
  5. Exécutez git commit -m "Initial Commit." (ici, vous validez vos fichiers et dossiers ajoutés à l’étape 4; n'oubliez pas que vous ne pouvez pas envoyer vos modifications sans les valider).
  6. Exécutez git remote add Origin https://[email protected]/your_username/project-name.git (ici vous ajoutez un projet distant où votre source sera poussée; remplacez mon lien par votre ssh || https à l'étape 1).
  7. Exécutez git Push -u Origin master (ici vous poussez votre source dans le dépôt git).

Note: Ce sont des étapes simples pour pousser votre source dans la branche master .

1
Lucaci Sergiu

Depuis le 29/07/2019, Github fournit aux utilisateurs les instructions pour accomplir cette tâche lors de la création d'un référentiel, en offrant plusieurs options:

crée un nouveau référentiel sur la ligne de commande

git init
git add README.md
git commit -m "first commit"
git remote add Origin https://github.com/novomotus/vitaprice.git
git Push -u Origin master

Envoie un référentiel existant à partir de la ligne de commande

git remote add Origin https://github.com/novomotus/vitaprice.git
git Push -u Origin master

code d'importation depuis un autre référentiel

appuyez sur le bouton import pour initialiser le processus.

Pour les apprenants visuels:

enter image description here

0
theeastcoastwest

Une autre option si vous souhaitez vous écarter de la ligne de commande est d'utiliser SourceTree

Voici quelques ressources supplémentaires sur la façon de se mettre en place:

0
Tim Hutchison

Créer un nouveau référentiel

git clone <url>
cd "repositoryName"
touch README.md
git add README.md
git commit -m "add README"
git Push -u Origin master

Dossier existant

cd existing_folder
git init
git remote add Origin <url>
git add .
git commit -m "Initial commit"
git Push -u Origin master

Dépôt Git existant

cd existing_repo
git remote rename Origin old-Origin
git remote add Origin <url>
git Push -u Origin --all
git Push -u Origin --tags
0
Anit Kumar

J'ai trouvé que stimuler une mise à jour dans une séquence "naturelle" était un chemin plus facile que de pousser la force.

En supposant que le référentiel soit déjà créé sur github et que vous ayez peut-être également ajouté des éléments dans le fichier README.md.

  1. Sur votre ordinateur, ouvrez le terminal et git clone [repo URL]

  2. Vous verrez qu'un nouveau dossier portant le nom de votre référent aura été créé. N'hésitez pas à le renommer - cela n'a pas d'importance.

  3. Déplacez votre code, vos fichiers, etc. dans ce dossier. Modifiez le fichier README.md si vous devez le faire.

  4. Ouvrez maintenant l'invite Terminal/command, entrez dans ce dossier et procédez comme si vous effectuiez la prochaine mise à jour du référentiel:

git add .
git commit -m "v2"
git Push Origin master

Remarque: lors de la commande commit, git peut refuser, demandant de configurer l’adresse électronique et le mot de passe de l’utilisateur en premier. Suivez les étapes indiquées à l'écran, puis exécutez à nouveau la commande commit.

  1. Et ces trois commandes sont ce que vous faites maintenant pour chaque fois que vous voulez pousser une autre mise à jour.
0
Nikhil VJ