업데이트 색인 실행 취소 --assume-unchanged
다음 명령을 실행하여 특정 디렉터리/파일의 감시/추적을 무시했습니다.
git update-index --assume-unchanged <file>
어떻게 되돌릴 수 있죠?<file>
다시 감시/녹화됩니까?
변경되지 않음으로 설정된 실행 취소/표시 dir/파일을 가져오려면 다음을 실행합니다.
git update-index --no-assume-unchanged <file>
유닉스 셸에서 실행되는 dir/파일 목록을 가져오려면:
git ls-files -v | grep '^h'
또는 PowerShell에서:
git ls-files -v | Select-String -CaseSensitive '^h'
자주 사용하는 명령어인 경우에는 별칭을 사용하는 것도 고려해 볼 수 있습니다.글로벌에 추가.gitconfig
:
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
별칭을 설정하는 방법(아직 모르는 경우):
git config --configLocation alias.aliasName 'command --options'
예:
git config --global alias.hide 'update-index --assume-unchanged'
git config... etc
이 파일을 저장한 후.gitconfig
클리너 명령을 실행할 수 있습니다.
git hide myfile.ext
또는
git unhide myfile.ext
이 Git 문서는 매우 유용했습니다.
설명에 따르면 이 별칭은 현재 어떤 파일이 숨겨져 있는지 확인하는 데도 유용합니다.
[alias]
hidden = ! git ls-files -v | grep '^h' | cut -c3-
@adardesign, @adswebwork 및 @AnkitVishwakarma의 우수한 원본 답변과 @Bdoserror, @Retsam, @seanf 및 @torek의 코멘트를 추가 문서 링크 및 간결한 별칭으로 통합하려면...
기본 명령
변경되지 않은 것으로 가정한 파일을 정상으로 재설정하려면:
git update-index --no-assume-unchanged <file>
변경되지 않은 것으로 가정하는 모든 파일을 나열하는 방법
git ls-files -v | grep '^[a-z]' | cut -c3-
변경되지 않은 모든 가정 파일을 정상으로 재설정하려면:
git ls-files -v | grep '^[a-z]' | cut -c3- | xargs git update-index --no-assume-unchanged --
참고: 다른 곳에 나열된 이 명령어는 변경되지 않은 모든 파일을 더 이상 재설정하지 않는 것으로 나타납니다(이전에는 이 명령어를 솔루션으로 나열했습니다).
git update-index --really-refresh
바로 가기
일반적인 작업을 쉽게 실행하려면 다음 별칭 섹션을 에 추가/업데이트하십시오..gitconfig
사용자를 위해(예:~/.gitconfig
*nix 또는 macOS 시스템):
[alias]
hide = update-index --assume-unchanged
unhide = update-index --no-assume-unchanged
unhide-all = ! git ls-files -v | grep '^[a-z]' | cut -c3- | xargs git unhide --
hidden = ! git ls-files -v | grep '^[a-z]' | cut -c3-
git update-index 함수에는 아래와 같이 입력할 수 있는 몇 가지 옵션이 있습니다.
git update-index --help
여기에서는 다양한 옵션, 즉 기능 업데이트 인덱스로 처리하는 방법을 찾을 수 있습니다.
[파일 이름을 모르는 경우]
git update-index --really-refresh
[파일 이름을 알고 있는 경우]
git update-index --no-assume-unchanged <file>
무시 목록에 추가된 모든 파일을 반환합니다.
git update-index --assume-unchanged <file>
내 생각에 (헤헤) 당신이 말한 것은--assume-unchanged
아무것도 보이지 않기 때문에--assume-changed
선택.의 역방향--assume-unchanged
이라--no-assume-unchanged
.
적용된 모든 파일을 캐시(낮은 경우 문자로 표시)뿐만 아니라 모든 상태에서 변경되지 않은 것으로 가정하려면 다음 명령을 사용할 수 있습니다.
git ls-files -v | grep '^[a-z]' | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-assume-unchanged
git ls-files -v
모든 파일을 상태와 함께 인쇄합니다.grep '^[a-z]'
되지 않은 만 선택합니다.cut -c 3-
.tr '\012' '\000'
문자를 0 000)로 바꿉니다. 0 문자(\012)는 0 문자(\)입니다.xargs -0 git update-index --no-assume-unchanged
0 문자로 구분된 모든 경로를 에 전달합니다.git update-index --no-assume-unchanged
되돌리기 위해
에 추가@adardesign
의 에 파일을 assume-unchanged
에 등록합니다.no-assume-unchanged
은 한할 수 .
git ls-files -v | grep '^h' | sed 's/^..//' | sed 's/\ /\\ /g' | xargs -I FILE git update-index --no-assume-unchanged FILE || true
이렇게 하면 grep에서 출력되는 두 문자만 제거됩니다. "h "
으로 파일 이름에 공백이 있을 수 .|| true
루프의 일부 파일에 오류가 있을 경우 명령이 조기에 종료되는 것을 방지합니다.
Git Extensions를 사용하는 경우 다음 단계를 수행합니다.
- 커밋 창으로 이동합니다.
- Working directory changes라는 이름의 드롭다운을 클릭합니다.
- 가정된 변경되지 않은 파일 표시 옵션을 선택합니다.
- 요약을 해제할 파일을 마우스 오른쪽 단추로 클릭합니다.
- 변경되지 않은 것으로 가정 안 함을 선택합니다.
끝났습니다.
여기에 포함되지 않은 것은 없습니다.하지만 제 2센트를 추가하고 싶습니다.빌드를 실행하면 많은 파일이 변경되고 작업이 필요하기 때문에 이 명령을 실행하면 많은 도움이 됩니다.
git update-index --assume-unchanged `git status | grep modified | sed 's|modified:||g'| xargs`
다른 사람도 유용하게 사용할 수 있기를 바랍니다.
. 에서는 대문자를 하는 것 . 자본을 사용하는 것 같습니다.H
h
및 추가 합니다. " " " " grep " 용 " 파 " 일 " 합 " 이 " 필 다 " 니 " 요 " 면 " 캐 " 려 " 추 " 럿 " 가 " 하 " 태 " 상 " 명 " 사 " 및 " 령 " 을 "^
또한 줄의 시작 부분과 다음 문자의 시작 부분을 나타냅니다.
윈도 솔루션
- Git Bash를 열고 관련 최상위 디렉터리로 변경합니다.
git ls-files -v | grep '^^H'
않은 모든 합니다.git ls-files -v | grep '^^H' | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-skip-worktree
다음을 통해 수행된 모든 파일을 건너뛰는 파일을 실행 취소합니다.update-index --skip-worktree
git ls-files -v | grep '^^H]' | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-assume-unchanged
다음을 통해 수행된 모든 파일을 건너뛰는 파일을 실행 취소합니다.update-index --assume-unchanged
git ls-files -v | grep '^^H'
않은 합니다. 것도 . 이제 아무것도 반환하지 않습니다.
그래서 이런 일이 일어났습니다!실수로 "변경되지 않은 가정"을 클릭했습니다!저는 인터넷에서 검색을 해봤지만, 작동하는 해결책을 찾을 수 없었습니다!그래서, 저는 여기저기서 몇 가지를 시도했고 마침내 변하지 않는 가정을 되돌릴 수 있는 해결책(가장 쉬운 해결책)을 찾았습니다!
"당신의 프로젝트"를 마우스 오른쪽 단추로 클릭합니다.Team > Advanced > No assume Unchanged
.
언급URL : https://stackoverflow.com/questions/17195861/undo-git-update-index-assume-unchanged-file
'programing' 카테고리의 다른 글
전체 ASP에 대해 브라우저 캐시를 비활성화합니다.NET 웹사이트 (0) | 2023.05.04 |
---|---|
명령줄을 통해 OS X에서 간단한 Hello World 프로그램 컴파일 (0) | 2023.05.04 |
페이지젬을 설치하려고 할 때 'libpq-fe.h' 헤더를 찾을 수 없습니다. (0) | 2023.05.04 |
Postgre로 Excel 데이터 가져오기SQL 9.3 (0) | 2023.05.04 |
Xcode에서 여러 줄을 들여쓰려면 어떻게 해야 합니까? (0) | 2023.05.04 |