'Pushing to a different git repo
I have a repo called react
.
I cloned it into a different repo locally called different-repo
.
How can I then get different-repo
to push remotely to different-repo because currently it is pushing to react
.
Effectively I want to clone many times from react
into different named repos but then when i push from those repos they push to their own repo.
Solution 1:[1]
You have to add an other remote
. Usually, you have an origin
remotes, which points to the github (maybe bitbucket) repository you cloned it from. Here's a few example of what it is:
https://github.com/some-user/some-repo
(the.git
is optional)[email protected]:some-user/some-repo
(this is ssh, it allows you to push/pull without having to type your ids every single time)C:/some/folder/on/your/computer
Yes! You can push to an other directory on your own computer.
So, when you
$ git push origin master
origin
is replaced with it's value: the url
So, it's basically just a shortcut. You could type the url yourself each time, it'd do the same!
Note: you can list all your remote
s by doing git remote -v
.
For your problem
How can I then get different-repo to push remotely to different-repo because currently it is pushing to react.
I'm guessing you want to create a second repository, right? Well, you can create an other remote
(or replace the current origin
) with the url to this repo!
Add an other remote
— recommended
git remote add <remote-name> <url>
So, for example:
$ git remote add different-repo https://github.com/your-username/your-repo
And then, just
$ git push different-repo master
Change the origin
remote
git remote set-url <remote-name> <url>
So
git remote set-url origin https://github.com/your-username/your-repo
Solution 2:[2]
Here different-repo is the first repo from which you created/cloned the child repo react
So by default child repo react will have its default remote as different-repo where you can push/pull changes.
Here child repo will maintain all the commit history of parent repo within its .git folder
If you want to push the changes to different repo from this react repo then add another remote(you can add as many as remotes here and also can delete the old remotes)
Add new Remote to react
git remote add <remote-name> <url>
If you want to remove the old remote
git remote remove <remote_name>
Solution 3:[3]
Git push to new repo from existing repo’s branch
This blog is to the point and explains it very well. Here is the snippet from the blog.
Go to current project:
$ cd my-project
Add new origin (origin2): git remote add origin2 <git_url>
$ git remote add origin2 https://github.com/my-org/new-project
The following command pushes master branch of current repo to master branch of new repo with remote configured as origin2.
$ git push <remote_name> <remote_repo_branch>
$ git push origin2 master
The following command pushes specific branch (say dev) of current repo to master branch of new repo with remote configured as origin2.
$ git push origin2 <source_branch>:<destination_branch>
$ git push origin2 dev:master
Use --force (to forcefully push into that new branch if required)
$ git push origin2 <source_branch>:<destination_branch> --force
Solution 4:[4]
Note that if your current repo's branch that you want to push is called master
and the remote repo branch where you push is called main
, you should do git push different-repo master:main
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | math2001 |
Solution 2 | |
Solution 3 | Mahima |
Solution 4 | Ilir |