Git
Cherry-Pick : 특정 커밋 선택적으로 적용하기
Git 사용자라면 누구나 알아야 할 강력한 기능, 바로 Cherry-Pick입니다! Cherry-Pick은 마치 원하는 체리를 골라서 따는 것처럼, 특정 커밋을 선택적으로 다른 브랜치에 적용하는 기능입니다. 이 강력한 도구를 활용하면, 코드 개발 과정에서 발생하는 다양한 상황을 효율적으로 해결할 수 있습니다. Cherry-Pick란Cherry-Pick은 Git에서 제공하는 명령어로, 특정 커밋의 변경 사항을 다른 브랜치에 복사하여 적용하는 데 사용됩니다. 마치 다른 브랜치에서 맛있는 체리를 골라서 우리 브랜치의 케이크에 올리는 것과 비슷하다고 생각하면 됩니다. Cherry-Pick을 사용하는 이유는 무엇일까요?Cherry-Pick을 사용하면 다음과 같은 다양한 상황에서 유용하게 활용할 수 있습니다.특정 ..
Git 특정 크기 이상 파일 제외하고 추가하기
git add 명령어를 사용할 때 특정 크기 이상의 큰 파일을 제외하고 추가하려면, find 명령어와 xargs 명령어를 조합하여 조건에 맞는 파일만 추가할 수 있습니다. 예를 들어, 10MB 이상의 파일을 제외하고 Git에 추가하는 방법을 설명하겠습니다.gitignore가장 간단한 방법은 .gitignore 파일을 사용하여 특정 파일이나 디렉토리를 무시하는 것입니다. 그러나 파일 크기를 기준으로 무시하는 것은 .gitignore로 직접 할 수 없습니다.find와 xargs 명령어 사용find 명령어를 사용하여 특정 크기 이하의 파일을 찾고, xargs 명령어를 사용하여 git add 명령어에 전달합니다. 예제10MB 이상의 파일을 제외하고 Git에 추가find . -type f -size -10M -p..
git log로 코드의 변경사항을 확인하는 방법
Git은 분산 버전 관리 시스템으로, 코드의 변경사항을 추적하고 관리할 수 있습니다. git log 명령을 사용하면 코드의 변경사항을 확인할 수 있습니다. git log의 기본 사용법 git log 명령은 다음과 같은 형식으로 사용합니다. git log [옵션] 옵션을 지정하지 않으면 git log 명령은 다음과 같은 정보를 출력합니다. commit hash | author | date | message commit hash: 커밋의 고유 식별자 author: 커밋을 작성한 사용자 date: 커밋을 작성한 날짜 message: 커밋의 메시지 옵션 git log 명령에는 다음과 같은 옵션이 있습니다. -p : 커밋의 변경사항을 출력합니다. -n : 출력할 커밋의 개수를 지정합니다. --oneline : 각..
Git lfs : 대용량 파일 관리
git은 분산 버전 관리 시스템으로, 소스 코드뿐만 아니라 다양한 파일을 관리할 수 있습니다. 하지만, git은 일반적으로 대용량 파일을 관리하는 데 적합하지 않습니다. 대용량 파일을 git에 업로드하면 다음과 같은 문제가 발생할 수 있습니다. git 저장소의 크기가 커져서 관리가 어려워집니다. git 저장소를 복제하거나 전송하는 데 시간이 오래 걸립니다. git 저장소를 커밋하거나 푸시하는 데 시간이 오래 걸립니다. git에 대용량 파일을 업로드할 수 있는 방법은 크게 두 가지가 있습니다. git lfs: git에서 제공하는 대용량 파일 관리 기능입니다. 외부 저장소: AWS S3, Google Cloud Storage, Azure Blob Storage와 같은 외부 저장소를 사용하여 대용량 파일을 관..
Git : rebase, merge, 그리고 stash
Git은 다양한 고급 기능을 제공하여 복잡한 작업 흐름에 대응할 수 있게 해줍니다. 이 글에서는 Git의 rebase, merge, 그리고 stash에 대해 알아보겠습니다. rebase vs merge 두 명령어 모두 브랜치 간의 변경사항을 통합하는 데 사용되지만, 사용 방식과 결과가 다릅니다. merge merge는 두 브랜치를 합칠 때, 두 브랜치의 공통 조상과 각 브랜치의 최신 커밋을 사용하여 새로운 커밋을 생성합니다. $ git checkout main $ git merge feature-branch 이렇게 하면 feature-branch의 모든 변경사항이 main 브랜치에 통합됩니다. 장점 : 원래의 브랜치 히스토리가 유지됩니다. 단점 : 복잡한 브랜치 히스토리가 생성될 수 있습니다. rebas..
원격 저장소와 Git 연동
개발 프로젝트를 진행할 때, 코드의 변경사항을 안전하게 백업하거나 다른 개발자와 협업을 하려면 원격 저장소의 필요성을 느끼게 됩니다. Git은 원격 저장소와의 연동을 지원하여 효과적인 협업 및 백업이 가능합니다. 이번 글에서는 Git과 원격 저장소의 연동 방법과 기본적인 동기화 방법에 대해 알아보겠습니다. 원격 저장소 추가하기 먼저, 원격 저장소의 URL이 필요합니다. 대표적으로 GitHub, GitLab, Bitbucket 등이 있습니다. 해당 원격 저장소의 URL을 복사한 후 아래 명령어를 사용하여 원격 저장소를 추가합니다. $ git remote add [원격 저장소 별명] [원격 저장소 URL] 예를 들어, 별명을 origin으로 하여 원격 저장소를 추가하려면 다음과 같이 실행합니다. $ git ..
Git 기본 명령어
Git은 코드 버전 관리 도구로, 개발자 사이에서 거의 필수적으로 사용되는 도구입니다. Git을 통해 변경 사항을 기록하고, 다른 개발자와 협업하며, 이전 상태로 롤백하는 것도 가능합니다. 이번 글에서는 Git의 핵심 명령어들에 대해 알아보겠습니다. Git 저장소 초기화하기 git init은 현재 디렉토리를 Git 저장소로 초기화합니다. 초기화한 폴더 내에는 .git라는 숨겨진 폴더가 생성되며, 여기에 모든 Git 관련 정보가 저장됩니다. $ git init 변경사항 스테이징 소스 코드에서 변경사항이 발생하면, 이를 커밋하기 전에 먼저 '스테이징' 영역에 추가해야 합니다. git add 명령어는 변경사항을 스테이징 영역에 추가하는 역할을 합니다. 특정 파일만 스테이징하려면: $ git add [파일 이름..
Git : Branch & Merge
Git을 사용하면서 가장 기본적인 동시에 가장 강력한 기능 중 하나는 '브랜치'와 '병합'입니다. 이 글에서는 Git의 브랜치의 개념과 활용법, 그리고 브랜치를 병합할 때 발생할 수 있는 충돌을 어떻게 해결하는지에 대해 알아보겠습니다. 브랜치의 개념 Git의 브랜치는 코드의 특정 버전을 가리키는 포인터입니다. 즉, 개발을 진행하면서 다양한 기능 또는 수정사항을 별도로 관리하고 싶을 때 사용하게 됩니다. 이렇게 하면 한 기능을 개발하는 도중에 다른 기능이나 버그 수정을 별도의 브랜치에서 진행할 수 있습니다. 브랜치 활용법 브랜치 확인: 현재 repository의 브랜치 목록을 확인하려면 git branch 명령을 사용합니다. 브랜치 생성: 새로운 브랜치를 생성하려면 git branch [브랜치 이름]을 사..