Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Stashing selected files

Mattia February 12, 2014

In SourceTree is it possible to stash only some (selected) files and not whole Working Copy?

What is the appropriate Git command?

4 answers

2 accepted

35 votes
Answer accepted
Carl Bashir June 24, 2016

There are no straightforward ways to do it. The command-line solution in the Stackoverflow link in Seth's answer is useful, but I user my own trick in Sourcetree.

To stash select files:

  • Stage the files you want to stash
  • Then stash all files, but making sure that 'Keep staged changes' is checked.
  • Now you only have the files you want to stash in your current working copy.
  • Stash all files, with 'Keep staged changes' unchecked.

You can then re-apply the first stash, and discard the files that you wanted to stash.

Adam Smith October 27, 2016

Great answer. I am sure the command line options work but this was a question on how to do it in SourceTree. Thanks for providing a SourceTree solution

Like # people like this
Johan Scholten August 7, 2019

SourceTree also has custom actions, I added a custom action 'Stash selected files', script target 'git.exe', parameters 'stash push $FILE', seems to work and slightly easier once you have te custom action.

Like # people like this
amird January 24, 2022

@Johan Scholten 
Hi
been a while, but how does the stash description is determined in this way?

Johan Scholten February 9, 2022

It just uses the default now for me, something with the branch name included. Might be adaptable, never checked that.

You can also put parameters for a default name I guess, but there is no way in SourceTree to have a popup for filling in a name for the stash it seems.

5 votes
Answer accepted
Seth
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 20, 2014

There is a command line solution. Credit to: http://stackoverflow.com/questions/5506339/how-can-i-git-stash-a-specific-file

git stash --patch

Mattia February 21, 2014

Thank you, all the techniques in the article you linked could turn out useful.

Like # people like this
14 votes
danchadwick September 7, 2018

I submitted a feature request for natively supporting stashing selected files:
https://jira.atlassian.com/browse/SRCTREEWIN-9103

L February 26, 2019

Hey everybody reading this should vote for this issue!

Like Paul Strugnell likes this
Gleb Minevich March 25, 2019

Mac users: please vote on the same feature request for the Mac version: https://jira.atlassian.com/browse/SRCTREE-4765

Like # people like this
0 votes
Timothy
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 13, 2014

Ctrl + click the files that you want to stash. You can google the other answer i guess.

Mattia February 20, 2014

I'm on a Mac. By the way:

- cmd + click: selects deselects a single file for further action

- shift + click: extends selection to that file for further action

- ctrl + click: opens contextual menu (same as right click)

- alt + click: does nothing more than normal left click

So on a Mac none of the previous serves the purpose.

I was asking the shell Git command because I'm not sure if it's even possible to do what I want to (= stash single files).

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events