programing

git에서 일시적으로 파일 추적 해제

javajsp 2023. 5. 20. 00:12

git에서 일시적으로 파일 추적 해제

내 컴퓨터에 로컬 깃을 설치했습니다.git을 초기화할 때 사전 컴파일된 libs와 바이너리를 추가했습니다.그러나 이제 개발 중에는 이러한 파일을 간헐적으로 체크인하고 싶지 않습니다.이 파일들을 repo에서 제거하고 싶지 않습니다.제가 개발을 완료할 때까지 이 파일들을 추적하지 않을 방법이 없을까요? (gitignore는 git가 아닌 파일에만 작동하기 때문에 사용할 수 없을 것 같습니다.)파일 추적을 일시적으로 비활성화합니다.)

git update-index는 당신이 원하는 것을 해야 합니다.

이 메시지는 파일의 변경 사항을 무시하기 시작할 것임을 알려줍니다.
git update-index --assume-unchanged path/to/file

추적을 다시 시작하고 싶을 때
git update-index --no-assume-unchanged path/to/file

Github Documentation: update-index

당신은 당신의 파일을 추적하지 않을 수 있습니다.

git rm -r --cached <file>

파일 추가

git add -u

그들은 당신이 원하는 대로 밀거나 합니다.

git rm --cached

그러나 컴파일된 바이너리와 외부 종속성을 처음부터 커밋해서는 안 됩니다.대신 번들러와 같은 도구를 사용하여 이러한 도구를 끌어옵니다.

다음 명령을 사용하여 파일 추적 해제

git rm --cached <file path>

원래 질문에 대한 답이 아닙니다.하지만 이것은 누군가에게 도움이 될 수 있습니다.

수행한 변경 사항을 확인하려면(어떤 파일이 --assume-unchanged로 표시되었는지 확인)

git ls-files -v

결과 파일 목록에는 한 문자(예: H 또는 h)의 접두사가 있습니다(예: H 또는 h). 소문자(예: h)인 경우 파일은 --assume-unchanged로 표시되었습니다.

Git-book은 섹션 2.4: "실행 취소"에서 이를 언급합니다.기본적으로 일부 파일의 인덱스 상태를 HEAD 상태, 즉 최신 체크아웃(또는 커밋) 상태로 다시 재설정해야 합니다.현재 인덱스로 파일 스테이징을 실행 취소합니다.이 작업에 대한 명령은 다음과 같습니다.git reset.[1]

따라서 실행해야 하는 명령은 다음과 같습니다.

git reset HEAD /path/to/file

최신 버전의 git(1.6 정도 이후의 git)은 실행 시 이 명령(및 더 많은 명령)을 팁으로 제공합니다.git status이러한 버전은 매우 사용하기 쉽습니다.개인적인 팁: 몇 개의 파일만 준비하는 경우 다음을 사용합니다.git add -i이렇게 하면 대화형 스테이징 도구가 실행되어 작업이 특히 쉬워집니다.또한, 이 책은 실제 상황에서 깃을 사용하는 것에 대해 매우 명확하기 때문에 읽기를 강력히 추천합니다.

[1] http://www.git-scm.com/book

각각의 파일을 따로 선택하는 것이 아니라 빌드 폴더나 bin 폴더에 있는 모든 파일을 제거하는 방법을 묻는 것 같습니다.

다음 명령을 사용할 수 있습니다.

git rm -r -f /build\*

빌드 디렉토리의 상위 디렉토리에 있는지 확인합니다.
이 명령은 bin/ 또는 build/폴더에 있는 모든 파일을 재귀적으로 "삭제"합니다.delete라는 단어는 Git가 해당 파일이 "삭제"된 것처럼 가장하고 해당 파일은 추적되지 않는다는 것을 의미합니다.Git는 해당 파일을 삭제 모드로 표시합니다.

다음 커밋을 위해 .gitignore가 준비되어 있는지 확인합니다.
파일: gitrm

assume-unchanged이라skip-worktree후자는 "Git는 이 파일을 추적해서는 안 됩니다."와 같은 다른 의미를 가지고 있습니다.개발자들은 로컬 변경을 할 수 있고 권장됩니다."

(으로 큰)파일에 변경 에서, ,assume-unchanged좋은 선택입니다.

가 로컬에서할 수 변경 는 안 되는 에서, "Repo"라는 이름의 파일을 할 수 있습니다.skip-worktree그게 더 나은 선택입니다.

또 다른 우아한 옵션은 레포에 기본 파일을 두는 것입니다.파일 이름이 다음과 같다고 가정합니다.BuildConfig.Default.cfg는 이 에서 개자는이로이다컬변합음경니다야해로 변경할 됩니다.BuildConfig.cfg그리고 그들은 그들이 필요로 하는 지역적 변화를 만들 수 있습니다. 이제추를 추가합니다.BuildConfig.cfg.gitignore그래서 파일은 추적되지 않습니다.

수락된 답변에 좋은 배경 정보가 있는 질문을 참조하십시오.

모든 추적 해제 파일을 제거합니다.이 terminal 명령어 사용

 git clean -fdx

달려.

git rm -r --cached file_to_git_ignore

그럼 당신의 것으로 이동합니다.gitignore을 을 추가합니다.path_to_file_to_git_ignore

행운을 빌어요

언급URL : https://stackoverflow.com/questions/6964297/untrack-files-from-git-temporarily