it-swarm-ko.tech

Subversion, Git 또는 유사한 버전 관리 시스템으로 내 파일 기록을 유지 하시겠습니까?

나는 이것이 표면에 관한 광범위한 질문 일 수 있다는 것을 알고 있지만, 사람들이 WordPress 사이트에서 편집 된 파일의 버전 기록을 유지하는 데 사용하는 설정/워크 플로의 구체적인 예를 찾고 있습니다. 예를 들어 사이트를 개발할 때 (심지어 라이브 후에도) CSS 및 PHP 파일을 자주 변경하지만 그 파일의 이전 버전으로 되돌릴 수있는 좋은 방법은 없습니다. 내 목적을 위해 지역 개발 설치를 변경 한 다음 라이브 사이트로 변경 사항을 복사하는 것은 종종 내가 원하는 것보다 더 많은 문제입니다. 버전 관리 도구를 사용하여 라이브 사이트의 파일 편집을 추적하는 방법에 대한 제안 사항은 무엇입니까?

31
Travis Northcutt

버전 관리 사용에 대해 얼마나 많이 알고 있는지 잘 모르겠습니다 만, 최근에 SVN에서 GIT로 전환하여 멋지다고 생각합니다!

비록 당신이 살고있는 사이트의 서버가 GIT를 설치했는지 (또는 당신을 알려줄 것인가)에 달려 있습니다. 라이브 서버에서도 GIT 설정을하고, production과 같은 지점을 실행합니다. 구현할 때마다 로컬/무언가를 고정, 나는 그것을 production 지점에 병합 후 SSH를 라이브 사이트의 서버에 넣고 변경 사항을 가져옵니다. 변경 사항을 덮어 쓰는 지 모를 때 FTP를 통해 파일을 끌어 당깁니다.

GIT로 aquatinted하는 것이 좋습니다. (아직하지 않았다면), 많은 파일을 변경/추가 할 때 SVN보다 훨씬 쉽고 덜 번거 롭습니다. (그리고 SVN과는 달리 어리석은 짓을하지 않습니다. .svn 폴더 모든 곳 ).

그래서:

물론, 나는 Mac에있어, 이런 것들이 적용되지 않는다면 미안해.

코드 편집기 : 코다 포트를 통해 GIT 설치 (Porticus 사용) 힘내 : GitX

내가 새로운 것을 다 설정했다면, 나는 할 것이다 :

  1. 코다 설치

  2. Porticus (포트를 설치해야하지만 해당 페이지에 정보가 있습니다)

  3. Porticus를 설치했으면 열어서 "git-core"를 검색하고 설치하십시오.

  4. 다운로드 및 설치 GitX 7-5

  5. Git repo 여기 를 설정하는 좋은 가이드가 있지만 기본적으로 다음과 같습니다. 1. 터미널을 엽니 다. 2. cd 귀하의 사이트가 상주하는 곳으로. $: mkdir mysite && cd mysite 3. $: git init 그리고 그게 다야! 이 폴더에 파일을 추가하면 다음 단계로 진행합니다.

  6. 일단 GIT 저장소를 로컬에서 설정하면 (위 기사) GitX에서 해당 디렉토리를 열면 물건 등을 커밋 할 수있다.

서버에이 모든 것을 설정하는 것은 약간 까다로울 수 있습니다. MediaTemple과 Dreamhost 계정을 모두 가지고 있으며 GIT를 즉시 사용할 수 있습니다. 5.에있는 링크는 원격 저장소를 추가하는 방법을 알려주며 라이브 사이트를 방정식으로 가져 오기 전까지는 해당 작업을 수행하지 않아도됩니다. 모든 것이 로컬에서 먼저 실행되도록 권장합니다 (SVN과 달리 GIT는 원격 리포지토리가 필요하지 않으므로 당분간 컴퓨터에서 모든 것을 수행 할 수 있습니다)

14
Joe Hoyle

SVN을 사용하여 버전 관리에 모든 내가 워드 프레스 개발에서 할 수 있습니다. 플러그인 개발을 위해 SVN이 필요했기 때문에 실제로이 방법으로 시작했습니다 ... 일단 시작되면 클라이언트 사이트에서 테마 및 사용자 지정 스크립트에 SVN을 계속 사용하는 것은 자연스러운 확장입니다.

플러그인

