깃허브 데스크탑으로 프로젝트 관리하기 강의 오픈!! (인프런 바로가기)
참고
스테이시(스태쉬)는 아래의 뜻이 있다.
stash[stæʃ]
- 1.(안전한 곳에) 넣어 두다[숨기다]
즉 작성한 코드를 잠시 보관할 수 있다.
깃헙 데스크탑에도 stash 기능을 사용할 수 있다.
먼저 branch1에서 아래와 같이 파일을 수정하였다고 가정하자.
5 changed files가 적힌 탭에서 마우스 오른쪽 버튼을 누르면 Stash all changes를 선택할 수 있다.
위의 그림에서 TestScript1, 2만 선택하였다.
특정 파일만 선택하였어도 해당 파일만 stash를 할 수는 없다.
View stash 또는 Stashed Changed를 눌러보자.
모든 파일이 Stash 된 것을 알 수 있다.
다시 Restore를 누르자.
이와 같이 깃허브 데스크탑에서는 Git Bash와 달리 일부 파일만 Stash 하는 기능을 제공하지 않는다.
따라서 조금 우회하는 방법을 사용한다.
TestScript1, 2만 현재 브랜치(=branch1)에 남겨두고 싶다고 가정하자.
남겨둘 파일을 선택한 후, commit을 한다.
이제 main 브랜치 (또는 다른 브랜치)로 이동하자.
Bring my changes를 선택해서 남은 파일과 함께 이동한다.
그리고 다시 branch1으로 이동하자.
여기서는 당연히 Leave my changes를 선택해서 아무 파일도 가져가지 않는다.
이제 branch1의 History에서 방금 commit한 파일을 취소(Undo)한다.
이제 branch1에서 TestScript3 ~ 5는 안전하게 main(다른 브랜치)에 stash 한 것처럼 되었다.
이런 방식으로 수정된 파일을 다른 브랜치에 보관한 뒤, 원하는 파일만 남겨둘 수 있다.
위 방법도 불편하다면 Git Bash에서 사용하는 일부 파일만 Stash 하는 기능을 커맨드 창을 열어서 수행하면 된다.
현재 두 개의 수정 파일이 있다. TestScript1.cs만 stash 해보자.
[Repositoroy] → [Open in Command Prompt]로 이동한다.
그 이후로는 Git Bash와 동일하다.
git status로 현재 modified 중인 파일을 볼 수 있다.
git status
On branch branch1
Your branch is up to date with 'origin/branch1'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: unity_github/Assets/Script/TestScript1.cs
modified: unity_github/Assets/Script/TestScript2.cs
no changes added to commit (use "git add" and/or "git commit -a")
파일이 있는 경로로 이동한 후,
cd unity_github/Assets/Script
git stash push로 파일을 숨기면 된다.
git stash push TestScript1.cs
Saved working directory and index state WIP on branch1: 1fe4c6aa commit
창에서 TestScript1.cs이 사라진 것을 알 수 있다.
단, 이렇게 수정한 경우는 깃허브 데스크탑에서 stash 목록을 볼 수 없다.
마찬가지로 복구도 커맨드 창에서 git stash pop으로 해야한다.
'개발 > Git, GitHub' 카테고리의 다른 글
깃허브 데스크탑 - 커맨드 창을 Git Bash로 변경하기 (Change Command Prompt to Git Bash) (0) | 2022.07.29 |
---|---|
Git Bash - 일부 파일만 스테이시로 감추기 (Git Stash Some Specific File) (0) | 2022.07.28 |
Git Bash - SSH 키 삭제, 생성, 등록 (0) | 2022.07.15 |
Git Bash - Window에서 경로 Aliasing 설정하기 (0) | 2022.07.09 |
깃허브 데스크탑 - Cherry Picking으로 다른 브랜치 코드 가져오기 (Shelve) (0) | 2022.07.06 |
댓글