여러가지 방법이 있겠지만(인터렉티브 리베이스, git add -p 등 .. )
vscode에서 gui로 제공하는 좋은 방법이 있다.
가끔 작업을 쭉 하다 보면, 여러가지 수정 사항이 하나의 파일에 포함되게 되는 경우가 있다.
그럴 때 vscode 의 git diff를 확인하면, 파일 하나이기 때문에 한 파일에 여러가지 diff가 쭈루룩 나열되어 커밋을 통으로 할 수 밖에 없는 상황이 벌어지곤 했는데..
이때 (과거의) 내가 했던 방법은 수정사항들을 메모장에 복붙해서.. 하나씩.. 떼어와 파일을 재 조립하여.. 완성하는 .. 시간이 많이 걸리는 방법으로 수행했다.
그러나 인텔리제이에서는 따로 커밋이 가능하다는 말씀을 듣고!
아 그러면 vscode도 제공할 것 같다는 생각이 들어서 빠르게 찾아봤다.
구글에 vscode commit only some code로 검색했다.
다행히도 나와 같은 고민을 하는 분이 계셨고, 정말 친절한 gif 로 모든 과정을 보여주셨다!
Peace!
아 실제로 해보면
내가 추가한 코드와 삭제 및 수정한 코드가 혼재되어 있다.
이를 나눠서 커밋하고 싶었고,
스택오버플로에 나와있는 설명처럼
1. staging하고 싶은 라인을 드래그한다.
2. 드래그한 상태에서 아래 이미지의 우측 상단 버튼 중 ... 을 클릭한다.
3. Stage Selected Ranges 를 클릭한다.
그러면 짜잔 하고 control 패널의 staged changes에 해당 코드가 스테이징 된 것을 확인할 수 있다.
위 사진에서 수정된 부분은 여러개였지만, 지금은 한 부분만 변경된 것을 확인할 수 있다.
그리고 나머지 띄엄띄엄 떨어져있던 부분들을 하나의 커밋으로 만들고 싶다면?
(조금 고민을 하긴 했다. 왜냐면 드래그는 .. 떨어진 부분을 할 수 없기 때문에!)
그런데 방법은 의외로 간단하다.
그냥 해당 라인들을 각각 따로따로 스테이징 해주면 된다.
왜냐하면, 하나의 파일이기 때문에 모두 합쳐져서 스테이징 되기 때문이다.
휴! 정말 편리한 기능 아닌가~!
'Front-End > git' 카테고리의 다른 글
vscode discard changes (0) | 2023.10.17 |
---|---|
commit이 중복되어 push된 경우(hash value만 다르고 commit 메시지는 동일) (0) | 2023.09.23 |
rebase와 merge (1) | 2023.08.20 |
원격 저장소 코드와 로컬 저장소 코드 동일 여부 확인하기 (0) | 2023.08.18 |
Git 로컬 브랜치명 변경 (0) | 2023.04.05 |