J'ai cloné le repo à l'adresse https://github.com/railstutorial/sample_app_Rails_4 et y ai apporté beaucoup de modifications (je l'ai utilisé comme point de départ pour ma propre application) et j'aimerais maintenant Pousser l'application modifiée vers un dépôt sur mon propre compte github.
Comment puis-je changer à quel github repo il est lié?
Comme le dit Deefour, votre situation n’est pas très différente de celle de modifier l’URI (URL) d’un référentiel Git distant . Lorsque vous clone
un référentiel, il est ajouté en tant que remote
à vous, sous le nom Origin
. Ce que vous devez faire maintenant (car vous n'utilisez plus l'ancienne source), c'est changer l'URL de Origin
:
$ git remote set-url Origin http://github.com/YOU/YOUR_REPO
Si le référentiel d'origine se met à jour souvent et que vous souhaitez obtenir ces mises à jour de temps à autre, au lieu de modifier Origin
, il serait préférable d'ajouter un nouveau remote
:
$ git remote add personal http://github.com/YOU/YOUR_REPO
Ou peut-être même appelez-vous l'ancien upstream
:
$ git remote rename Origin upstream
$ git remote add Origin http://github.com/YOU/YOUR_REPO
Ensuite, chaque fois que vous voulez obtenir des modifications de upstream
, vous pouvez faire:
$ git fetch upstream
Comme cette source est un exemple de référentiel (semble être une sorte de modèle pour commencer), je ne pense pas qu'il soit nécessaire de la conserver ni de la fourrer du tout - je vais utiliser la première alternative ici.
GitHub: git clone
le dépôt de quelqu'un d'autre & git Push
vers votre propre référentiel
Je vais faire référence au quelqu'un d'autre référentiel en tant que autre référentiel.
Créez un nouveau référentiel à github.com . ( votre référentiel)
Clonez le autre référentiel sur votre machine locale. (si vous ne l'avez pas déjà fait)
git clone https://github.com/other-account/other-repository.git
Renommez le ' Origine' actuel du référentiel local en ' en amont'.
git remote rename Origin upstream
Donnez au référentiel local un ' Origine' qui pointe vers votre référentiel.
git remote add Origin https://github.com/your-account/your-repository.git
Poussez le référentiel local vers votre référentiel sur github.
git Push Origin master
Maintenant ' Origine' pointe vers votre référentiel & ' en amont' pointe vers le autre référentiel.
git checkout -b my-feature-branch
.git commit
comme d'habitude votre référentiel.git pull upstream master
pour extraire les modifications de autre référentiel vers votre branche principale.Votre but est probablement de mettre ce dépôt sur le vôtre et de le faire vôtre.
.git/
et réinitialisez.rm -rf .git
git init
git add .
git commit -m "your commit message"
git remote add Origin
git Push Origin master
Vous pouvez le faire en créant une nouvelle télécommande à partir de votre référentiel local (via la ligne de commande).
git remote add <name> <url>
alors vous pouvez appeler:
git Push <name> <repo_name>
Pour remplacer la télécommande "Origin" par défaut qui est configurée, vous pouvez exécuter ce qui suit:
git remote rm Origin
git remote add Origin <url>
Je pense que le "moyen le plus poli" de le faire serait:
git checkout -b <your_branch_name>
_ (au cas où vous ne l'auriez pas fait auparavant)git remote add github <your_repository_ssh_url>
git Push github <your_branch_name>
De cette façon, un référentiel sera ajouté à celui d'origine, vos modifications étant validées dans une branche distincte. Cette méthode sera plus facile si vous souhaitez soumettre une demande d'extraction au référentiel d'origine.
Tiré de Git Poussez tout vers la nouvelle origine
fondamentalement, vous devez associer une nouvelle prise en pension à votre dossier
git remote add Origin <address>
git Push Origin <branchname>
J'ai eu une situation similaire, mais dans mon cas ce que je devais faire était, comme suggéré, mais avec https, comme ceci:
$ git remote set-url Origin https://github.com/YOU/YOUR_REPO