web-dev-qa-db-fra.com

Comment réparer "le refus de fusionner des historiques sans rapport" lors du téléchargement d'un projet sur github?

J'ai installé Github desktop et git sur une machine Windows, j'ai un compte github et créé un référentiel factice.

Lorsque j'ai l'intention de télécharger mon paquet via la ligne de commande git bash, il échoue avec l'erreur suivante: fatal: refus de la fusion d'histoires non liés

J'ai utilisé plusieurs méthodes pour résoudre ce problème en utilisant la solution existante de cette communauté, mais je n'ai toujours pas résolu le problème. Est-ce que quelqu'un connaît une astuce pour résoudre ce problème? Comment puis-je télécharger mes projets sur github avec succès?

4
Jerry

Essayez ce qui suit:

cd /path/to/my/repo
git init
git add --all
git commit -m "Initial commit"
git remote add Origin <remote repo URL>
git Push -u Origin master

Assurez-vous de remplacer /path/to/my/repo par le chemin d'accès à votre répertoire de référentiel (par exemple C:\Users\jvrat\Documents\MSPC) et <remote repo URL> par l'URL de votre référentiel distant (par exemple https://github.com/username/repo_name.git).

3
TeWu

Partager simplement que cette refonte a fonctionné pour moi. J'avais un nouveau projet sur GitHub et un nouveau référentiel localement que je voulais relier, et je continuais à obtenir fatal: refusing to merge unrelated histories. Ce qui a fonctionné:

git remote add Origin http://github.com/MyName/MyProjectName -f
git branch -u Origin/master
git pull -r     # R for rebase, makes the magic happen

Sortie:

First, rewinding head to replay your work on top of it...
Applying: Initial Commit

git log sortie (le premier est le dépôt GitHub, le deuxième est local):

c7f843e Initial Commit (AmitaiB, 4 minutes ago)
97100be Initial commit (Amitai Blickstein, 9 minutes ago)

PS Drôle, je n’ai jamais remarqué que le message de validation initial par défaut de GitHub estInitialCommit, alors que le message local estInitial c ommit (minuscule). Je pense que je vais envoyer cette question à Jack Handy ...

1
AmitaiB

La première étape consiste à lancer git dans votre répertoire de projet local:

git init

Après cela, votre répertoire est un référentiel git local et contient un répertoire .git. Vous créez ensuite des fichiers et les ajoutez à votre référentiel via

git add <file-name>

Les fichiers ajoutés à votre référentiel font maintenant l'objet d'un suivi. Si vous voulez valider toutes les modifications que vous avez apportées aux fichiers que vous avez ajoutés, il vous suffit de

git commit "Commit message"

Tous ces éléments résident sur votre référentiel git local. Pour connecter votre référentiel local à un réseau distant, vous devez émettre une autre commande:

git remote add Origin <remote repo URL>

"Origine" et l'URL suivante représentent le nom distant et son URL. Vous pouvez désormais appliquer vos modifications locales à votre référentiel Origin via

git Push <remote-name> <branch-name>

qui est dans ton cas 

git Push Origin master

parce que pour l'instant vous avez juste une branche maîtresse. 

Vous pouvez vérifier l’état de votre référentiel local et de son référentiel distant connecté via

git status
0
Torsten Barthel