Git에서 스태시 적용

John Wachira 2022년8월23일
Git에서 스태시 적용

이 기사에서는 Git에서 숨김을 적용하는 다양한 방법을 다룹니다. 특정 Git 숨김을 적용하는 단계를 보여줍니다.

Git에서 스태시 적용

우리는 git stash list를 사용하여 모르는 경우 Git stash를 표시합니다.

pc@JOHN MINGW64 ~/Git (main)
$ git stash list
stash@{0}: WIP on main: 78129a6 Revert "$git status"
stash@{1}: WIP on main: 195e5c3 $git status

Git 브랜치에 두 개의 숨김이 있는 것을 볼 수 있습니다.

git stash apply를 실행하면 스택의 맨 위를 가리킵니다. 아래와 같이 특정 stash를 적용하려면 인수를 추가해야 합니다.

$ git stash apply stash@{stash_index}

우리의 경우 인덱스 1 stash를 적용하려고 합니다. 아래 명령을 실행합니다.

$ git stash apply stash@{1}
Removing text.txt.txt
CONFLICT (modify/delete): Tutorial.txt deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of Tutorial.txt left in tree.
On branch main
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        deleted:    text.txt.txt
        modified:   text.txt.txt.bak
Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add/rm <file>..." as appropriate to mark resolution)
        deleted by us:   Tutorial.txt
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .bash_history.bak
        Delftscopetech/
        New folder/
        file.patch

그러나 이 명령을 적용하면 목록에서 숨김이 삭제되지 않습니다. git stash pop 명령을 실행해야 합니다.

git stash applygit stash pop 사이에는 차이가 있습니다. 후자는 변경 사항을 적용하고 목록에서 숨김을 삭제합니다.

예를 들어 보겠습니다.

pc@JOHN MINGW64 ~/Git/Delftscopetech (main)
$ git stash pop stash@{0}
Removing README.md
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    README.md
no changes added to commit (use "git add" and/or "git commit -a")
Dropped stash@{0} (1531151482186b97f47e9b852ac29ddd194bd099)

Git이 숨김을 적용하고 위의 출력에서 ​​삭제하는 것을 볼 수 있습니다.

대안은 git stash drop stash@{Index}를 실행하는 것입니다. 모든 숨김을 지우려면 git stash clear 명령을 실행합니다.

작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Stash