Advanced Search
Search Results
97 total results found
Git 명령어 정리
1. Git Commit1.1 개념Git은 디렉토리 전체의 스냅샷을 기록하지만, 실제로는 변경된 부분(delta)만 저장하여 가볍게 유지함.대부분의 커밋은 그 위의 부모 커밋을 가리킴.1.2 명령어git commit2. Git Branch2.1 개념Git의 브랜치는 커밋에 대한 참조(reference)로 매우 가볍다.“하나의 커밋과 그 조상 커밋들을 포함하는 작업 내역”이라고 볼 수 있음.브랜치를 많이 만들어도 성능이나 저장공간에 영향이 없음.2.2 명령어git...
git tag
1. Git 태그란?**Git 태그(Tag)**는 프로젝트의 커밋 히스토리에서 중요한 지점을 영구적으로 표시하는 기능이다.브랜치와 다르게, 태그는 절대 이동하지 않으며 단순히 커밋을 가리키는 고정 포인터 역할을 한다.주로 버전 릴리즈, 큰 기능 병합 후, 배포 이력 저장 등에 사용된다.2. 브랜치와 태그의 차이항목브랜치태그역할작업을 이어가는 지점이정표(마일스톤) 고정 지점상태계속 이동함 (새 커밋이 생기면 이동)고정됨 (절대 이동하지 않음)커밋 가능 여부가능불가...
git describe
1. Git Describe란?git describe는 현재 커밋(또는 ref)이 가장 가까운 태그로부터 몇 번째 커밋인지, 어떤 커밋인지 요약해주는 명령어이다.주로 버전 관리, 릴리즈 스크립트 자동화, 디버깅 시 위치 파악 등에 활용됨.2. 기본 출력 형식<tag>_<N>_g<short-hash>항목설명<tag>가장 가까운 태그 이름<N>태그 이후 몇 번째 커밋인지 (0이면 태그 본인)g<해시>해당 커밋의 Git short hash3. 자주 쓰는 옵션3.1 -...
🚗 157339. 자동차 대여 기록에서 장기/단기 대여 구분하기 (SQL)
1. 문제 요약car_rental_company_car, car_rental_company_rental_history, car_rental_company_discount_plan 테이블 제공'세단', 'SUV' 차종 중 2022년 11월 한 달 간 대여 가능한 차량을 찾고, 30일 요금 기준 정렬2. 실패한 시도들❌ 첫 번째 시도SELECT j.car_id, j.car_type, j.daily_fee * ((100 - j.discount_rate)*0.01) *...
git reflog (git reset 후 커밋 복구)
1. 상황 예시git reset --hard HEAD~1이 명령어로 가장 최근 커밋이 삭제되었고, 스테이징/작업 디렉토리도 초기화됨.2. git reflog란?Git에서 브랜치가 가리키던 과거 위치들을 기록해 놓은 로그입니다.git reflog실행하면 다음과 같은 출력이 나온다.c3d9f7b HEAD@{0}: reset: moving to HEAD~1 e7a1b2a HEAD@{1}: commit: 구현 완료 ...→ 이때 HEAD@{1}이 우리가 잃어버린 커...
Git 내부 구조 (Basic)
1. Git은 파일 버전이 아닌 스냅샷 시스템Git은 "변경점(diff)"이 아니라, 전체 프로젝트의 스냅샷(상태)을 저장한다.커밋 하나 = 전체 폴더의 압축 스냅샷 (단, 중복은 자동 제거됨)2. Git의 3대 영역작업 디렉토리 → 스테이징 영역 → 로컬 저장소 (Working Directory) (Staging/Index) (Repository/.git) 코드 작성 gi...
Git 내부 구조 (Advanced)
1. 🔐 Git 객체의 SHA-1 해시 구조1.1 개요Git은 모든 객체(blob, tree, commit 등)를 SHA-1 해시 값을 통해 식별한다.하나의 커밋은 고유한 40자리 16진수 해시로 구분됨1.2 예시e83c5163... ← 커밋, 블롭, 트리 모두 이 해시값으로 관리됨1.3 내부 생성 방식Git은 객체의 타입 + 크기 + 내용을 문자열로 만듦예: blob 12\0Hello World\n이를 SHA-1으로 해싱하여 파일 이름으로 저장echo "Hel...
도식화
1. 전체 구조 개요.git/ ├── HEAD ← 현재 가리키는 브랜치 (예: ref: refs/heads/main) ├── config ← 로컬 Git 설정 ├── description ← 주로 bare repo에서 사용 ├── index ← 스테이징 영역 정보 (트래킹 중인 파일 목록) ├── objects/ ← Git 객체...
commit 생성시 .git 내부 변화
시나리오hello.txt 파일 생성git add hello.txtgit commit -m "Add hello"1. 작업 디렉토리 (Working Directory)echo "Hello Git" > hello.txt파일 생성됨아직 Git은 이 파일을 추적하지 않음2. git add hello.txtgit add hello.txt내부 변화:구성요소변화 내용.git/index스테이징 영역에 파일 등록됨 (경로, 해시, 권한 등 저장).git/objects/hello....
Git 명령어에 따른 .git 내부 구조 변화(1부)
1. git merge 시 내부 변화1.1 예시 명령어git checkout main git merge feature1.2 .git 내부 변화구성 요소변화 내용.git/objects/병합 결과로 새로운 merge commit 객체 생성.git/refs/heads/main브랜치 포인터가 merge 커밋으로 이동.git/HEAD여전히 ref: refs/heads/main 유지.git/MERGE_HEAD병합 대상 커밋(feature) 해시 저장 (병합 중일 때 생성...
Git 명령어에 따른 .git 내부 구조 변화 (2부)
4. git stash 시 내부 변화4.1 예시 명령어git stash4.2 .git 내부 변화구성 요소변화 내용.git/objects/현재 작업 상태(스냅샷)가 stash용 커밋으로 저장됨 (2~3개의 커밋 객체).git/logs/refs/stash새로운 stash가 추가된 로그 생성.git/refs/stash가장 최신 stash를 가리키는 포인터 (없으면 새로 생성됨).git/ ├── objects/ ← stash 내용 포함 커밋 객체 추가 ...
마인드맵
Git 내부 구조 ├── 1. Working Directory │ └── 실제 작업 공간 (코드 작성, 수정) │ ├── 2. Index (Staging Area) ← .git/index │ └── git add로 관리됨 │ ├── 3. Local Repository (.git/) │ ├── 3.1 objects/ │ │ ├── blob: 파일 내용 │ │ ├── tree: 디렉토리 구조 │ │ └── comm...
네트워크 주소, 브로드캐스트 주소 계산
1. 조건IP 주소: 192.168.35.10서브넷 마스크: 255.255.252.0 (/22)2. 네트워크 주소 계산2.1 서브넷 마스크 이진 표현255.255.252.0 = 11111111.11111111.11111100.00000000 → /22 (앞에서 22비트가 고정)2.2 네트워크 주소 계산IP 주소와 서브넷 마스크를 AND 연산:IP : 192.168.35.10 → 11000000.10101000.00100011.00001010 ...
11. [Java] 삼각형의 완성조건(2): case2는 왜 longer - shorter인가?
1. 문제 요약https://school.programmers.co.kr/learn/courses/30/lessons/120868프로그래머스 삼각형의 완성조건(2)두 변이 주어졌을 때, 나머지 한 변 x가 삼각형이 될 수 있는 정수 개수를 구하는 문제삼각형이 되기 위한 조건: 가장 긴 변 < 나머지 두 변의 합2. 정수 범위 공식x ∈ (longer - shorter, longer + shorter)즉, 가능한 정수 x의 범위는 longer - shorter +...