If the a file has already been pushed to the remote repository and you want to keep the file on your local machine but remove it from the repository, use:
git rm --cached filename
git rm -r --cached foldername/
git commit -m "Stop tracking filename"
Push the changes to the remote repository:
git push origin main
Update the .gitignore file: To prevent the file from being added to the repository in the future, add it to your .gitignore:
foldername/
filename
Then, stage and commit the .gitignore:
git add .gitignore
git commit -m "Update .gitignore to exclude .obsidian/workspace.json"
git push origin main
By following these steps, you effectively remove the file from the repository and prevent it from being tracked in future commits, while retaining your local copy.