Skip to content

Commit 3e6f08f

Browse files
authored
Merge pull request #3598 from github/desktop-stashing-changes
[GitHub Desktop] Stashing changes feature
2 parents 5e047f7 + 01117e3 commit 3e6f08f

17 files changed

+88
-13
lines changed
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

content/desktop/contributing-and-collaborating-using-github-desktop/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ versions:
1919
{% topic_link_in_list /making-changes-in-a-branch %}
2020
{% link_in_list /managing-branches %}
2121
{% link_in_list /committing-and-reviewing-changes-to-your-project %}
22+
{% link_in_list /stashing-changes %}
2223
{% link_in_list /pushing-changes-to-github %}
2324
{% link_in_list /reverting-a-commit %}
2425
{% link_in_list /managing-tags %}

content/desktop/contributing-and-collaborating-using-github-desktop/managing-branches.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ If you create a branch on {% data variables.product.product_name %}, you'll need
6767
![The Publish branch button](/assets/images/help/desktop/publish-branch-button.png)
6868

6969
### Switching between branches
70-
You can view and make commits to any of your repository's branches. If you have uncommitted, saved changes, you'll need to decide what to do with your changes before you can switch branches. You can commit your changes on the current branch, stash your changes on the current branch, or bring the changes to your new branch. If you want to commit your changes on the current branch, follow the steps in "[Committing and reviewing changes to your project](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project)" before switching branches.
71-
70+
You can view and make commits to any of your repository's branches. If you have uncommitted, saved changes, you'll need to decide what to do with your changes before you can switch branches. You can commit your changes on the current branch, stash your changes to temporarily save them on the current branch, or bring the changes to your new branch. If you want to commit your changes before switching branches, see "[Committing and reviewing changes to your project](/desktop/contributing-to-projects/committing-and-reviewing-changes-to-your-project)."
7271
{% tip %}
7372

7473
**Tip**: You can set a default behavior for switching branches in the **Advanced** settings. For more information, see "[Configuring basic settings](/desktop/getting-started-with-github-desktop/configuring-basic-settings)."
@@ -81,17 +80,6 @@ You can view and make commits to any of your repository's branches. If you have
8180
3. If you have saved, uncommitted changes, choose **Leave my changes** or **Bring my changes**, then click **Switch Branch**.
8281
![Switch branch with changes options](/assets/images/help/desktop/stash-changes-options.png)
8382

84-
### Retrieving stashed changes
85-
To access changes you've stashed in another branch, switch back to the branch you stashed the changes in.
86-
87-
{% data reusables.desktop.current-branch-menu %}
88-
{% data reusables.desktop.switching-between-branches %}
89-
![List of branches in the repository](/assets/images/help/desktop/click-branch-in-drop-down-mac.png)
90-
3. In the left sidebar, click **Stashed Changes**.
91-
![Stashed changes option](/assets/images/help/desktop/stashed-changes.png)
92-
4. To delete your stashed changes, click **Discard**, or to use your stashed changes, click **Restore**.
93-
![Discard or Restore stashed changes](/assets/images/help/desktop/discard-restore-stash-buttons.png)
94-
9583
### Deleting a branch
9684

9785
You can't delete a branch if it's currently associated with an open pull request. You cannot undo deleting a branch.
@@ -120,3 +108,4 @@ You can't delete a branch if it's currently associated with an open pull request
120108
- "[Branch](/articles/github-glossary/#branch)" in the {% data variables.product.prodname_dotcom %} glossary
121109
- "[About branches](/articles/about-branches)"
122110
- "[Branches in a Nutshell](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell)" in the Git documentation
111+
- "[Stashing changes](/desktop/contributing-and-collaborating-using-github-desktop/stashing-changes)"
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
---
2+
title: Stashing changes
3+
intro: You can temporarily save your changes without committing them to a branch by stashing the changes.
4+
versions:
5+
free-pro-team: '*'
6+
---
7+
8+
### About stashed changes
9+
10+
To apply your changes to your repository, you must save the files and then commit the changes to a branch. If you have saved changes that you are not ready to commit yet, you can stash the changes for later. When you stash changes, the changes are temporarily removed from the files and you can choose to restore or discard the changes later. You can only stash one set of changes at a time with {% data variables.product.prodname_desktop %}. If you use {% data variables.product.prodname_desktop %} to stash changes, all unsaved changes will be stashed. After you stash changes on a branch, you can safely change branches or make other changes to your current branch.
11+
12+
If you use {% data variables.product.prodname_desktop %} to switch branches while you have saved, but not committed, changes, {% data variables.product.prodname_desktop %} will prompt you to stash the changes or bring them to the other branch. For more information, see "[Managing branches](/desktop/contributing-to-projects/managing-branches#switching-between-branches)."
13+
14+
### Stashing changes
15+
16+
{% data reusables.desktop.click-changed-files-header %}
17+
{% data reusables.desktop.click-stash-all-changes %}
18+
19+
### Restoring stashed changes
20+
21+
{% data reusables.desktop.navigate-to-stashed-changes %}
22+
{% data reusables.desktop.click-stashed-changes %}
23+
{% data reusables.desktop.click-restore %}
24+
25+
### Discarding stashed changes
26+
27+
{% data reusables.desktop.navigate-to-stashed-changes %}
28+
{% data reusables.desktop.click-stashed-changes %}
29+
{% data reusables.desktop.click-discard %}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
1. Right click the **changed files** header.
2+
3+
{% mac %}
4+
5+
![The changed files header](/assets/images/help/desktop/mac-changed-file-header.png)
6+
7+
{% endmac %}
8+
9+
{% windows %}
10+
11+
![The changed files header](/assets/images/help/desktop/windows-changed-file-header.png)
12+
13+
{% endwindows %}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
1. Click **Discard**.
2+
3+
{% mac %}
4+
5+
![Discard stashed changes button](/assets/images/help/desktop/mac-discard-stashed-changes-button.png)
6+
7+
{% endmac %}
8+
9+
{% windows %}
10+
11+
![Discard stashed changes button](/assets/images/help/desktop/windows-discard-stashed-changes-button.png)
12+
13+
{% endwindows %}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
1. Click **Restore**.
2+
3+
{% mac %}
4+
5+
![Restore stashed changes button](/assets/images/help/desktop/mac-restore-stashed-changes-button.png)
6+
7+
{% endmac %}
8+
9+
{% windows %}
10+
11+
![Restore stashed changes button](/assets/images/help/desktop/windows-restore-stashed-changes-button.png)
12+
13+
{% endwindows %}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
1. Click **Stash All Changes**.
2+
3+
{% mac %}
4+
5+
![The Stash All Changes menu item](/assets/images/help/desktop/mac-stash-all-changes.png)
6+
7+
{% endmac %}
8+
9+
{% windows %}
10+
11+
![The Stash all changes menu item](/assets/images/help/desktop/windows-stash-all-changes.png)
12+
13+
{% endwindows %}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
1. In the left sidebar, click **Stashed Changes**.
2+
![Stashed changes option](/assets/images/help/desktop/stashed-changes.png)
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
1. If you are not already on the branch where the changes are stashed, click {% octicon "git-branch" aria-label="The branch icon" %} **Current Branch**, then click the branch with stashed changes.
2+
![List of branches in the repository](/assets/images/help/desktop/click-branch-in-drop-down-mac.png)

0 commit comments

Comments
 (0)