내 파일의 기록을 유지하기 위해 Subversion, Git 또는 유사한 버전 관리 시스템 시작하기? [닫은]


31

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


1
호기심, 마이크-제목이 왜 편집 되나요? 내 생각에 질문 제목은 적절한 문법 규칙을 따라야합니다. 아마도 그것은 메타에 대한 좋은 토론 일 것입니다.
Travis Northcutt

당신은 이미 메타 에 대한 토론의 일부입니다 , tnorthcutt. :)
Annika Backstrom

답변:


14

버전 제어 사용에 대해 얼마나 알고 있는지 잘 모르겠지만 최근에 SVN에서 Git으로 전환하여 훌륭하다고 생각합니다!

라이브 사이트의 서버에 Git이 설치되어 있거나 귀하에게 있습니다. 라이브 서버에도 Git 설정이 있는데 같은 지점을 실행합니다 production. 로컬에서 구현 / 수정을 마칠 때마다 production지점 으로 병합 한 다음 SSH를 실제 사이트 서버로 가져 와서 변경 사항을 가져옵니다. 변경 내용을 덮어 쓰는지 여부를 모르는 경우 FTP를 통해 파일을 드래그하는 것보다 뛰어납니다.

Git에 익숙해지는 데 시간을 할애하는 것이 좋습니다 (아직하지 않은 경우), 많은 파일을 변경 / 추가 할 때 SVN보다 훨씬 쉽고 덜 번거 롭습니다 (SVN과 달리 바보가 아닙니다) 모든 위치에.svn 폴더 ).

나는 Mac에있어서 적용되지 않으면 죄송하지만 Coda 를 코드 편집기로 사용하고 포트를 통해 Git을 설치했습니다 (Porticus 사용).

모든 것을 새로 설정하려면 다음을 수행하십시오.

  1. 코다 설치

  2. 설치 Porticus을 (포트를 설치해야하지만, 정보가 해당 페이지에이되는)

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

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

  5. 여기에 git repo를 설정하는 좋은 가이드가 있지만 기본 사항은 다음과 같습니다. 1. 터미널을 엽니 다. 2. cd사이트가 상주 할 위치 $: mkdir mysite && cd mysite3. $: git init그게 다야! 이 폴더에 파일을 추가하면 다음 단계를 계속하십시오

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

서버에서 모든 것을 설정하는 것은 약간 까다로울 수 있습니다 .MediaTemple과 Dreamhost 계정이있어 GIT가 즉시 제공됩니다. 5 단계의 링크는 원격 저장소를 추가하는 방법을 알려주므로 라이브 사이트를 방정식으로 가져 오기 전에는 그렇게 할 필요가 없습니다. SVN과 달리 GIT에는 원격 저장소가 필요하지 않으므로 당분간 컴퓨터에서 모든 작업을 수행 할 수 있습니다.


워크 플로우가 어떤지, 어떤 도구 / 편집기를 사용하는지, 라이브 서버에서 GIT를 설정하는 방법 등에 대해 더 자세히 설명해 주시겠습니까? GIT와 같은 방법으로 설정하는 방법을 단계별로 안내하고 싶습니다.
Travis Northcutt

시작하기위한 몇 가지 단계를 추가했습니다. 행운을 빌어 요!
Joe Hoyle

또한 GIT에 권장되는 좋은 자습서가 있습니까? 저는 Subversion을 사용
중이며

Joe, 세부 정보를 추가해 주셔서 감사합니다. 나는 PC에 있지만 동등한 도구를 찾을 수 있으며 다른 Mac 사용자에게 유용합니다.
Travis Northcutt

git 만 추천 할 수 있습니다. 그냥 바위입니다. 어떤 OS에 관계없이 나는 리눅스와 Windows에서 자주 사용합니다 (즉, 매일). Windows에는 git bash가 있습니다. 좋은 점은 모든 리눅스 명령을 직접 가지고 있습니다 : code.google.com/p/msysgit
hakre

8

WordPress 개발에서 수행 하는 모든 작업으로 버전 제어에 SVN을 사용 합니다. 플러그인 개발을 위해 SVN이 필요했기 때문에 실제로 이런 방식으로 시작했습니다 ... 일단 시작한 후에는 클라이언트 사이트에서 테마 및 사용자 정의 스크립트에 SVN을 계속 사용하는 것이 자연스럽게 확장되었습니다.

플러그인

플러그인은 이미 WordPress 서버에 호스팅되어 있으므로 /wp-content/plugins/로컬 WordPress 설치 디렉토리 에 직접 플러그인을 체크 아웃 합니다 (개발 상자에서 WAMP를 실행합니다). 그런 다음 로컬 사본을 변경하고 상영 준비가되면 리포지토리에 커밋합니다. 업로드 / 다운로드 및 변경 사항이 없는지 즉시 확인하는 과정이 순조롭게 진행됩니다.

테마

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

테마를 클라이언트의 프로덕션 서버에 게시 할 준비가되면 리포지토리를 내보내고 압축 한 다음 WordPress 내에서 기본 테마 >> 새 기능 추가 기능을 사용합니다. 이것은 사용자 정의 플러그인 (WordPress에서 호스팅하지 않는)에서도 작동합니다.

도구

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

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

파일을 수동으로 전송하는 것은 번거로울 수 있습니다. 특히 하나의 파일을 계속 변경하지만 전부는 아닙니다. "전체 덮어 쓰기"를 선택한 상태에서 전체 디렉토리를 FTP로 사용하는 경우 이전 파일을 훨씬 쉽게 교체 할 수 있습니다 (변경된 파일과 변경되지 않은 파일을 추적 할 필요가 없음). 이전 5 분 동안 WordPress에 설치했던 것과 비슷합니다. 모든 것을 새 버전으로 바꾸십시오.


