2010-05-03 5 views
9

많은 이맥스 사용자가 git 버전 제어하에 init 파일 (.emacs 또는 init.el)을 가지고 있고 여러 시스템에서 이맥스를 실행할 때 Dropbox를 통해 git 저장소를 동기화한다고 들었습니다. 왜 이런 상황에서 git을 정확하게 사용합니까?Dropbox뿐만 아니라 Git을 Emacs 초기화 파일로 사용하는 이유는 무엇입니까?

일반적으로 어떤 시스템을 사용하고 있는지 그리고 어떤 시스템을로드하고 설정할지에 대한 검사는 모든 시스템에서 하나의 동일한 init 파일에서 발생할 수 있습니다. 왜 정확히 init 파일의 버전 기록을 저장하고 싶습니까? 실제로 git 저장소를 정당화하는 것이 중요합니까?

그래서 Dropbox 디렉토리에 init 파일을 넣고 Dropbox에서 동기화 된 git repo에서 최신 버전을 가져 오는 대신 Emacs에서 직접 초기화 파일을로드하는 것만으로 충분하지 않습니까?

+2

Dropbox에 기본 버전 관리 지원 기능이 내장되어있어 다소 무리한 것처럼 보입니다. – Amber

+0

Donal Fellows : 제목에서 강조하기 위해 의도적으로 제목을 변경했지만 * 및 *로 변경합니다. –

+0

@Michiel : 정말 필요 없습니다. 어느 쪽이든 더 많은 안구를 끌지 않을 것입니다. –

답변

7

힘내라 버전 관리 기능을 제공하므로 Dropbox는 무료 개인 호스팅을 제공합니다.

최근까지만해도 내가 알고있는 개인 Git repo를 호스팅하는 유일한 방법이었습니다. Gitorious, repo.or.cz 및 Co.는 개인 리포지토리 및 GitHub, ShareSource 및 친구가 개인 리포지토리에 비용을 청구하지 않습니다. Assembla는 개인 리포 호스팅을 제공하는 유일한 호스팅 주인이지만 3 주 전에 시작되었습니다.

개인 구성 파일에는 중요한 데이터가 들어있을 수 있으므로 개인적으로 호스트하는 것이 좋습니다. 단 하나의 .emacs 파일 하나에 GitHub 7 $/mo를 지불하는 것은 의미가 없습니다.

+0

진짜 질문은 왜 .emacs 파일의 버전 제어를 원하겠습니까? –

+4

Ola Bini가 여기에 설명합니다 : http://olabini.com/blog/2008/05/how-large-is-your-emacs/ – Andreas

1

개발자가 원하는 버전 제어 시스템을 찾으면 모든 중요한 파일에 사용하는 경향이 있습니다. - 파일을 항상 백업, 관리, 기록 유지 (주석 기록, 변경 사유 등)

힘내는 많은 사용자를 끌어 들였고 놀랄 일도 아닙니다. 초기화 파일을 추적하는 사람들이 사용하는 것을 들어야합니다.

+0

사실. http://github.com/technomancy/emacs-starter-kit/network –

2

나는 Dropbox를 Emacs 설정 파일뿐만 아니라 다른 모든 외부 패키지 (최신 org-mode, SLIME 등) 및 개별 .el 파일에도 사용하여 설치하고 구성합니다 (로드 경로 info 파일, 바이트 컴파일 등)을 한 번만 모든 시스템에 적용하고 Git을 사용하여 구성 파일 (일반 설정, 시스템 또는 OS 특정 사용자 정의)을 관리하십시오.

그 다음에는 Dropbox (API 문서, 프로토콜 항목, 치트 시트 등) 및 개발 자료 (Java jar 파일, 소스 등)에 많은 참조 자료를 넣었으므로 모든 내리막 길입니다. Emacs가 모든 시스템에 동일한 개발 환경을 가지고있어 모든 것을 액세스 할 수 있습니다.

+0

Dropbox를 사용하는 것은 문제가 아닙니다. 질문은, 왜 버전 제어 시스템을 사용하는지,이 경우에는 git을 사용하는 것입니다. –

+1

Emacs의 설정과 커스터마이제이션은 코드이기 때문에 여러 OS가있는 여러 머신이 관련되어있을 때 상당히 복잡 할 수 있습니다. – gko

2

구성 파일을 코드로 생각하면 적절한 VCS를 사용하고 싶을 것입니다. Dropbox는 약간의 가치를 제공하지만 git과 같은 리그에 있지는 않습니다.

코드를 사용하여 작업 할 때 이전 버전의 문서로 롤백하는 것 이상의 기능이 필요합니다. 버전 간 차이점을 빠르고 효과적으로 확인할 수 있습니다. 무엇이 바뀌 었는지, 왜 바뀌 었는지, 언제 등을 알기를 원합니다. 당신이 알고있는 것을 어지럽히 지 않고 새로운 것을 시도하는 실험적인 가지를 만들고 싶습니다. 실험에서 변경 사항 중 일부를 안정적인 지점으로 가져 오려고합니다. 그러나 아마도 그것 전부는 아닙니다.

또 다른 문제는 앞으로 어떤 이유로 든 Dropbox에서 모든 기록을 포함하여 파일을 옮길 수 있다는 것입니다. git을 사용하면 이것은 사소한 일입니다.

1

Dropbox는 몇 가지 기록 지원 기능을 제공하지만 Git만큼 광범위하지 않고 제어 할 수있는 기능이 아닙니다. 개발자가 Git을 안다면, Git에서 Emacs와 같은 것들에 대한 설정 파일을 유지하는 것이 합리적입니다. 당신은 전체 버전을 가지고 있고, 이전 버전을 잃어 버리지 않으며, 유용한 시점에 의미있는 메시지로 변경 사항을 커밋하지 않습니다.

이제 Dropbox에서 Git을 사용하여 리포지토리를 밀고 당길 수 있습니다. 간단. 파일이 보관 용 계정에있는 경우 모든 보관 용 컴퓨터에 투명하게 자동으로 보관됩니다. 그래서 당신은 걱정할 필요가 없습니다. "나는 변화를 가져 왔습니까? 가장 최근의 변화는 어디 있습니까?" 다른 사람들이 언급했듯이, 여러분은 자신의 서버 나 유료 서비스에서 어딘가에 사적인 Git 저장소를 가질 필요가 없다.

둘 다 수행하면 Dropbox를 쉽게 지원하지 않는 컴퓨터 (예 : 원격 서버)에 구성을 쉽게 복제 할 수 있다는 장점이 있습니다. Dropbox를 랩탑/데스크탑/워크 스테이션에 동기화하고 서버에있는 git을 사용하면 모든 환경에서 최소한의 번거 로움없이 동일한 구성을 유지할 수 있습니다. 의미있는 버전 관리.

관련 문제