Git

· DevOps
Git 명령어 몇 줄 치면 끝나긴 하는데, 이게 내부적으로는 어떤 객체가 만들어지고 어떤 포인터가 움직이는 걸까요? 이번 포스팅에서는 Git이 데이터를 어떻게 저장하는지, 커밋은 어떤 구조로 이루어져 있는지, 그리고 효율적인 협업을 위한 브랜치 전략까지 Git 활용법을 다룹니다. 🧱 Git은 데이터를 어떻게 저장할까?Git은 단순히 파일 스냅샷을 저장하는 도구가 아닙니다. 내부적으로는 SHA-1 해시 기반의 객체 저장소를 구성하며, 모든 커밋, 파일, 폴더는 특정한 객체 타입으로 관리됩니다. [Git의 세 가지 객체]- Blob: 실제 파일의 내용- Tree: 디렉토리 구조 및 파일 목록 (즉, 스냅샷)- Commit: 하나의 버전 스냅샷을 나타내는 객체로, 부모 커밋과 트리 객체, 메타 데이터를 포함..
· 레퍼런스
히스토리 조작히스토리 조작에는 몇 가지 강력한 명령이 포함됩니다. Rebase는 커밋 기록을 재작성하고, Squashing은 여러 커밋을 하나로 결합하며, Cherry-picking은 특정 커밋만 선택합니다.Rebasing 과 MergingRebasing을 Merging과 비교하는 것은 의미가 있습니다. 두 명령의 목표는 같지만 이를 달성하는 방법이 다릅니다. 중요한 차이점은 Rebasing이 프로젝트의 히스토리를 재작성한다는 것입니다. 깔끔하고 이해하기 쉬운 프로젝트 히스토리를 중요시하는 프로젝트에 적합합니다. 반면, Merging은 새로운 병합 커밋을 생성하여 두 브랜치의 히스토리를 유지합니다. Rebase를 수행하는 동안, 기능 브랜치의 커밋 기록은 메인 브랜치의 HEAD로 이동하면서 재구성됩니다...
· 레퍼런스
Git은 코드 작업에 있어서 너무나도 중요한 도구라 사람들이 기술 스택이나 이력서에 아예 언급조차 하지 않는다는 점을 눈치채셨나요? 이미 알고 있을 거라는, 또는 적어도 필요한 만큼은 알고 있을 거라는 가정이 깔려 있죠. 하지만 정말 충분히 알고 있나요? Git은 버전 관리 시스템(VCS)입니다. 코드를 저장하고 변경하며 다른 사람과 협업할 수 있게 해주는 보편적인 기술이죠. 개발자로서 우리의 일상은 코드를 읽고, 작성하고, 검토하는 데 집중되어 있습니다. Git은 우리가 사용하는 도구 중 가장 중요한 것 중 하나라고 할 수 있습니다. Git의 기능과 특징을 마스터하는 것은 개발자로서 자신에게 할 수 있는 최고의 투자 중 하나입니다. 그럼 시작해 봅시다. 기초 다지기 Git을 제대로 배우지 않으면 계속해..
· DevOps
프로젝트를 진행할 때, 주로 몇 명이서 작업을 하나요? 혼자만의 프로젝트를 진행할 수도 있겠지만, 대부분은 본인을 포함한 두 명이상으로 인원이 구성될 것입니다. 그리고 여러 명이 개발로 협업을 해야 할 경우, 대부분은 git을 사용하여 진행합니다. 브랜치를 통한 효율적인 협업을 진행할 수 있다는 것이 git을 사용하는 큰 이유입니다. 저도 이전 회사에서는 commit, push, pull 등의 아주 기본적인 명령어들 밖에 사용하지 않았지만, 이직을 한 뒤에는 초면인 git 명령어들을 많이 만나게 되었고 지금은 친해지려고 노력 중에 있습니다. 그들과 절친이 될 수 있게, 이번 포스팅에서는 협업할 때 쓰이는 여러 가지 Git 명령어들에 대해 알아보겠습니다. [stash & apply] commit을 사용하지..
둘기덕
'Git' 태그의 글 목록