private @NotNull GitCompoundResult doRollback() {
    GitCompoundResult result = new GitCompoundResult(myProject);
    for (GitRepository repository : getSuccessfulRepositories()) {
      GitCommandResult res = myGit.branchCreate(repository, myBranchName, myDeletedBranchTips.get(repository));
      result.append(repository, res);

      // restore tracking
      GitRemoteBranch trackedBranch = myTrackedBranches.get(repository);
      if (trackedBranch != null) {
        GitCommandResult setTrackResult = myGit.setUpstream(repository, trackedBranch.getNameForLocalOperations(), myBranchName);
        if (!setTrackResult.success()) {
          LOG.warn("Couldn't set " + myBranchName + " to track " + trackedBranch + " in " + repository.getRoot().getName() + ": " +
                   setTrackResult.getErrorOutputAsJoinedString());
        }
      }

      refresh(repository);
    }
    return result;
  }
private @NotNull GitCompoundResult doRollback()