As respostas dadas até o momento não são ideais, pois exigem muito trabalho desnecessário para resolver conflitos de mesclagem ou fazem muitas suposições que freqüentemente são falsas. É assim que se faz perfeitamente. O link é para o meu próprio site.
Você possui alterações não confirmadas nas my_branchquais deseja se comprometer master, sem confirmar todas as alterações my_branch.
Exemplo
git merge master
git stash -u
git checkout master
git stash apply
git reset
git add example.js
git commit
git checkout .
git clean -f -d
git checkout my_branch
git merge master
git stash pop
Explicação
Comece mesclando-se masterà sua filial, pois você precisará fazer isso de qualquer maneira e agora é o melhor momento para resolver qualquer conflito.
A -uopção (aka --include-untracked) em git stash -uimpede de perder arquivos untracked quando você fazer mais tarde git clean -f -ddentro master.
Depois git checkout master, é importante que você NÃO o faça git stash pop, porque precisará desse estoque mais tarde. Se você colocar o esconderijo criado em my_branche depois fazer git stashem master, você vai causar conflitos de mesclagem desnecessárias quando posteriormente se aplicam que esconderijo no my_branch.
git resetdesfaz tudo o que resulta git stash apply. Por exemplo, os arquivos que foram modificados no stash, mas não existem, mastersão testados como conflitos "excluídos por nós".
git checkout .e git clean -f -ddescarte tudo o que não foi confirmado: todas as alterações nos arquivos rastreados e todos os arquivos e diretórios não rastreados. Eles já estão salvos no stash e, se deixados master, causariam conflitos desnecessários de mesclagem ao voltar para my_branch.
O último git stash popserá baseado no original my_branche, portanto, não causará conflitos de mesclagem. No entanto, se o seu stash contiver arquivos não rastreados que você se comprometeu a dominar, o git reclamará que "Não foi possível restaurar arquivos não rastreados do stash". Para resolver este conflito, excluir esses arquivos de sua árvore de trabalho, em seguida git stash pop, git add ., e git reset.