Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[GitHub Desktop] Stashing changes feature #3598

Merged
merged 14 commits into from
Mar 1, 2021
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ versions:
{% topic_link_in_list /making-changes-in-a-branch %}
{% link_in_list /managing-branches %}
{% link_in_list /committing-and-reviewing-changes-to-your-project %}
{% link_in_list /stashing-changes %}
{% link_in_list /pushing-changes-to-github %}
{% link_in_list /reverting-a-commit %}
{% link_in_list /managing-tags %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ If you create a branch on {% data variables.product.product_name %}, you'll need
![The Publish branch button](/assets/images/help/desktop/publish-branch-button.png)

### Switching between branches
ethanpalm marked this conversation as resolved.
Show resolved Hide resolved
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.

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)."
{% tip %}

**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)."
Expand All @@ -81,17 +80,6 @@ You can view and make commits to any of your repository's branches. If you have
3. If you have saved, uncommitted changes, choose **Leave my changes** or **Bring my changes**, then click **Switch Branch**.
![Switch branch with changes options](/assets/images/help/desktop/stash-changes-options.png)

### Retrieving stashed changes
To access changes you've stashed in another branch, switch back to the branch you stashed the changes in.

{% data reusables.desktop.current-branch-menu %}
{% data reusables.desktop.switching-between-branches %}
![List of branches in the repository](/assets/images/help/desktop/click-branch-in-drop-down-mac.png)
3. In the left sidebar, click **Stashed Changes**.
![Stashed changes option](/assets/images/help/desktop/stashed-changes.png)
4. To delete your stashed changes, click **Discard**, or to use your stashed changes, click **Restore**.
![Discard or Restore stashed changes](/assets/images/help/desktop/discard-restore-stash-buttons.png)

### Deleting a branch

You can't delete a branch if it's currently associated with an open pull request. You cannot undo deleting a branch.
Expand Down Expand Up @@ -120,3 +108,4 @@ You can't delete a branch if it's currently associated with an open pull request
- "[Branch](/articles/github-glossary/#branch)" in the {% data variables.product.prodname_dotcom %} glossary
- "[About branches](/articles/about-branches)"
- "[Branches in a Nutshell](https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell)" in the Git documentation
- "[Stashing changes](/desktop/contributing-and-collaborating-using-github-desktop/stashing-changes)"
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
title: Stashing changes
intro: You can temporarily save your changes without committing them to a branch by stashing the changes.
versions:
free-pro-team: '*'
---

### About stashed changes

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.

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)."

### Stashing changes

{% data reusables.desktop.click-changed-files-header %}
{% data reusables.desktop.click-stash-all-changes %}

### Restoring stashed changes

{% data reusables.desktop.navigate-to-stashed-changes %}
{% data reusables.desktop.click-stashed-changes %}
{% data reusables.desktop.click-restore %}

### Discarding stashed changes

{% data reusables.desktop.navigate-to-stashed-changes %}
{% data reusables.desktop.click-stashed-changes %}
{% data reusables.desktop.click-discard %}
13 changes: 13 additions & 0 deletions data/reusables/desktop/click-changed-files-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
1. Right click the **changed files** header.

{% mac %}

![The changed files header](/assets/images/help/desktop/mac-changed-file-header.png)

{% endmac %}

{% windows %}

![The changed files header](/assets/images/help/desktop/windows-changed-file-header.png)

{% endwindows %}
13 changes: 13 additions & 0 deletions data/reusables/desktop/click-discard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
1. Click **Discard**.

{% mac %}

![Discard stashed changes button](/assets/images/help/desktop/mac-discard-stashed-changes-button.png)

{% endmac %}

{% windows %}

![Restore stashed changes button](/assets/images/help/desktop/windows-discard-stashed-changes-button.png)
ethanpalm marked this conversation as resolved.
Show resolved Hide resolved

{% endwindows %}
13 changes: 13 additions & 0 deletions data/reusables/desktop/click-restore.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
1. Click **Restore**.

{% mac %}

![Restore stashed changes button](/assets/images/help/desktop/mac-restore-stashed-changes-button.png)

{% endmac %}

{% windows %}

![Restore stashed changes button](/assets/images/help/desktop/windows-restore-stashed-changes-button.png)

{% endwindows %}
13 changes: 13 additions & 0 deletions data/reusables/desktop/click-stash-all-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
1. Click **Stash All Changes**.

{% mac %}

![The Stash All Changes menu item](/assets/images/help/desktop/mac-stash-all-changes.png)

{% endmac %}

{% windows %}

![The Stash all changes menu item](/assets/images/help/desktop/windows-stash-all-changes.png)

{% endwindows %}
2 changes: 2 additions & 0 deletions data/reusables/desktop/click-stashed-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
1. In the left sidebar, click **Stashed Changes**.
![Stashed changes option](/assets/images/help/desktop/stashed-changes.png)
2 changes: 2 additions & 0 deletions data/reusables/desktop/navigate-to-stashed-changes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
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.
![List of branches in the repository](/assets/images/help/desktop/click-branch-in-drop-down-mac.png)