This is how to copy your files from a given git branch to a new empty branch, using a squash merge.
This example will copy files from branch old-branch
to target-branch
# First be sure, that you don't have uncommitted working changes. They will be deleted
# Checkout a new empty branch without history
git checkout --orphan target-branch
# clear index and working tree
git rm -rf .
# Create empty commit
echo "Initial Commit" > test.md && git add test.md && git commit -m "Initial Commit"
# Merge the old branch to new one, using a squash
git merge --squash old-branch --allow-unrelated-histories
# Perform a commit, because the squash merge did not create a commit yet
git commit -m "sources from old repo"
@aljgom I just found it cleaner to work with
git merge
than withgit add . && git commit -m ...
Maybe on git add we could have any unwanted changes, for example on Windows, when file modifiers (read, write, exec) or the line endings easily change, because of wrong git config.
I think git merge is a little safer.
The test.md is needed, because the new branch needs any initial commit, otherwise the git merge would not work