2010-12-04 2 views
1

저는 버전 제어를 위해 GIT를 사용할 계획이었습니다. 그러나, 나는 내 마음에 어리석은 질문이있다.URL을 통해 git 저장소의 분기에 어떻게 액세스 할 수 있습니까?

내가 PHP를 구성한 서버가 있고 서버 이름/웹 사이트에서 액세스 할 수있는 웹 사이트를 개발하는 데 사용하고 있다고 가정 해보십시오. 해당 디렉토리에서 git을 초기화하면 자동으로 마스터 리포지토리가 만들어집니다. 어떤 Branch를 만들면 (Branch1, Branch2)

일단 Branch1, Branch2 등을 변경하면 ... URL을 통해 변경 사항을 어떻게 볼 수 있습니까? sername/website로 이동하면 master 브랜치에있는 내용 만 표시됩니까?

또한 한 브랜치에서 rm filename을 수행하여 파일을 제거하는 경우 서버에서 파일을 삭제한다는 것도 알고 있습니다. 그러나 분기를 전환하면 파일이 해당 분기 내에 있지만 서버에는 존재하지 않습니다. 그게 나에게 이상한 것 같니? 존재하지 않는 파일에 어떻게 액세스 할 수 있습니까? (나는 git rm --cached가 서버에 파일을 보관하고 브랜치에서만 삭제한다는 것을 알고있다. 그러나 그럼에도 불구하고 궁금했다.)

답변

1

일단 Branch1을 변경하면, Branch2 등 ... 변경 사항을 URL을 통해 어떻게 볼 수 있습니까? sername/website로 이동하면 마스터 브랜치에있는 내용이 인 것을 나타 냅니까?

예, 서버에서 체크 아웃 한 파일을 표시합니다. 내가 한 지점에서 RM 파일 이름을 수행하여 파일을 제거하면

또한, 나는 또한 서버에서 삭제 알고있다.

파일을 서버에서 삭제하지 않고 해당 분기에서 커밋 (대부분 동일한 분기에서 커밋)은 트리에서 더 이상 해당 파일을 참조하지 않습니다. 내가 자식 RM은 --cached 것을 알고

하지 .. 그럼에도 불구하고, 서버에 파일을 유지 만 지점에서 삭제 ...하지만 궁금했다 정말로, 현재 작업하고있는 머신 (작업중인 머신)의 준비 영역에서 파일을 삭제합니다.

원래의 문제로 되돌아 가려면 웹 사이트의 다른 지점을 체크 아웃 할 수있는 CGI 스크립트를 설정할 수 있지만 같은 웹 사이트에 액세스하는 모든 사용자는 모두 똑같은 것을 볼 수 있습니다.

변경 사항을 웹 인터페이스에서 확인하려면 git-php 또는 그와 비슷한 것을 찾아야합니다.

편집 귀하의 코멘트에 대한 답이 짧은 아니기 때문에, 여기에 추가하고 ...

안돼! 모든 브랜치가 복제되고 .git 폴더에 저장되면 한 번에 하나의 브랜치 (또는 커밋) 만 체크 아웃합니다. 한 번에 한 버전의 코드 만 "볼"수 있으며 리포지토리의 모든 내용은 컴퓨터의 .git 폴더에 저장됩니다.

하나 (너무 많은 브랜치가없는 경우 쉬운 방법)는 브랜치를 가지고있는만큼 많은 클론을 갖는 것입니다. 이런 식으로 뭔가 :

www 
|-- branch1 
| |-- .git 
| | |-- config 
| | `-- other-git-object 
| `-- index.html 
|-- branch2 
| |-- .git 
| | |-- config 
| | `-- other-git-object 
| `-- index.html 
`-- master 
    |-- .git 
    | |-- config 
    | `-- other-git-object 
    `-- index.html 
+0

"원래 문제로 돌아와서, 당신은 설치 귀하의 웹 사이트에 대한 다른 분기를 체크 아웃,하지만 여전히 모든 사용자가 접근 할 일부 CGI 스크립트 같은 웹 사이트는 모두 같은 일을 볼 수 아마 수 있습니다 . " 매트, 이걸 좀 더 자세히 설명해 줄 수 있니? 나는 혼란 스럽다. 그래서 서버가 어떤 파일을 보여줄지 말할 때 체크 아웃합니다. 어떤 파일입니까? 모든 지점을 "체크 아웃"해야합니까? 이상적으로, 가능한 경우 URL을 통해 프로젝트의 모든 지점에 액세스 할 수 있기를 원합니다 ... – g1t

+0

많은 노력에 감사드립니다. 늦은 답변 죄송합니다! 그러나 이것은 이제 더 이해가됩니다! 다시 감사드립니다 ... – g1t

+0

Branche_1을 체크 아웃하면 이해할 수없는 것이 있습니다. 따라서 내 웹 사이트의 URL에 Branche_1 코드가 올바르게 표시됩니까? 하지만 뭔가 잘못 되었나요? 내 모든 사용자가 이제 병합하기 전에 테스트하고있는 Branch_1 코드를 사용하고 있습니까? 어떻게 피하는거야? 특정 URL로 병합하기 전에 branche를 테스트하는 것과 마찬가지로 – Ludo

관련 문제