Git

명령어

원2 2025. 4. 7. 18:28
728x90
반응형
 

IntelliJ 내장 Git 기능 관련 (GUI)

IntelliJ는 메뉴와 단축키를 통해 다양한 Git 기능을 제공합니다.

  • 프로젝트 버전 관리 활성화:
    • VCS -> Enable Version Control Integration...
    • Git을 선택하고 확인을 누르면 프로젝트에 Git이 활성화됩니다.
  • 커밋 (Commit):
    • Ctrl + K (Windows/Linux) 또는 Cmd + K (macOS)
    • 변경 사항을 스테이징하고 커밋 메시지를 작성한 후 커밋할 수 있습니다.
    • 커밋 전에 변경 사항을 확인하고 특정 파일만 포함하거나 제외할 수 있습니다.
  • 푸시 (Push):
    • Ctrl + Shift + K (Windows/Linux) 또는 Cmd + Shift + K (macOS)
    • 로컬 커밋을 원격 저장소로 업로드합니다.
    • 어떤 브랜치로 푸시할지 선택할 수 있습니다.
  • 풀 (Pull):
    • Ctrl + Alt + Shift + K (Windows/Linux) 또는 Cmd + Option + Shift + K (macOS)
    • 원격 저장소의 변경 사항을 로컬 브랜치로 가져와 병합합니다.
  • 브랜치 (Branch):
    • VCS -> Git -> Branches...
    • 새로운 브랜치를 생성하거나 기존 브랜치를 확인하고 전환할 수 있습니다.
    • 오른쪽 하단의 브랜치 이름을 클릭해도 브랜치 관리 창이 열립니다.
  • 병합 (Merge):
    • 병합할 브랜치로 체크아웃한 후, VCS -> Git -> Merge... 를 선택하고 병합할 브랜치를 선택합니다.
    • 충돌이 발생하면 IntelliJ에서 충돌 해결 도구를 제공합니다.
  • Rebase:
    • 병합과 유사하지만 커밋 기록을 깔끔하게 만들 때 사용합니다.
    • VCS -> Git -> Rebase... 를 선택하고 Rebase할 브랜치를 선택합니다.
  • 로그 보기 (Show History):
    • 파일 또는 프로젝트를 우클릭하고 Git -> Show History 를 선택하면 커밋 로그를 확인할 수 있습니다.
    • 각 커밋의 변경 사항, 작성자, 날짜 등을 확인할 수 있습니다.
  • Staging (파일 추가):
    • Project 도구 창에서 변경된 파일을 우클릭하고 Git -> Add 를 선택하거나, 커밋 창에서 체크박스를 선택하여 스테이징합니다.
    • IntelliJ는 변경 사항을 "Changes" 창에서 확인할 수 있으며, 이곳에서 스테이징/언스테이징을 관리할 수 있습니다.
  • Stash:
    • 작업 중인 변경 사항을 임시로 저장하고 나중에 다시 불러올 수 있습니다.
    • VCS -> Git -> Stash Changes... 로 저장하고, VCS -> Git -> Unstash Changes... 로 불러옵니다.
  • 되돌리기 (Revert/Checkout):
    • 특정 커밋으로 되돌리거나(Revert), 파일의 특정 버전으로 되돌릴 수 있습니다(Checkout).
    • 로그 창에서 커밋을 우클릭하여 Revert Commit 을 선택하거나, 파일의 히스토리에서 특정 버전을 Checkout 할 수 있습니다.

터미널에서 자주 사용하는 Git 명령어

  • git init: 현재 디렉토리를 Git 저장소로 초기화합니다. (IntelliJ에서 프로젝트 버전 관리를 활성화하면 자동으로 실행됩니다.)
  • git clone <저장소 URL>: 원격 저장소의 코드를 로컬로 복제합니다.
  • git status: 현재 브랜치의 상태와 변경된 파일들을 보여줍니다. (스테이징 여부 등)
  • git add <파일 이름> 또는 git add .: 특정 파일 또는 모든 변경 사항을 스테이징 영역에 추가합니다.
  • git commit -m "<커밋 메시지>": 스테이징된 변경 사항을 커밋합니다.
  • git push origin <브랜치 이름>: 로컬 커밋을 원격 저장소의 특정 브랜치로 푸시합니다.
  • git pull origin <브랜치 이름>: 원격 저장소의 특정 브랜치 변경 사항을 로컬 브랜치로 가져와 병합합니다.
  • git branch: 로컬 브랜치 목록을 보여주고, 현재 브랜치는 * 표시됩니다.
  • git branch <새 브랜치 이름>: 새로운 로컬 브랜치를 생성합니다.
  • git checkout <브랜치 이름>: 특정 브랜치로 전환합니다.
  • git checkout -b <새 브랜치 이름>: 새로운 브랜치를 생성하고 바로 전환합니다.
  • git merge <병합할 브랜치 이름>: 현재 브랜치에 다른 브랜치의 변경 사항을 병합합니다.
  • git log: 커밋 기록을 보여줍니다. 다양한 옵션을 사용하여 상세 정보, 그래프 등을 확인할 수 있습니다. (git log --oneline, git log --graph --decorate --oneline --all 등)
  • git stash: 현재 변경 사항을 임시로 저장합니다.
  • git stash list: 저장된 Stash 목록을 보여줍니다.
  • git stash apply: 가장 최근의 Stash를 적용합니다.
  • git stash apply stash@{<인덱스>}: 특정 Stash를 적용합니다.
  • git stash pop: 가장 최근의 Stash를 적용하고 Stash 목록에서 제거합니다.
  • git reset HEAD <파일 이름>: 스테이징된 특정 파일을 언스테이징합니다.
  • git reset --hard <커밋 해시>: 특정 커밋으로 되돌리고 이후의 모든 변경 사항을 삭제합니다. (주의해서 사용해야 합니다!)
  • git revert <커밋 해시>: 특정 커밋의 변경 사항을 취소하는 새로운 커밋을 만듭니다.
728x90
반응형