I have been reading and practicing with git. I have a question about the pointer HEAD. I understand that it is a special pointer that points to the current branch, but if I do git branch --all, all I see is this:
* Test_Branch_1
main
remotes/origin/HEAD -> origin/main
remotes/origin/Test_Branch_1
remotes/origin/main
This makes sense. I can see my remote main branch and HEAD pointing at it. But I also see a * next to Test_Branch_1 which seems to indicate that HEAD is also pointed at Test_Branch_1? If I look at my last commit on Test_Branch_1 by doing git log -1 I see something like:
commit checksum (HEAD -> Test_Branch_1)
Merge: ...
Author: ...
Date: ...
Again, HEAD appears to be pointing at Test_Branch_1. It would appear there is a local and remote version of HEAD? The local one keeps track of which branch I am on locally? In this case the local version of Test_Branch_1? And the remote version of HEAD never changes in practice (i.e., always points at main)?
Is that correct or am I misinterpreting this?