저는 보통 IntelliJ 단축키를 이용해서 Git을 사용합니다. 그런데 가끔 터미널에서 Git 명령어를 쓸 때가 있습니다. IntelliJ에서 제가 자주 사용하는 단축키와 터미널에서 사용하는 단축키를 공유하려고 합니다.
단축키는 mac 기준입니다!
IntelliJ에서 단축키는 Preferences...(⌘,) -> Keymap 에서 확인할 수 있습니다.
IntelliJ 단축키를 이용한 Git
커밋 : ⌘K ( $ git commit -am '커밋메세지' )
커밋하기 위해 단축키를 입력하면 아래와 같은 창이 뜹니다.
파일의 변경 내용을 볼 수 있고, 어느 브랜치에서 작업한지도 표시됩니다. 또한 커밋 메세지도 입력할 수 있습니다.
파일을 더블 클릭해서 커밋하기 전에 파일 내용을 다시 확인하고, 수정할 수도 있습니다.
추가로, 이 상태에서 커밋 버튼을 누르려면 ⌘↩︎ 를 눌러야 합니다. 엔터만 누르면, 커밋메세지가 수정되거나 파일이 열려요~~
Push: ⌘⇧K ( $ git push origin 브랜치명 )
커밋을 하고 나서 원격 저장소에 푸시하는 단축키입니다.
단축키를 입력하면 창이 뜨게 되고, 커밋된 내용들을 볼 수 있습니다.
빨간색 체크된 곳을 클릭해서 원격저장소 브랜치도 수정할 수 있습니다.
Git pull, merge 받기: ⌘T, ⌃⌘P ( $ git merge origin 브랜치명 )
intelliJ에서는 update라고 나오는데.. Git에 fetch & merge 라고 생각하면 됩니다~ 해당 단축키가 기본적으로 ⌘T
입니다.
그리고 저는 추가적으로 세팅해놓은 단축키를 소개해드리겠습니다!
해당 브랜치나 다른 브랜치 pull ( fetch & merge ) 받을 때 intelliJ 에서 shift 2번 눌러서 pull 검색해서 사용할 수 있습니다.
저는 ⌃⌘P
로 단축키를 설정해놨습니다.
pull 받을 브랜치를 지정할 수 있습니다.
브랜치 비교 : ⌃⌘L ( $ git diff )
현재 파일을 다른 브랜치랑 비교하는 기능도 있습니다! 저는 단축키를 ⌃⌘L
로 설정해놨습니다.
이렇게 브랜치를 쭉 볼 수있고, 클릭하면, 현재 파일과 다른 브랜치에 있는 같은 파일을 비교할 수 있습니다.
브랜치 보기 : ⌃⌘B ( $ git branch -a )
IntelliJ 오른쪽 아래에서 클릭하면 브랜치를 볼 수도 있지만 저는 단축키를 지정해놨습니다.
이렇게 볼 수 있습니다.
브랜치를 변경하려면 클릭하면 됩니다. 명령어로는 $ git switch 브랜치명
입니다.
추가로, 저는 사실 브랜치 보기나 브랜치 변경은 잘 쓰지 않고, Task를 만들어서 Task를 바꾸면서 브랜치를 바꿉니다. 이렇게 하는 가장 큰 이유는 회사에서 JIRA로 개발 이슈 관리를 하는데, 브랜치명을 이슈명으로 설정합니다. 위 사진처럼요. 그럼.. 기억력이 좋지 않은 저는.. LM-1234가 무엇이었는지 기억하지 못합니다..ㅎㅎ 그런데 Task로 지정하면 아래처럼 JIRA 이슈 제목을 바로 확인할 수 있습니다. 따라서 어떤 브랜치에서 어떤 일을 하는지 명확합니다. 추천추천~
그런데, 변경점?도 Task에 따라 가는 것 같습니다. 그래서 Task를 변경할 때 마다 화면이나 changelist 관련 해서 나오기 때문에 Task를 사용하려면 해당 내용도 염두에 둬야 합니다. Task 변경은 ⇧⌥T
로 추가,변경할 수 있습니다.
Terminal 을 이용한 Git
IntelliJ 기능으로만 안되거나 터미널로 하는게 더 편한 경우가 있습니다. 이때는 그냥 터미널 명령어로 합니다!
임시 저장 하기 ( $ git stash )
가끔 개발하다 보면, 중간에 다른 브랜치를 가야할 경우가 있습니다. 이때 $ git stash
를 해서 임시저장을 하고, 다른 브랜치로 이동할 수 있습니다.
$ git stash save '이름'
이렇게 하면, 이름으로 저장됩니다.
$ git stash list
이렇게 하면 임시저장한 내용을 볼 수 있습니다.
$ git stash pop
이렇게 하면 가장 마지막에 저장한 임시저장 내역을 불러올 수 있습니다.
remote branch로 Reset 하기 ( $ git reset --hard origin/브랜치명 )
개발을 하다보면, 개발하고 커밋하고 그랬는데 다 했다고 생각했는데, 필요없어서 제대로 돌아가는 브랜치를 받아야할 때가 있습니다. 혹은 머지하다가 conflict 나서 .. 코드 맞추기 힘들때 remote에 있는 코드를 강제로 불러오고 싶을 때 사용합니다. 개발중인 코드가 모두 날아가는걸 염두에 두어야 합니다!$ git reset --hard origin/브랜치명
이러면 해당 remote 브랜치 데이터로 내 로컬 데이터가 변경되게 됩니다.
add 되지 않은 파일 삭제하기 ( $ git clean -fd )
위에 처럼 reset 하게 되면, 이미 있는 파일에 수정한 건 돌아가는데, 추가로 만든 파일, 폴더는 add에서 빠지기만 하고, 내 프로젝트에는 계속 보이게 됩니다. 해당 파일,폴더 삭제하기 위해서는 아래 명령어를 이용하면 됩니다.$ git clean -fd
'개발~' 카테고리의 다른 글
자주 사용하는 카프카 명령어 (0) | 2021.11.04 |
---|---|
Go tour (0) | 2021.08.09 |
vi 편집기 입력 에러 (1) | 2020.05.18 |
Linux alias 설정하기 (0) | 2020.03.20 |
참고 사이트 (0) | 2017.03.06 |