Akashic Records

Git 고급 기능 본문

Git

Git 고급 기능

Andrew's Akashic Records 2023. 3. 25. 22:54
728x90

고급 Git 기능은 Git을 더욱 효율적으로 사용할 수 있게 해주며, 복잡한 버전 관리 작업을 수행할 때 도움이 됩니다. 여기 몇 가지 고급 Git 기능을 소개합니다.

git stash

작업 중인 변경 사항을 일시적으로 저장하고 깨끗한 작업 디렉토리로 돌아가려면 git stash를 사용할 수 있습니다. 이 기능은 다른 브랜치로 전환하거나 새로운 변경 사항을 테스트하려 할 때 유용합니다.

$ git stash save "Work in progress"

 

나중에 저장한 변경 사항을 다시 적용하려면 git stash apply를 사용합니다.

$ git stash apply

git rebase

git rebase를 사용하면 여러 커밋을 다른 기준으로 재배열할 수 있습니다. 이 기능은 커밋 기록을 깔끔하게 유지하고, 병합 충돌을 미리 해결하는 데 도움이 됩니다.

$ git rebase <base-branch>

git cherry-pick

git cherry-pick을 사용하면 다른 브랜치의 특정 커밋을 현재 브랜치에 적용할 수 있습니다. 이 기능은 다른 브랜치의 변경 사항을 선택적으로 가져오려 할 때 유용합니다.

$ git cherry-pick <commit-hash>

git bisect

git bisect는 이진 탐색을 사용하여 문제를 일으키는 커밋을 신속하게 찾을 수 있는 기능입니다. 이 기능은 버그를 소개한 커밋을 찾아내는 데 도움이 됩니다.

$ git bisect start
$ git bisect bad
$ git bisect good <commit-hash>

git reflog

git reflog를 사용하면 Git 명령에 의해 변경된 HEAD와 브랜치 참조의 기록을 확인할 수 있습니다. 이 기능은 실수로 삭제된 브랜치나 커밋을 복구하려 할 때 유용합니다.

$ git reflog

git commit --amend

git commit --amend를 사용하면 가장 최근에 만든 커밋을 수정할 수 있습니다. 이 기능은 커밋 메시지를 수정하거나, 빠뜨린 변경 사항을 추가하려 할 때 사용합니다.

$ git commit --amend

git fetch --prune

git fetch --prune을 사용하면 원격 리포지토리에서 삭제된 브랜치를 로컬에서도 삭제할 수 있습니다. 이 기능은 원격 리포지토리와 로컬 리포지토리를 동기화하고, 불필요한 참조를 정리하는 데 도움이 됩니다.

$ git fetch --prune

git remote

git remote 명령어를 사용하여 원격 리포지토리를 관리할 수 있습니다. 원격 리포지토리를 추가, 삭제, 이름 변경 및 목록 조회를 할 수 있습니다.

$ git remote add <remote-name> <remote-url>
$ git remote rm <remote-name>
$ git remote rename <old-remote-name> <new-remote-name>
$ git remote -v

git submodule

git submodule은 다른 Git 리포지토리를 현재 프로젝트의 하위 디렉토리로 포함시키는 기능입니다. 이를 통해 외부 라이브러리나 다른 프로젝트를 현재 프로젝트와 함께 관리할 수 있습니다.

$ git submodule add <repository-url> <path>
$ git submodule init
$ git submodule update

git blame

git blame 명령어를 사용하면 파일의 각 줄을 마지막으로 수정한 커밋과 작성자 정보를 확인할 수 있습니다. 이 기능은 코드 변경 이력을 추적하고 특정 변경 사항에 대한 책임을 파악하는 데 도움이 됩니다.

$ git blame <filename>


이러한 고급 Git 기능들은 복잡한 버전 관리 작업을 수행할 때 도움이 되며, Git을 더욱 효율적으로 사용할 수 있게 해줍니다. 이러한 기능들을 익히고 사용하면 프로젝트 관리 및 협업에서 큰 이점을 얻을 수 있습니다.

728x90

'Git' 카테고리의 다른 글

Git Repository을 다른 원격지에 복사하기  (0) 2023.04.17
Git 기타 도구 및 자원  (0) 2023.03.25
Git 충돌 해결  (0) 2023.03.25
Git 브랜치 전략(Git Flow)  (0) 2023.03.25
Git 원격 리포지토리  (0) 2023.03.25
Comments