하위 폴더에서 git ls-files가 비면 경로 기준을 확인한다
저장소 루트에서 복사한 경로를 하위 폴더의 git ls-files나 diff에 주면 결과가 빌 수 있다. 현재 위치 기준 경로와 :(top)의 차이를 실제 출력으로 비교하고, --와 --full-name이 경로 선택 기준을 고쳐 주지 않는 이유를 설명한다.
빌드노트
Git·개발 도구 카테고리의 글입니다.
총 48개의 글
저장소 루트에서 복사한 경로를 하위 폴더의 git ls-files나 diff에 주면 결과가 빌 수 있다. 현재 위치 기준 경로와 :(top)의 차이를 실제 출력으로 비교하고, --와 --full-name이 경로 선택 기준을 고쳐 주지 않는 이유를 설명한다.
ConvertTo-Json의 기본 깊이를 넘으면 중첩 객체가 문자열로 바뀌어도 JSON 파싱은 성공할 수 있다. PowerShell 7.6.6에서 경고·재파싱 타입·말단 값을 비교하고 필요한 깊이를 정한다.
메시지를 바꾸는 기본 amend도 staged 변경을 함께 담는다. 새 저장소에서 기본 amend·--only·--no-edit의 tree와 index를 비교하고, 메시지만 고친 뒤 파일 내용과 남은 스테이징을 확인하는 방법을 설명한다.
문자열이 있는 줄을 수정해도 파일 전후의 출현 횟수가 같으면 git log -S에는 나오지 않는다. 같은 횟수의 값 변경·문맥 줄·커밋 메시지를 실제 패치와 비교해 -S, -G, --grep을 선택한다.
PowerShell의 Stop 설정만으로 네이티브 실패가 중단되지 않는 이유를 5.1과 7.6.6에서 비교했다. 종료 코드 0·7, stderr만 있는 정상 종료와 try/catch를 관찰하고, 7.4 이상 설정과 호출 직후 LASTEXITCODE 검사 위치를 구분한다.
stash 적용 뒤 파일 내용과 커밋 준비 상태를 따로 확인한다. 남은 stash에서 저장 당시 staged 변경을 읽고, 이미 적용했을 때의 재선택과 다음 복원에서 --index를 쓸 조건, 실패 뒤 남은 상태를 구별한다.
.gitignore의 파일 예외는 제외된 부모 폴더를 통과하지 못한다. check-ignore -v로 적용된 줄을 찾고, 폴더 자체 대신 내용물을 제외해 필요한 파일만 새 파일 목록에 남기는 방법을 실제 출력으로 비교한다.
이미 추적 중인 설정 파일에는 .gitignore만 추가해도 diff가 남는다. 독립 Git 저장소에서 ignore 전후 상태와 rm --cached의 로컬 파일 보존, 일반 rm의 삭제를 비교하고 공유 기본값을 예제 파일로 남길지 판단한다.
현재 커밋과 인덱스에는 있지만 작업 폴더에는 없는 파일을 cone sparse checkout에서 재현했다. 같은 경로의 ls-tree·ls-files·실제 존재 여부와 선택 목록을 비교하고, 기존 선택을 유지하는 add로 필요한 디렉터리를 복원한다.
이름을 바꾼 파일의 과거 수정이 git log에 안 보이면 단일 파일 --follow로 확인한다. 순수 rename과 내용 수정이 겹친 rename의 실제 출력을 비교하고, 유사도 기준을 조절하거나 부모 커밋의 옛 경로에서 조회를 이어 가는 방법을 설명한다.
fetch 뒤 파일이 그대로라면 HEAD·로컬 main·origin/main의 위치를 나눠 확인한다. 로컬 bare 저장소와 두 clone에서 fetch 전후 파일 보존, fast-forward 반영, 깨끗하지만 갈라진 이력의 --ff-only 거절과 로컬 커밋 보존을 비교했다.
잘못 스테이징한 파일을 커밋 대상에서 빼면서 현재 수정은 남기는 방법이다. --staged 전후의 파일 해시와 두 diff를 비교하고, 작업 파일까지 복원하는 옵션과 결과를 구별한다.