3

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

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

우리는 SVN 작업 복사본을 보관함에 보관하고 시간이 기록되면 파일을 커밋합니다. 내 디자이너는 파일을 커밋하거나 SVN을 다루지 않으므로 이것이 절충입니다.

나는 GIT가 큰 트렁크를 필요로하지 않고 SVN을 사용할 수있는 더 나은 GUI 도구가 있기 때문에 SVN을 선호합니다.


2

나는 Aptana 를 많이 좋아 하며 서브 버전이 통합되어 있으며 ftp / sftp로 서버에 쉽게 연결하고 파일을 푸시 할 수 있습니다. 또 다른 훌륭한 기능은 새로운 PHP 프로젝트를 만들고 "전체"WordPress를 포함시키는 것입니다 폴더 (wp-admin, wp-includes 포함)를 사용하면 테마 파일에서 코드 완성을 얻습니다.

내 설정에서 저장소는 로컬입니다.


"레포"는 무엇입니까?
Travis Northcutt

2
"repo"는 "repository"의 일반적인 속기입니다.
Trevor Bramble 16:12의

"repo"= "저장소"
MikeSchinkel

Aptana (Win 및 Linux에서) 안에 git ( egit plugin ) 도 사용 하고 잘 작동합니다.
bueltge

1

"하지만 사람들이 WordPress 사이트에서 편집 된 파일의 버전 기록을 유지하는 데 사용하는 설정 / 워크 플로의 특정 예를 찾고 있습니다."

도구 목록과 모범 사례에 대한 답변으로 위의 내용을 얻을 수 있지만 여기서는 워크 플로에 중점을 둘 것입니다. 이들은 워드 프레스가 아닙니다.

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

우선 : 툴링과 무관 한 CM 패턴이 있습니다. CM 패턴에서 구글, 거기 책을 많이 위키는 예를 들어,도 지역 사회의 http://www.cmcrossroads.com/forums .

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

대규모 Siebel, SAP, Informatica, Java 등의 공장에서 분산 병렬 개발을 포함하는 CM 관리와 비교하여 WordPress 배포에 특별한 점이 없다고 생각합니다. 실제로 거의 기본값입니다.

누락 된 것은 워드 프레스 개발 (아직) (IEEE)을위한 CMplan을 작성하는 사람이 아무도 없다는 것입니다. 누군가가 그렇게하면 (도구 독립적). 모든 툴로 요구 사항을 채울 수 있다고 생각합니다.

계획이 작성되지 않은 이유는 거의 모든 WordPress 구현이 간단한 개발 생산 설정으로 한 사람 만 수행하므로 빌드 단계에서 여러 개발자 / 디자이너가 실행하지 않고 다른 버전을 배포해야하기 때문입니다. 예를 들어 테스트 환경.

CMP 계획은 모든 CI를 식별하는 것으로 시작합니다. 즉, 앱, 플러그인, 데이터베이스, 설명서, 도움말, 컨텐츠, 구성 파일, 릴리스 정보 (!) 등 WordPress 구현에 존재하는 모든 유형의 CI 목록을 작성합니다. ..). 좋은 시작입니다. 그런 다음 CM에서 가져올 것을 결정하십시오.

다음으로 이러한 CI의 변경 원인 (예 : 고객이 버그 수정 또는 업그레이드 요청)을 결정하십시오. 올바르게 수행하면 상황이 통제되고있는 상황이됩니다.

프로덕션에서 개발로의 병합 및 해당 장의 일부인 처리 방법 (여기서는 두 가지 주요 패턴)과 같은 결정 (물론 이러한 핫픽스를 최소화하려고 노력해야 함).

나중에 만 한쪽에서 CM을 수행하는 도구 (도구 중 하나로 버전 관리 포함)를 찾고 다른 쪽에서 관리 도구를 변경하여 제정신을 유지하십시오.

필자는 구글 검색을 한 사람이 아직 없었기 때문에 이것이 가장 좋은 워크 플로우라고 생각합니다. 첫 번째 사람이 일단 WordPress CM 계획 (IEEE에 따름)을 작성하면 세계의 다른 모든 WordPress 사람이 해당 계획을 복사하고 조정하여 툴링에서 패턴을 구현할 수 있다고 생각합니다.

너무 많은 일 / 너무 무겁지 않습니까 : 회사가 있는지 여부에 달려 있습니다. 좋은 CM 계획을 갖기 위해 하루 큰 시간을 절약 할 수 있습니다.


0

공유 호스트에 있으므로 SVN 또는 이와 유사한 것을 설치할 수 없습니다. Mercurial을 사용하여 가정용 컴퓨터에서 버전을 제어합니다. 로컬 및 원격 폴더를 동기화하기 위해 Beyond Compare의 FTP 동기화를 사용합니다.


0

git을 사용하고 있습니다. 간단 해. 복제, 커밋, 푸시, 풀과 같은 간단한 명령을 이해하면 안됩니다. 이것이 기본입니다.

그럼에도 불구하고, git을 사용하여 제품을 작업하기 위해 팀을 조정하는 것과 같이 더 많은 것을 사용한다면 다른 수준입니다. 그러나 결국에는 git 또는 모든 버전 제어를 사용할 가치가 있습니다. 똥이 발생할 때 현실감이 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.