2014-11-10 6 views
0

감사의 말씀을 전합니다! 내가 붙어있을 때마다 나는 항상 여기에서 해결책을 찾는다. 정말 고마워요!힘내 - 리모콘의 파일 변경 사항 가져 오기

하지만 이번에는 질문을해야합니다. 현재 관리자가 sqlite 데이터베이스에 저장된 텍스트를 변경할 수있는 웹 인터페이스가있는 작은 웹 사이트를 만들고 있습니다. 로컬에서 git을 사용하여 서버에 배포하고, 서버의 맨 왼쪽 저장소에있는 포스트 수신 후크를 사용하여 다른 디렉토리의 파일을 체크 아웃합니다. 이 디렉토리는 nginx와 gunicorn이 플라스크 앱과 파일을 제공하는 데 사용됩니다.

모든 것이 잠시 동안 잘 작동하지만 질문이 있습니다. 데이터베이스가 repo가 ​​아닌 다른 디렉토리에 파일 (sqlite)에 저장되어 있기 때문에 원격 파일의 변경 사항을 로컬 개발 저장소에 가져올 수 있습니까? ? 또한 사용자는 웹 사이트에 렌더링 된 그림을 업로드 할 수 있지만 어떻게 내 로컬 저장소로 가져올 수 있습니까? 내가 가져올 수있는 디렉토리에 repo를 초기화해야합니까? 아니면 다른 해결책이 있습니까?

이 질문은 어리석은 짓일 수 있지만 데이터베이스와 웹 인터페이스로 시작됩니다. 어떤 도움을 주셔서 미리 감사드립니다! 내가 알고있는 것처럼

+0

왜 downvote? 나는 내 질문에 대해 충분히 설명하지는 못했지만 나는 SO와 구글 검색을 통해 아무것도 찾을 수 없다는 것을 보장 할 수있다. – lkostka

답변

0

, 다음과 같은 설정이 있습니다

  1. 지역의 repo L가에 밀려을 원격 R
  2. 후받을 원격 복제 R HTTP 서버에서 제공 U에에
  3. 사용자 업데이트 U 새로운 콘텐츠
  4. 리모컨 U에서 로컬 L
  5. 으로 변경하고 싶습니다.

나는 UR의 복제본이라고 가정합니다. U에서 로컬 L으로 변경 사항을 가져올 수 있습니다. 사용자가 변경 한 모든 커밋은 로컬 L에서와 동일한 상위 커밋을 사용하므로 여기에서 문제가 없습니다. 문제는 사용자가 변경 한 내용을 U에 적용하는 것입니다. 거기에서 스크립트를 할 필요가있을 것입니다. ftp를 통해 사용자가 일부 콘텐츠를 업로드하는 경우 - git commit이 해고됩니다. 저장소 U에 액세스 할 수 있어야합니다 - ssh이 설치에서는 좋은 생각 인 것 같습니다.

+0

답을 고맙다. 그래서이 경우 나는 1/init에 repo를 넣어야하고 2/몇 가지 스크립트를 추가하여 그 커밋을 수행해야합니다. 그 고리가 존재하지 않는다면 보일 것입니다. – lkostka

+0

예, 그것이 내 뜻입니다. Git에는 작업 디렉토리의 변경 사항을 자동 커밋하는 마법의 훅이 없습니다. 커밋 변경은 콘텐츠를 수정하는 동일한 당사자가 수행해야합니다. – ezaquarii

+0

감사합니다. 또한 내가 가지고있는 대안은 db 파일을 로컬에있는 gitignore에 넣고 CP를 원격 파일을 업데이트 할 때마다 되돌려 놓는 것이라고 생각했습니다. – lkostka