Closed gadfly3173 closed 4 weeks ago
There are two ways to do this:
Removes all --prune
parameter from git fetch
command. And users can only do this job from the context menu of remote
:
Unify all fetch-related features:
Fetch
will keep current designAuto-Fetch
should not using --prune
because it is not controlled by user. For example, if a remote branch is deleted by accident, we can still re-push it from our local repository.Add Remote
should not using --prune
since it is a new remotePush
popup that controls whether the --prune
parameter is enabled Currently, I prefer the first solution
Done.
LGTM
Hm, I'm not a fan of needing to perform one additional manual action every time I want to get rid of old merged pull request branches. :/
Hm, I'm not a fan of needing to perform one additional manual action every time I want to get rid of old merged pull request branches.
You can do that through git itself.
Always auto prune: (add --global
if you want every repository has it)
git config fetch.prune true
Only prune remote with name origin
:
git config remote.origin.prune true
Thanks, that's good to know! :+1:
How about adding this configuration to the preferences, or adding an option just for SourceGit? @love-linger
Here are some other tools that handle this functionality.
GitKraken (default enabled) :
https://github.com/mhutchie/vscode-git-graph (default disabled) :
https://github.com/zielu/GitToolBox (default enabled with delay) :
Done. You can download the latest CI build from Github Action.
Current behavior of Fetch operation:
After I delete a branch at remote, Pull will never remove the deleted remote branch. I need to click Fetch popup or wait for AutoFetch again. I suggest to unify the prune settings and behavior in SourceGit.