문제

SO에서 적어도 10명의 사람들로부터 버전 관리가 나일지라도 좋은 일이라는 말을 들은 후 이제 후속 질문이 생겼습니다.

다양한 버전 제어 유형의 차이점은 무엇이며, 매우 간단하고 이해하기 쉬운 버전 제어에 대해 누구나 알고 있는 가이드가 있습니까?

도움이 되었습니까?

해결책

에릭 싱크는 소스 제어에 대한 좋은 개요.또한 일부 기존의 질문 여기 SO.

다른 팁

우리는 버전 제어의 황금 시대에 있는 것 같습니다. 선택의 폭이 다양하고 모두 장단점이 있습니다.

가장 많이 사용되는 것은 다음과 같습니다.

  • svn - 현재 가장 인기 있는 오픈 소스는 무엇입니까?
  • git - Linus가 전환한 이후로 매우 뜨거워졌습니다.
  • 수은 - 내가 아는 몇몇 똑똑한 사람들은 맹세합니다.
  • cvs - 모두가 전환하고 있는 것
  • perforce - imho, 최고의 기능이지만 오픈 소스는 아닙니다.하지만 2인용 라이센스는 무료입니다.
  • Visual Sourcesafe - 저는 Microsoft 세계에 별로 관심이 없어서 이것에 대해 전혀 모릅니다. 사람들이 Microsoft의 모든 것에 대해 욕하는 것을 좋아한다는 것 외에는 이것에 대해 전혀 모릅니다.
  • sccs - 역사적 관심을 위해 위에서 언급한 많은 것의 증조할아버지를 언급합니다.
  • rcs - 그리고 위의 많은 것의 할아버지

내 추천:git, svn 또는 perforce 중 하나를 사용하는 것이 가장 안전합니다. 많은 사람들이 사용하고, 크로스 플랫폼이고, 좋은 GUI를 갖추고, 이에 관한 책을 구입할 수 있기 때문입니다.

cvs, sccs, rcs를 고려하지 마십시오. 그들은 골동품입니다.

좋은 점은 프로젝트가 상대적으로 작기 때문에 경험이 더 많아지고 다른 시스템에서 작업하기로 결정하면 코드를 새 시스템으로 이동할 수 있다는 것입니다.

버전 관리를 이제 막 사용하기 시작한 모든 사람에게:

과장된 내용이 있으므로 git(또는 hg 또는 bzr)을 사용하지 마십시오.

git(또는 hg 또는 bzr)을 사용하세요. 더 나은 도구 SVN보다 소스 코드 관리에 적합합니다.

저는 직장에서 몇 년 동안 SVN을 사용하다가 6개월 전에 git으로 전환했습니다.SVN을 먼저 배우지 않으면 DVCS를 사용할 때 완전히 헤매게 될 것입니다.

버전 관리를 막 시작하는 사람들의 경우:

  • SVN을 다운로드하여 시작하세요
  • 배우다 버전 관리가 필요합니다
  • 커밋, 체크아웃, 분기 방법 알아보기
  • SVN 병합이 왜 그렇게 어려운지 알아보세요

그런 다음 DVCS로 전환하고 다음을 배우십시오.

  • 복제/분기/커밋 방법
  • 가지를 다시 병합하는 것이 얼마나 쉬운가요? (가지를 미쳐버리세요!)
  • 커밋 기록을 다시 작성하고 브랜치를 유지하는 것이 얼마나 쉬운가요?
    메인 라인으로 최신 상태 (자식 리베이스 -i, )
  • 다른 사람들이 혜택을 볼 수 있도록 변경 사항을 게시하는 방법

tldr;군중:

SVN으로 시작하여 기본 사항을 배운 다음 DVCS로 졸업하세요.

나는 다음과 같이 시작할 것이다:

그런 다음 읽어본 후 다운로드하여 설치하세요. SVN, 거북이SVN 그리고 책의 처음 몇 장을 훑어보세요. 그리고 시작하세요.

버전 관리는 개발에 필수적입니다. 심지어 혼자서 작업하는 경우에도 자신을 보호해 주기 때문입니다.실수한 경우 작동하는 코드의 이전 버전으로 롤백하는 것은 간단합니다.또한 현재 수행 중인 작업을 되돌릴 수 있는지 여부에 대해 걱정할 필요가 없으므로 코드를 자유롭게 탐색하고 실험할 수 있습니다.버전 관리 시스템(VCS)에는 중앙 집중형과 분산형이라는 두 가지 주요 분기가 있습니다.

중앙 집중식 VCS는 모든 사람이 프로젝트를 "체크아웃"하고 작업하며 다른 사람이 사용할 수 있도록 변경 사항을 서버에 다시 "커밋"하는 중앙 서버 사용을 기반으로 합니다.주요 중앙 집중식 VCS는 CVS와 SVN입니다."분기"를 "병합"하는 것이 극도로 고통스럽기 때문에 두 가지 모두 심한 비판을 받았습니다.[할 것:브랜치가 무엇인지, CVS 및 SVN에서 병합이 어려운 이유에 대한 설명을 작성하세요.]

분산 VCS를 사용하면 모든 사람이 자신만의 서버를 가질 수 있으므로 다른 사람의 변경 사항을 "풀"하고 변경 사항을 서버로 "푸시"할 수 있습니다.가장 일반적인 분산 VCS는 Git과 Mercurial입니다.[할 것:분산 VCS에 대해 자세히 알아보기]

