On Sat, Jan 16, 2021 at 10:48 PM 胡哲宁 <adlternative@xxxxxxxxx> wrote: > Eric Sunshine <sunshine@xxxxxxxxxxxxxx> 于2021年1月16日周六 下午3:13写道: > > > + git switch -c dev && > > > > If someone adds a new test after this test, then that new test will > > run in the "dev" branch, which might be unexpected or undesirable. It > > often is a good idea to ensure that tests do certain types of cleanup > > to avoid breaking subsequent tests. Here, it would be a good idea to > > ensure that the test switches back to the original branch when it > > finishes (regardless of whether it finishes successfully or > > unsuccessfully). > > > > git switch -c dev && > > test_when_finished "git switch master" && > > > > Or you could use `git switch -` if you don't want to hard-code the > > name "master" in the test (since there has been effort lately to > > remove that name from tests. > > > I have little confuse about I can use` test_when_finished "git switch master" `, > but I can't use` test_when_finished "git switch -" `, > why? You may use either one. I presented both as alternative approaches.