Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Git: Connect existing local repository to existing remote repository

This is probably pretty basic, but I wasn't able to figure it out yet:

I have a PHP project running on two servers, let's refer to those as Live and Staging
Both servers are running the same project obviously but with some changes.
The project was not on Github when It got into my hands, so that's what I am trying to do first now.

I managed to create a new remote repository on Github and connect the Live System to it.
(by adding the Github repo as 'origin' on Live)
git remote add origin https://github.com/path-to-repo/repo.git

So the Live System is currently on the masterbranch and up to date with origin/masterwhich has a history of 4 commits.

Now I am trying to connect the Github Repo on Staging as well

So I did a

git init
git remote add origin https://github.com/path-to-repo/repo.git
git remote -v

origin  https://github.com/path-to-repo/repo.git (fetch)
origin  https://github.com/path-to-repo/repo.git (push)

git fetch

Now when I do a git status I see that the repo is still on Initial commit and all files and folders are listed as untracked:

 root@staging-host:/var/www/html# git status
 On branch master

 Initial commit

 Untracked files:   (use "git add <file>..." to include in what will be
 committed)

         .htaccess
         README.md
         _index.html
         api/
         app/
         composer.json
         global/
         index.php
         package-lock.json
         package.json
         phpinfo.php
         system/
         vendor/
         view/

How can I check for local changes compared to the last commit in origin/master
I don't want to loose any of the local changes but also not to commit or push anything
I need to check the diff first before I decide file by file what to commit and what to reset

like image 298
Chaz Avatar asked Dec 09 '25 05:12

Chaz


2 Answers

Your approach was almost correct. Take a look at your command:

git remote add origin https://github.com/path-to-repo/repo.git

This tries to add a remote repo as origin and fails, because that already exists.

Run

git remote -v

You will see that it's your live repo. Name it differently, like

git remote add staging https://github.com/path-to-repo/repo.git

and then it should work. If origin is live and staging is staging, then pulling, pushing to staging is the following:

git pull staging <branch>

and

git push staging <branch>

respectively. If I were you, I would prefer origin to point to staging and another remote called live would point to live, because you will use staging more frequently.

EDIT

Apparently I have misunderstood the problem. Basically there is a repo hosted by GitHub and you want to use that for staging as well. You do not need to run

git init

nor to add remotes in that case. You will just need to clone the repo, like

git clone https://github.com/path-to-repo/repo.git
like image 134
Lajos Arpad Avatar answered Dec 10 '25 18:12

Lajos Arpad


Probably there is a better way but this should work.

  1. git add .
  2. git commit -m 'tmp'
  3. git diff HEAD origin/master
  4. git reset --soft HEAD~1

you can just reset commit you did for checking the difference

like image 37
Dawid Paluszkiewicz Avatar answered Dec 10 '25 17:12

Dawid Paluszkiewicz



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!