프로젝트를 진행 중이라면 분산 VCS를 사용하는 것이 좋습니다.저는 Git이 엄청나게 빠르기 때문에 추천하지만, 사용하기 너무 어렵다는 비판을 받아왔습니다.상용 제품을 사용해도 괜찮다면 BitKeeper는 사용하기 쉬울 것입니다.

그만큼 답변 에게 다른 질문 여기에도 적용됩니다. 가장 중요한 것은

존 웍스 말했다:
버전 관리에서 가장 중요한 것은 다음과 같습니다.

그냥 사용해 보세요

그의 답변은 좀 더 자세히 설명되어 있으며, 표절 혐의로 비난받고 싶지 않으니 한번 살펴보세요.

간단한 대답은 '실행 취소 버튼이 마음에 드시나요?'입니다.대답은 물론 그렇습니다. 인간으로서 우리는 항상 실수를 하기 때문입니다.

프로그래머로서 문제를 해결하기 위해 사용하려는 방법을 찾기 전에 테스트, 코드 변경, 덮어쓰기, 삭제, 파일 이동 및 이름 바꾸기에 몇 시간이 걸릴 수 있는 경우가 종종 있습니다. 코드는 시작했을 때보다 더 손상되었습니다.

따라서 소스 제어는 잔디가 푸르고 음식이 풍부했던 이전 시점으로 코드를 되돌리는 대규모 실행 취소 버튼입니다.뿐만 아니라, 소스 제어 작동 방식으로 인해 몇 주 후에 다시 참조하고 거기에서 나온 좋은 아이디어를 선별하고 싶은 경우를 대비하여 손상된 코드의 복사본을 계속 보관할 수 있습니다. .

저는 개인적으로(과도하다고 할 수 있지만) Source Gear Fortress(버그 추적 기능이 있는 Vault 소스 제어 제품)의 무료 단일 사용자 라이센스 버전을 사용합니다.UI가 사용하기 매우 간단하다는 것을 알았습니다. 체크아웃 > 편집 > 체크인 모델과 편집 > 병합 > 커밋 모델을 모두 지원합니다.하지만 ISS 및 SQL 서버의 로컬 복사본을 실행해야 하므로 설정이 약간 까다로울 수 있습니다.여기의 다른 답변에서 권장하는 것과 같은 더 작은 프로그램을 사용해 볼 수도 있습니다.당신이 좋아하는 것과 감당할 수 있는 것이 무엇인지 살펴보세요.

마크는 이렇게 말했습니다.

git - Linus가 전환한 이후로 매우 뜨거워졌습니다.

나는 단지 Linus가 그것으로 전환하지 않았다는 점을 지적하고 싶습니다. Linus 썼다 그것.

Windows 환경에서 혼자 작업하는 경우 단일 사용자 라이센스 SourceGear의 Vault는 무료입니다.

사용하고 마음에 든다 수은제.이는 분산 모델을 따르므로 작업을 "체크인"해야 한다는 느낌을 일부 제거합니다.모질라는 머큐리얼로 이전했습니다, 이는 곧 사라지지 않을 것이라는 좋은 신호입니다.제 생각에는 한 가지 단점은 이를 위한 아주 좋은 GUI가 없다는 것입니다.하지만 명령줄에 익숙하다면 꽤 편리합니다.

수은 문서 비공식 매뉴얼

어떤 유형을 사용하든 상관없이 소스 제어를 사용하기 시작하세요.무엇을 사용하는지는 중요하지 않습니다.중요한 것은 그것을 사용하는 것입니다

다른 모든 사람들과 마찬가지로 SC는 실제로 귀하의 요구 사항, 예산, 환경 등에 따라 달라집니다.

기본적으로 소스 제어는 모든 코드의 중앙 저장소를 제공하고 누가 언제 무엇을 했는지 추적하도록 설계되었습니다.완전한 기록이 있어야 하며 전체 변경 로그, 감사, 액세스 제어 등을 수행하는 제품을 얻을 수 있습니다.

시중에 나와 있는 각 제품은 SC를 자신의 환경(개인 코드, 문서 또는 대기업 등)에 어떻게 통합하고 싶거나 통합해야 하는지 살펴보기 시작할 때 빛을 발하기 시작합니다.그리고 사람들은 도구를 사용하면서 도구에 한계가 있음을 발견하고 새로운 도구를 작성합니다.SVN은 제작자가 CVS에서 본 한계에서 탄생했습니다.Linus는 Linux 커널에 대해 더 나은 것을 원했기 때문에 이제 우리는 자식.

나는 하나(매우 인기 있고 사용하기 쉬운 SVN과 같은 것)를 사용하기 시작하고 어떻게 진행되는지 살펴보고 싶습니다.시간이 지남에 따라 다른 기능이 필요하거나 다른 시스템과 인터페이스해야 하므로 SourceSafe 또는 다른 도구가 필요할 수 있습니다.

소스 제어는 항상 중요합니다. PSD 파일 버전의 번호를 수동으로 다시 매기거나 작업하면서 해당 배치 스크립트를 한두 번 실행하는 것을 잊어버리거나 어떤 번호가 갔는지 잊어버릴 가능성이 높습니다. 어떤 변화로.이것이 대부분의 SC 도구가 도움이 될 수 있는 부분입니다(체크인/체크아웃하는 한).

이 SO 질문도 참조하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top