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 apply
와 git 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 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