With Salesforce DX, the source of truth is always the version control repository (your local work directory). It sounds like you have a setup like this:
sfdx-project-1/
force-app/
(your source code lives here)
--> Link to Scratch Org 1
--> Link to Scratch Org 2
sfdx-project-2/
force-app/
(empty)
--> Link to Scratch Org 2
You populated Scratch Org 2 from Scratch Org 1, and now you're trying to pull that data back down from Scratch Org 2 into sfdx-project-2
.
Here's the thing: you probably don't need to do this, because sfdx-project-1
is really the source of truth for your project. You could simply do something like (assuming you're using something with a POSIX-y command line):
cp -R sfdx-project-1/force-app/* sfdx-project-2/force-app/
or
git clone sfdx-project-1 sfdx-project-2
to copy all of your file content locally. Your projects should both match up with both scratch orgs at that time.
I suspect sfdx is confused because you're going in some way the "wrong" direction by pulling a complete source set from the scratch org (not the source of truth) into a version control repository that's empty (the source of truth shouldn't be empty).