code

Git이이 커밋에서 파일 변경 사항을 추적하지 못하도록하려면 어떻게해야합니까?

codestyles 2020. 11. 23. 08:11
반응형

Git이이 커밋에서 파일 변경 사항을 추적하지 못하도록하려면 어떻게해야합니까?


중요하지 않은 기본값이있는 데이터베이스 구성 파일이 있습니다. 그러나이 파일의 모든 변경 사항에는 저장소에서 추적해서는 안되는 민감한 정보가 포함됩니다.

향후 Git 리포지토리에서 기본 버전을 포함하고 사용자가 변경 한 사항은 무시하고 싶습니다.

다음은 로컬 구성을 유지하지만 삭제를 저장소로 푸시하여 향후 가져 오기에 문제가 발생합니다.

cat "app/dir/config.file" >> .gitignore
git rm --cached app/dir/config.file

다음은 작업을 수행하지만 저장소에 대한 푸시를지나 지속되지 않습니다.

git update-index --assume-unchanged app/dir/config.file

이것은 민감한 정보에 대한 버전 관리에 대한 일반적인 요구 사항처럼 보이지만 해결책을 찾을 수없는 것 같습니다.


평소처럼 github에는 이것에 대한 훌륭한 문서가 있습니다.

https://help.github.com/articles/ignoring-files#ignoring-versioned-files

다음은 관련 스 니펫입니다.

버전이 지정된 파일 무시

저장소의 일부 파일은 자주 변경되지만 거의 커밋되지 않습니다. 일반적으로 이러한 파일은 편집되지만 업스트림으로 커밋되지 않아야하는 다양한 로컬 구성 파일입니다. Git을 사용하면 해당 파일이 변경되지 않았다고 가정하여 무시할 수 있습니다.

  1. 터미널에서 Git 저장소 위치로 이동합니다.
  2. 터미널에서 다음 명령을 실행하십시오.

git update-index --assume-unchanged path/to/file.txt

이렇게 파일을 표시하면 Git은 변경 사항을 완전히 무시합니다. 그것은 실행할 때 표시하지 않습니다 git status또는 git diff,도 아니다 이제까지 최선을 다하고됩니다.

Git이 파일을 다시 추적하도록하려면 다음을 실행하십시오.

git update-index --no-assume-unchanged path/to/file.txt.


이것이 "최상의"방법인지 확실하지 않지만 내가 찾은 것은 몇 단계를 거쳐야합니다.

새로운 Laravel 예제 :

  1. git init
  2. .gitignore공급 업체 폴더를 잃지 않는 것과 같은 원하는 결과를 위해 파일을 조정 합니다.
  3. 추적하지 않으려는 파일의 복사본을 만듭니다 (예 : .htaccess, .env 등).
  4. git add .
  5. git commit -m "first commit"
  6. git rm --cached public /.htaccess 그때 git rm --cached .env
  7. git commit
  8. git status 해당 파일이 삭제 된 것으로 표시되어야합니다.
  9. 이제 복사 한 파일을 다시 넣으십시오. 추적에서 제거하라고 git에게 말한 것과 동일한 이름이므로 이제 git은 해당 파일을 완전히 무시합니다.

이제 편집 할 수 있으며 로컬 및 프로덕션 버전을 가질 수 있습니다. 참고 : 프로덕션 설정에서도이 모든 단계를 처음으로 반복해야 할 수 있습니다. 지금까지 이것은 나를 위해 잘 작동했습니다.

참고 URL : https://stackoverflow.com/questions/18276951/how-do-i-stop-git-from-tracking-any-changes-to-a-file-from-this-commit-forward

반응형