[Git] 다른 브랜치로 Commit 해야 한다면?

Hyes_y·2022년 4월 21일
0

Elice_2차_프로젝트

목록 보기
1/5

지금은 엘리스 2차 프로젝트 중...
기계처럼 코드를 치다 보니 다른 브랜치에 커밋 해야하는 파일을 무려 6개나 작성해버렸다,, !

1차때는 변경 사항이 날라간지도 모른채 신나게 checkout 을 했지만
사람은 발전을 해야한다.

🧐 로컬 변경 사항을 건드리지 않고 브랜치 전환하는 방법

git stash
git checkout <변경할 브랜치>
git stash pop

git stash는 워킹 디렉터리에서 수정한 파일을 저장하는 명령어이고
아래와 같은 경우에 해당하는 파일을 저장할 수 있다.

1) Modified이면서 Tracked 상태인 파일

  • Tracked 상태인 파일을 수정한 경우
  • Tracked: 과거에 이미 commit하여 스냅샷에 넣어진 관리 대상 상태의 파일

2) Staging Area에 있는 파일(Staged 상태의 파일)

  • git add 명령을 실행한 경우
    Staged 상태로 만들려면 git add 명령을 실행해야 한다.
    git add는 파일을 새로 추적할 때도 사용하고 수정한 파일을 Staged 상태로 만들 때도 사용한다.

출처: https://gmlwjd9405.github.io/2018/05/18/git-stash.html

git stash pop 은 말 그대로 저장한 파일을 꺼내오는 명령어이다.
stash가 파일을 저장하는 stack의 역할을 한다고 생각하면 될 것 같다.

pop 외에 stash에 남겨놓고 불러오기만 하고 싶다면

git stash apply

위 명령어를 수행한 뒤 stash를 삭제하고 싶다면

git stash drop

를 사용하면 된다.


stash를 다루는 더 자세한 방법은 위 출처의 글을 보면 좋을 것 같다.
내 6개 파일의 은인,,

결과는?!

완벽하게 수행되었다.
git을 쓰다보면 '아니,, 왜이렇게 어렵고 복잡해?!' 하는 경우가 많은데
git은 잘못이 없다. 잘못은 내 짧은 지식,,, ㅠㅠ
앞으로 checkout으로 코드를 날리는 일은 없을 것이라 믿으며 🔥



출처:
🍬 https://gmlwjd9405.github.io/2018/05/18/git-stash.html
🍬 http://daplus.net/git-%EC%BB%A4%EB%B0%8B%EB%90%98%EC%A7%80-%EC%95%8A%EC%9D%80-%EB%A1%9C%EC%BB%AC-%EB%B3%80%EA%B2%BD-%EC%82%AC%ED%95%AD%EC%9D%84-%EB%8B%A4%EB%A5%B8-git-%EB%B8%8C%EB%9E%9C%EC%B9%98%EC%97%90-%EC%96%B4/

늘 감사합니다,, 글을 써주시는 모든 분들 😍

profile
나도 하고 싶다, 개발.

0개의 댓글