The error message "git did not exit cleanly (exit code 1)" is a very general error message, in most of scenarios, just clean up local repository to resolve it, but sometimes it not actully caused by "not clean".
In my case, the reason is I tried to push large file that size over the postbuffer (default as 1M).
### Solution
Edit `.gitconfig`, set `http.postBuffer` to larger amout.
1. Set post buffer to 10M :
`git config --global http.postBuffer 102400`
2. Check result :
By command `git config --global --list` or open global wide `.gitconfig` file to check, will recored as below
```
[http]
postBuffer = 102400
```
### Reference
[TortoiseGit-git did not exit cleanly (exit code 1)](https://stackoverflow.com/questions/22165953/tortoisegit-git-did-not-exit-cleanly-exit-code-1/39951063#39951063)