본문 바로가기
빌드노트 검색

빌드노트

Git·개발 도구

Git·개발 도구 카테고리의 글입니다.

글 검색

글 목록

총 48개의 글

  1. 하위 폴더에서 git ls-files가 비면 경로 기준을 확인한다

    저장소 루트에서 복사한 경로를 하위 폴더의 git ls-files나 diff에 주면 결과가 빌 수 있다. 현재 위치 기준 경로와 :(top)의 차이를 실제 출력으로 비교하고, --와 --full-name이 경로 선택 기준을 고쳐 주지 않는 이유를 설명한다.

  2. ConvertTo-Json 결과에서 중첩 객체가 문자열로 바뀌는 이유

    ConvertTo-Json의 기본 깊이를 넘으면 중첩 객체가 문자열로 바뀌어도 JSON 파싱은 성공할 수 있다. PowerShell 7.6.6에서 경고·재파싱 타입·말단 값을 비교하고 필요한 깊이를 정한다.

  3. git commit --amend로 메시지만 고쳤는데 다른 파일도 들어간 이유

    메시지를 바꾸는 기본 amend도 staged 변경을 함께 담는다. 새 저장소에서 기본 amend·--only·--no-edit의 tree와 index를 비교하고, 메시지만 고친 뒤 파일 내용과 남은 스테이징을 확인하는 방법을 설명한다.

  4. 문자열이 있는 줄을 바꿨는데 git log -S에는 안 나온다

    문자열이 있는 줄을 수정해도 파일 전후의 출현 횟수가 같으면 git log -S에는 나오지 않는다. 같은 횟수의 값 변경·문맥 줄·커밋 메시지를 실제 패치와 비교해 -S, -G, --grep을 선택한다.

  5. ErrorActionPreference를 Stop으로 했는데 빌드 실패 뒤에도 계속 실행된다

    PowerShell의 Stop 설정만으로 네이티브 실패가 중단되지 않는 이유를 5.1과 7.6.6에서 비교했다. 종료 코드 0·7, stderr만 있는 정상 종료와 try/catch를 관찰하고, 7.4 이상 설정과 호출 직후 LASTEXITCODE 검사 위치를 구분한다.

  6. stash를 적용했더니 내용은 돌아왔지만 스테이징은 풀렸다

    stash 적용 뒤 파일 내용과 커밋 준비 상태를 따로 확인한다. 남은 stash에서 저장 당시 staged 변경을 읽고, 이미 적용했을 때의 재선택과 다음 복원에서 --index를 쓸 조건, 실패 뒤 남은 상태를 구별한다.

  7. .gitignore에 예외를 넣어도 새 파일이 안 보이는 이유

    .gitignore의 파일 예외는 제외된 부모 폴더를 통과하지 못한다. check-ignore -v로 적용된 줄을 찾고, 폴더 자체 대신 내용물을 제외해 필요한 파일만 새 파일 목록에 남기는 방법을 실제 출력으로 비교한다.

  8. .gitignore에 넣은 설정 파일이 계속 diff에 나오는 이유

    이미 추적 중인 설정 파일에는 .gitignore만 추가해도 diff가 남는다. 독립 Git 저장소에서 ignore 전후 상태와 rm --cached의 로컬 파일 보존, 일반 rm의 삭제를 비교하고 공유 기본값을 예제 파일로 남길지 판단한다.

  9. Git 브랜치에는 파일이 있는데 작업 폴더에는 없다

    현재 커밋과 인덱스에는 있지만 작업 폴더에는 없는 파일을 cone sparse checkout에서 재현했다. 같은 경로의 ls-tree·ls-files·실제 존재 여부와 선택 목록을 비교하고, 기존 선택을 유지하는 add로 필요한 디렉터리를 복원한다.

  10. 파일 이름을 바꾼 뒤 이전 커밋이 안 보이면 git log --follow로 찾는다

    이름을 바꾼 파일의 과거 수정이 git log에 안 보이면 단일 파일 --follow로 확인한다. 순수 rename과 내용 수정이 겹친 rename의 실제 출력을 비교하고, 유사도 기준을 조절하거나 부모 커밋의 옛 경로에서 조회를 이어 가는 방법을 설명한다.

  11. git fetch는 성공했는데 내 파일이 그대로다

    fetch 뒤 파일이 그대로라면 HEAD·로컬 main·origin/main의 위치를 나눠 확인한다. 로컬 bare 저장소와 두 clone에서 fetch 전후 파일 보존, fast-forward 반영, 깨끗하지만 갈라진 이력의 --ff-only 거절과 로컬 커밋 보존을 비교했다.

  12. 잘못 git add한 파일, 수정은 남기고 스테이징만 취소하기

    잘못 스테이징한 파일을 커밋 대상에서 빼면서 현재 수정은 남기는 방법이다. --staged 전후의 파일 해시와 두 diff를 비교하고, 작업 파일까지 복원하는 옵션과 결과를 구별한다.