The accepted answer is the way to go -- just adding this as an example.
For our last release, the "Bundle Version String, short" was required, and I went ahead and matched it with the Bundle version number (1.2.8 for our app).
I then enabled Testflight, and made the version pending Apple review (1.2.8) available to our internal testers. A tester however found an issue that required fixing, and we deleted the binary in place. When uploading a new build, we got an error indicating the build version was already uploaded.
After reading a few SO links and Apple docs, my understanding was to make the bundle version: 1.2.8.001, while maintaing bundle-version-short the way it was. If a new build is required, we increment bundle-version to 1.2.8.002.
Note: the upload was accepted, and the build shows up as "1.2.8.001" under pre-release. The version number remains 1.2.8.