In both cases there is no problem. In case 1) there will be a point when ref (the name of the branch, as a rule) is updated when someone clicked, and any sample (a significant part of the clone and traction) will either receive the old value before this point, or the new one after the other. The link is updated only if all the objects necessary for it are in the database of objects of the remote repository, so there are no problems. 2) In the same way, if the sample that makes up your traction happens after ref is updated, a new value will be added, otherwise you will get the old one.
(One of the possible exceptions to this is the "dumb HTTP transport", where you need to run git update-server-info in the remote repository after each click, so it is possible that the selection will immediately fail after clicking, but before starting the hook this command - however, in my opinion, itβs relatively rare to use dumb HTTP transport these days.)
Mark longair
source share