In my Jenkins job, I need to build from 3 GIT repositories hence, I use the multiple SCMs plugin. For each repository, the Branch Specifier is a String Parameter defaulting to */master. Name and Refspec parameters under each repository are blank.
All is fine (i.e. using the default) until I run a specific build with say a TAG or a SHA for any one of the repositories as the Branch Specifier. From that point forward, even though the Branch Specifier defaults back to */master, the same SHA is checked out every time.
Initially the Additional Behaviour → Clean before checkout was selected. I changed this to Wipe out repository & force clone but to no avail.
I also noticed previously that this messed up Poll SCM build trigger in that it caused a build to happen even though all the SHAs from the previous build were unchanged and we ended up having a build every hour 24 hours a day until Poll SCM was dropped.