플러그인은 이미 WordPress의 서버에서 호스팅되기 때문에 로컬 WordPress 설치의 /wp-content/plugins/ 디렉토리에 직접 플러그인을 체크 아웃합니다 (개발 상자에서 WAMP를 실행합니다). 그런 다음 로컬 복사본을 변경하고, 쇼 타임 준비가되면 저장소에 커밋합니다. 이 프로세스는 원활하게 진행되며 업로드/다운로드 및 인스턴트 확인이 필요하지 않습니다.

테마

테마는 약간 다릅니다. 특히 클라이언트 용으로 제작할 때 특히 그렇습니다. 로컬 리포지토리 (이 목적으로 하드 드라이브에 R 파티션이 있음)를 만들고 빈 리포지토리를 직접 내 /wp-content/themes 디렉터리에 체크 아웃합니다. 그런 다음 필요에 따라 변경하고 준비 될 때까지 개발하여 내가 간대로 수정합니다.

클라이언트의 프로덕션 서버에 테마를 게시 할 준비가되면 저장소를 내 보내서 우편으로 보내고 기본 테마 인 >> WordPress의 새로운 기능 추가를 사용합니다. 이 플러그인은 WordPress에서 호스팅하지 않는 사용자 정의 플러그인에서도 작동합니다.

도구들

내가 말했듯이, 나는 로컬 컴퓨터에서 WordPress의 개발 설치를 실행하기 위해 WAMP를 사용한다. 그것은 완벽하게 내 상자에서 작동하고 내가 특정 프로젝트에 필요한만큼 WordPress의 인스턴스를 실행할 수 있습니다.

SVN 들어, 나는 Tortoise SVN 를 사용합니다. 무료이며, 사용하기 쉽고, Windows의 파일 및 명령 구조와 통합됩니다. 업데이트, 커밋 및 내보내기는 모두 마우스 오른쪽 버튼으로 클릭하고 명령 작업을 선택하십시오. "내보내기"를 사용하면 전체 폴더 (귀찮은 .svn 폴더없이)를 원하는 위치로 직접 보낼 수 있습니다. 자주 데스크톱으로 내보낼 수 있습니다. 폴더 압축은 오른쪽 클릭 작업이기도하며 WordPress가 업로드를 처리합니다.

수동으로 파일을 전송하는 것은 번거롭 수 있습니다. 특히 한 파일 만 변경하는 경우가 많습니다. "전체 덮어 쓰기"를 선택한 상태에서 전체 디렉토리를 FTP로 연결하면 이전 파일을 훨씬 쉽게 대체 할 수 있습니다 (변경된 파일과 변경되지 않은 파일을 추적 할 필요가 없습니다). WordPress의 이전 5 분 설치와 비슷합니다. 모든 것을 새로운 버전으로 교체하십시오.

8
EAMann

개인적으로 SVN/GIT를 설치하고 관리하는 것은 재미있는 일이라고 생각하지만 월 15 달러를 벌 수 있다면 Beanstalk는 가치가 있습니다. 그들은 당신을 위해 전체 서버를 관리합니다. http://beanstalkapp.com/ FTP 배포 도구는 훌륭합니다. Mine은 예를 들어 커밋 할 때 자동으로 버전을 내 스테이징 서버에 배포합니다.

개인 파일 버전 관리를 얻는 또 다른 방법은 드롭 상자를 사용하는 것입니다. 파일을 보관 용 계정에 저장할 때마다 버전을 추적하고 나중에 이전 버전으로 복원 할 수 있습니다. 귀하와 다른 개발자 또는 그룹은 보관 용 폴더를 공유 할 수 있습니다. 트렁크, 병합 등은하지 않지만 분산 된 팀이 하나의 웹 사이트에서 작업하는 것은 매우 쉽습니다. 한 번에 정확히 같은 파일을 작업 할 수는 없습니다.

SVN 작업 복사본을 dropbox에 보관 한 다음 시간이 기록되면 파일을 커밋합니다. 내 디자이너는 파일을 커밋하거나 SVN을 다루지 않습니다.

나는 SVN을 좋아한다. 왜냐하면 GIT가 매우 훌륭하고 모든 SVN의 GUI 툴을 사용할 수있는 트렁킹이 필요하지 않기 때문이다.

3
Andrew

내가 좋아하는 Aptana 많은, Subversion이 통합되어 있고 ftp/sftp를 사용하여 서버에 쉽게 연결할 수 있으며 파일을 밀어 넣을 수 있습니다. 또 다른 멋진 기능은 새로운 PHP 프로젝트를 만들고 "전체"WordPress 폴더 (wp-admin, wp-includes 포함)는 테마 파일에서 코드 완성을 얻습니다.

