What he wants is two branches existing in different places on his computer, and for them to stay in sync. Just having a branch like you describe is a much better idea though, but to stop it being a manual process it means that there needs to be a step that occurs whenever code is pushed to GH.
@FakhriAz if you want this automatic, then normally you would use git hooks on a branch, so when something gets pushed to the branch it automatically deploys the code to your server. This can be direct to the remote server via FTP, or you write a script that copies the code to your local server. You work on your development branch, then you merge changes to your WordPress branch when you’re ready, which deploys to the server.
This removes the issues with trying to keep a clone in sync with the original; you’re literally just copying the files to another location whenever you commit or push or whatever.