반응형
git update-index --skip-worktree 실행 취소
얼마 전에 나는 git이 추적 한 파일의 변경 사항을 무시하기 위해이 작업을 수행했습니다.
git update-index --skip-worktree <file>
이제 실제로 해당 파일의 변경 사항을 소스로 커밋하려고합니다. 효과를 취소하려면 어떻게합니까 skip-worktree
?
고마워, 케빈
아하! 나는 단순히 원한다 :
git update-index --no-skip-worktree <file>
에 따르면 http://www.kernel.org/pub/software/scm/git/docs/git-update-index.html 사용
git ls-files -v
특수 문자로 표시된 "변경되지 않은 것으로 가정"및 "건너 뛰기 작업 트리"파일을 보려면 "skip-worktree"파일은로 표시되어 S
있습니다.
편집 : @amacleod가 언급했듯이 모든 숨겨진 파일을 나열하기 위해 별칭을 만드는 것이 좋은 트릭이므로 기억할 필요가 없습니다. alias hidden="git ls-files -v | grep '^S'"
.bash_profile에서 사용 합니다. 잘 작동합니다!
적용된 모든 파일을 실행 취소하려면 작업 트리 건너 뛰기를 수행하십시오. 다음 명령을 사용할 수 있습니다.
git ls-files -v | grep -i ^S | cut -c 3- | tr '\012' '\000' | xargs -0 git update-index --no-skip-worktree
git ls-files -v
모든 파일을 상태로 인쇄합니다grep -i ^S
파일을 필터링하고 작업 트리 건너 뛰기 (S) 또는 작업 트리 건너 뛰기 만 선택하고 변경되지 않은 것으로 가정합니다. -i는 대소 문자 구분을 무시합니다.cut -c 3-
상태를 제거하고 경로 만 남겨두고 3 번째 문자에서 끝까지 자릅니다.tr '\012' '\000'
줄 끝 문자 (\ 012)를 0 문자 (\ 000)로 바꿉니다.xargs -0 git update-index --no-skip-worktree
git update-index --no-skip-worktree
실행 취소 하기 위해 0으로 구분 된 모든 경로를 전달합니다.
@ GuidC0DE 답변을 바탕으로 Powershell 버전이 있습니다 ( posh-git 사용 )
git update-index --no-skip-worktree $(git ls-files -v | sls -pattern "^S"| %{$_.Line.Substring(2)})
그리고 파일을 숨기는 반대 명령도 참조하십시오.
git update-index --skip-worktree $(git ls-files --modified)
거북이 힘내를 사용하는 사람들을 위해 :
- 폴더 나 특정 파일을 마우스 오른쪽 버튼으로 클릭 한 다음
TortoiseGit > Check for modifications
- 만 확인하십시오
Show ignore local changes flagged files
. 무시한 파일 (또는 폴더를 마우스 오른쪽 버튼으로 클릭 한 경우 무시한 모든 파일)이 표시됩니다. - 파일을 마우스 오른쪽 버튼으로 클릭하고
Unflag as skip-worktree and assume-unchanged
참고 URL : https://stackoverflow.com/questions/11131197/undo-git-update-index-skip-worktree
반응형
'programing tip' 카테고리의 다른 글
iOS / macOS에서 프로그래밍 방식으로 내 IP 주소를 얻는 방법은 무엇입니까? (0) | 2020.07.11 |
---|---|
'ref'와 'out'이 다형성을 지원하지 않는 이유는 무엇입니까? (0) | 2020.07.10 |
iPhone에서 NSString에 대한 AES 암호화 (0) | 2020.07.10 |
C #에서 'T : class'는 무엇을 의미합니까? (0) | 2020.07.10 |
선택적 매개 변수를 함수에 전달하는 방법이 있습니까? (0) | 2020.07.10 |