Choose a default theme

You can change your theme from the menu

개발 도구

Parent category

Category nameModifiedArticles
컴퓨터 과학과 프로그래밍0

Subcategories

No items have been published yet.

Articles

Git bisect는 정상 버전과 문제가 있는 버전 사이에서 원인 커밋을 좁히는 이분 탐색 도구이다. 검사할 커밋을 선택하고 사용자가 good 또는 bad를 판정하면 남은 후보 구간을 줄인다. 재현 테스트가 있으면 bisect run으로 판정을 자동화할 수 있다. 과거 릴리스는 정상인데 최근 버전에서 계산 결과가 틀린다면 각 후보에서 같은 입력을 실행해 처음 실패하는 변경을 찾는다. 테스트가 불안정하거나 여러 번 정상과 실패를

0

Git revert는 기존 커밋의 변경을 상쇄하는 새 커밋을 만드는 명령이다. 과거 기록을 지우지 않고 취소 사실을 이력에 남길 수 있다. 지정한 커밋이 도입한 패치를 역방향으로 적용해 새 상태를 기록한다. 이후 변경과 겹치면 충돌을 해결해야 할 수 있다. 공유 브랜치에 들어간 오류 수정이 문제를 일으켰다면 원래 커밋을 남긴 채 취소 커밋을 추가하여 되돌린 이유를 기록할 수 있다. 병합 커밋을 취소할 때는 기준 부모의 의미를

0

Git 태그는 특정 객체, 흔히 릴리스 커밋에 이름을 붙이는 참조이다. 가벼운 태그와 주석 달린 태그를 구별한다. 주석 태그는 메시지와 작성 정보 등을 담는 별도 객체를 만들며 서명도 사용할 수 있다. 브랜치처럼 새 커밋마다 자동으로 따라 움직이는 용도는 아니다. 검증된 릴리스 커밋에 v1.0.0 같은 이름을 붙이면 해당 배포의 소스 상태를 찾기 쉽다. 버전 이름과 커밋의 대응을 기록한다. 태그 이름이 있다고 빌드 산출물이 자

0

Git stash는 아직 커밋하지 않은 작업 디렉터리와 인덱스의 변경을 임시로 보관하는 기능이다. stash push로 상태를 보관하고 apply나 pop으로 다시 적용한다. pop은 적용에 성공하면 해당 임시 항목을 제거하는 동작까지 포함한다. 기능을 수정하던 중 다른 브랜치의 오류를 확인해야 할 때 현재 변경을 보관한 뒤 나중에 작업으로 돌아올 수 있다. 추적하지 않는 파일은 기본 동작에 모두 포함되지 않으며 별도 옵션을

0

Git 리베이스는 일련의 커밋 변경을 다른 시작점 위에 다시 적용해 이력을 재구성하는 작업이다. 새 기준 커밋 위에서 변경을 순서대로 재현한다. 대화형 방식은 커밋의 순서를 정리하거나 여러 커밋을 합치는 데에도 사용할 수 있다. main이 진전된 동안 개발한 기능 브랜치를 최신 main 위로 옮겨 일직선에 가까운 이력으로 정리할 수 있다. 재작성된 커밋은 보통 식별자가 달라진다. 다른 사람이 기반으로 쓰는 공유 이력에 적용하면

0

Git 병합은 다른 커밋 계보의 변경을 현재 브랜치에 통합하는 작업이다. 대표 명령은 git merge이다. 분기 상태에 따라 참조만 이동하는 fast-forward가 가능하거나 공통 조상을 기준으로 변경을 결합해 병합 커밋을 만들 수 있다. 서로 다른 파일을 고친 두 기능 브랜치는 자동으로 합쳐질 수 있다. 같은 부분을 양쪽에서 다르게 수정했다면 충돌을 해결하고 결과를 기록한다. 텍스트 충돌이 없다고 기능적으로 올바른 조합인

0

Git 브랜치는 커밋 계보의 끝을 가리키는 이름 있는 참조이다. 기능이나 수정 작업의 진행 방향을 분리하는 데 사용한다. 브랜치를 새로 만들면 기준 커밋을 가리키는 참조가 생긴다. 그 브랜치에서 커밋하면 참조가 새 커밋으로 전진한다. 브랜치 생성과 작업 대상 전환은 구별된다. 안정된 main에서 feature 브랜치를 만들어 작업한 뒤 결과를 검토하고 main으로 병합할 수 있다. 분기 지점 이후의 두 이력을 비교할 수 있다.

0

Git 커밋은 저장소의 한 시점 상태와 부모 관계, 작성 정보, 메시지를 기록하는 객체이다. 브랜치는 보통 최신 커밋을 가리키는 참조로 이동한다. 일반적인 git commit은 인덱스 내용을 바탕으로 새 커밋을 만든다. 부모 연결을 따라 변경의 계보를 추적할 수 있으며 병합 커밋은 부모가 여러 개일 수 있다. 하나의 오류 수정과 관련 테스트를 함께 커밋하면 그 변경을 검토하거나 되돌릴 단위가 분명해진다. 메시지에는 바꾼 이유를

0

Git 스테이징 영역은 다음 커밋에 담을 파일 상태를 준비하는 인덱스이다. 현재 작업 디렉터리 전체가 항상 커밋 대상이 되는 것은 아니다. git add는 호출 시점의 변경을 인덱스에 반영한다. 이후 파일을 다시 편집하면 인덱스와 작업 디렉터리의 내용이 서로 달라질 수 있다. 한 파일에서 버그 수정과 출력 문구를 함께 바꿨다면 git add -p로 필요한 부분만 선택해 작은 커밋을 만들 수 있다. 스테이징 후 추가 편집한 내용

0

Git은 소스 코드와 파일 변경 이력을 관리하는 분산 버전 관리 시스템이다. 각 저장소는 커밋과 참조를 통해 프로젝트의 상태와 계보를 표현한다. 작업 디렉터리에서 편집하고 인덱스에 다음 커밋의 내용을 준비한 뒤 커밋으로 기록한다. 원격 저장소와의 교환은 로컬 기록과 별도의 작업이다. 기능 작업을 브랜치에서 진행하고 테스트를 마친 변경을 합칠 수 있다. 네트워크가 없어도 로컬 커밋과 이력 조회를 수행할 수 있다. 커밋은 자동 원

0