문제

여전히 딱딱한 시간을 보내고있는

비유가 SVN으로 만들 수 있습니까? git에서 무대 수준을 갖는 주된 목적은 무엇입니까?

도움이 되었습니까?

해결책

유사점 :

저장소의 일부 여야하는 파일은 추적되기 위해 추가해야합니다. 두 도구 모두 add 명령을 사용하여이를 수행하십시오. 파일 추가는 커밋을 준비하는 것을 의미합니다.

차이점 :

git은 파일을 추가 할 때 더 많은 종류의 세부 사항을 허용합니다. 전체 파일이나 별개의 코드 줄을 추가하기로 결정할 수 있습니다. index 또는 스테이지 에 파일을 추가하면 더 많은 유연성을 허용합니다. SVN은 자동으로 저장소에 추가 된 파일의 모든 변경 사항을 모두 comm합니다. git은 각 커밋 작업과 연결하는 변경 사항의 결정을 사용자에게 제공합니다. 즉, 다음 커밋 은 파일의 추적 상태에 관계없이 단계적으로 준비된 변경 (회선 또는 파일) 만 포함합니다. SVN은 자동으로 추적 된 파일의 모든 변경 사항을 포함합니다.

추가 정보 :

Oliver Steele . 그러나 Git을 사용하는 방법이 아닙니다. 원한다면 SVN으로 작업하고있는 것처럼 GIT를 사용할 수 있습니다. 짧은 기간 동안 Git의 철학을 기대하지 마십시오. 그것은 나에게 일년에 들어가서 그것을 얻고 아직도 그것을 사용하는 새로운 방법을 배웁니다. SVN 사고 방식으로 자란 경우에는 더욱 어려워집니다. 거기에 톤의 물질이 있습니다 : 기사, 비디오, ... - 시간을 가져 와서 그 중 일부를 시도하십시오. 여기에 수집 된 목록에서 선택한 목록입니다.

다른 팁

스테이징 영역의 주요 이점은 주어진 파일의 변경 사항 만 쉽게 커밋 할 수 있다는 것입니다.(예를 들어 git add -p를 사용하십시오.) SVN에서 "부분적"커밋을 수행하는 유일한 방법은 파일별로 또는 파일을 수동으로 백업 한 다음 일시적으로 변경하지 않는 변경 사항을 반복합니다.커밋하고 싶다.

이것은 (같은 것처럼) 매우 조직 된 개발자가 아니며 사실 이후의 "깔끔한"커밋으로의 변화를 분류 할 수 있기를 원한다면 좋습니다.이것은 엄격한 강제에 대한 유연성을 선호하는 Git의 일반적인 태도를 따른다.필요하지 않으면 항상 사용하지 않고 git commit -a ...를 사용하십시오.

SVN이 Git이 아니며 그러한 개념이 없기 때문에 SVN으로 만들어 질 수없는 유추가 없습니다.

여기에 준비의 유용성을 보여주는 몇 가지 시나리오입니다.

  • 특정 부분에서 작업하고 프로젝트 전반에 걸쳐 몇 가지 변경 사항을 변경했습니다. 당신은 아직 완전한 것을 테스트하기 전에 아직 커밋하고 싶지 않습니다. 그러나 이러한 변화는 종종 하나의 큰 논리적 인 커밋을 만들기에 충분히 독립적 일 수 있습니다. 이것은 선택적 부품을 단계별로하고 여러 커밋을 만드는 경우입니다.

  • 스테이징은 디버깅하는 동안 특히 도움이되었습니다. 로그 문을 뿌리면 버그 소스를 추적 할 수 있습니다. 그런 다음 해당 로그문을 사용하여 수정 사항을 만들고 다시 테스트하십시오. 그런 다음 해당 로그 문을 삭제하기 위해 코드를 변경하기 전에 수정 사항을 커밋하려고합니다.

  • 다른 시나리오가 도움이되는 것으로 판명 된 또 다른 시나리오는 당신이 무언가를하는 중일 때, 오타 오류와 같이 무관 한 무언가를 찾고, 수정하고 빠르게 꺼내려고합니다.

다른 시나리오에는 여러 가지 다른 시나리오가 있으며,이 개념이 부족한 모든 것들과 함께 일할 수 없을 것입니다 :).

PS : 나는 SVN을 전혀 사용하지 않았으므로, 둘 사이의 비교를 할 수 없습니다.

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