내 설정에서 repo는 로컬입니다.

2
Amit

"하지만 WordPress 사이트에서 편집 파일의 버전 기록을 유지하는 데 사용하는 설정/워크 플로의 구체적인 예를 찾고 있습니다."하지만 사용자는 제품에 대해 언급합니다.

위에서 도구 및 우수 사례 목록에 대한 답변을 얻을 수 있지만 워크 플로에 초점을 맞 춥니 다. 문제는 특별한 것이 아닙니다.

그러나 일반적인 예제/설정/워크 플로의 경우 :

선발 투사 : CM 패턴이 있으므로 툴링과 무관합니다. Google on CM Patterns, 많은 책, 위키의 커뮤니티. http://www.cmcrossroads.com/forums .

유효한 스트림 전략 (Google 스트림 전략) 설정 등에 관한 가이드도 있습니다.

커다란 Siebel, SAP, Informatica, Java 등의 분산 형 병렬 개발을 포함한 CM 관리에 비해 워드 프레스 배포에 특별한 것은 없다고 생각합니다. 실제로 거의 기본값입니다.

실종 된 점은 아무도 WordPress 개발 (아직) (IEEE)에 대한 CMplan을 작성하지 않았다는 것입니다. 누군가 (공구 독립적 인) 그것을 한 후에. 요구 사항은 모든 도구로 채울 수 있습니다.

계획이 작성되지 않은 이유는 거의 모든 WordPress 구현이 간단한 개발 생산 설정으로 1 명의 사용자에 의해 수행되므로 여러 빌드/디자이너가 빌드 단계에서 실행중인 다른 버전을 배포해야하는 이유가 아니라고 생각합니다. 테스트 환경.

cMP 계획은 모든 CI를 식별하는 것으로 시작됩니다. 응용 프로그램, 플러그인, 데이터베이스, 문서, 도움말, 콘텐츠, 설정 파일, 출시 노트 (!) 등을 포함하여 WordPress 구현에있는 모든 유형의 CI 목록을 작성합니다. ..). 좋은 시작입니다. 그런 다음 CM에서 가져올 항목을 결정하십시오.

다음은 이러한 CI의 변경 원인을 결정합니다. 버그 픽스 요청 또는 업그레이드가 필요합니다. 올바르게 끝나면 상황이 통제되고 있다는 느낌을 갖게됩니다.

생산에서 개발로의 통합과이를 처리 할 수있는 방법은 해당 장의 일부입니다 (2 가지 주요 패턴이 있음).하지만 이러한 핫픽스를 최소화해야합니다.

나중에 한 가지 측면에서 CM을 수행하고 (버전 관리를 도구 중 하나로 포함) 도구를 찾고 다른 측면에서 관리 도구를 변경하여 (당신을 계속 제정신으로 유지).

내가봤을 때, 아무도 아직까지 해본 적이 없기 때문에 이것이 가장 좋은 워크 플로우라고 생각합니다. 제 생각에 첫 번째 사람이 WordPress CM Plan (IEEE에 따르면)을 작성하면 세계의 다른 모든 WordPress 담당자가 그 계획을 복사하고 도구를 수정하고 패턴을 구현할 수 있다고 생각합니다.

너는 회사가 있느냐 없느냐에 달려있다. 좋은 CM 플랜을 갖기 위해 언젠가 큰 시간을 절약 할 수있다.

1
edelwater

SVN 또는 그와 비슷한 것을 설치할 수 없도록 공유 호스트에 있습니다. 내 머쉰에서 버전 관리를 위해 Mercurial을 사용합니다. 나는 비욘드의 FTP 동기화를 사용하여 로컬 및 원격 폴더를 동기화 상태로 유지합니다.

0
CAD bloke

나는 자식을 사용하고있다. 간단 해. 당신은 클론, 컴밋, 푸시, 풀, 그리고 당신이 갈 준비와 같은 간단한 명령을 이해해야 만합니다. 그게 기본이야.

당신이 git을 사용하여 팀을 하나의 제품에 대해 조정하는 것과 같은 것이 더 있다면, 그것은 또 다른 레벨입니다. 하지만 결국에는 git 또는 모든 버전 제어 기능을 사용하기가 어려워졌습니다. 똥이 나면 현실감이 생깁니다.

0
justjoe