개발 도구 자식 git과 svn이란 무엇입니까?

git과 svn이란 무엇입니까?

Nov 30, 2021 pm 02:09 PM
git svn

Git은 소규모 프로젝트부터 대규모 프로젝트까지 효율적이고 신속하게 버전 관리를 처리하는 데 사용되는 오픈 소스 분산 버전 관리 시스템입니다. svn은 여러 사람이 동일한 프로젝트를 공동으로 개발하고 공유 리소스를 실현하여 궁극적으로 중앙 집중식 관리를 달성하는 데 사용되는 오픈 소스 중앙 집중식 버전 관리 시스템입니다.

git과 svn이란 무엇입니까?

이 튜토리얼의 운영 환경: Windows 7 시스템, Git 버전 2.30.0, Dell G3 컴퓨터.

git이란 무엇입니까

Git은 크고 작은 프로젝트의 민첩하고 효율적인 처리를 위한 무료 오픈 소스 분산 버전 제어 시스템입니다.

Git은 효과적이고 빠르게 사용되는 오픈 소스 분산 버전 제어 시스템입니다. 소규모 프로젝트부터 대규모 프로젝트까지 버전 관리를 처리합니다. Git은 Linux 커널 개발 관리를 돕기 위해 Linus Torvalds가 개발한 오픈 소스 버전 제어 소프트웨어입니다.

분산형과 중앙형의 가장 큰 차이점은 개발자가 로컬로 제출할 수 있고 각 개발자가 복제(git clone)를 통해 로컬 시스템에 완전한 Git 저장소를 복사한다는 것입니다.

Git은 분산 버전 관리 시스템입니다

2 (1).png

Git의 특징은 다음과 같습니다.

  • Git의 각 클론(clone) 저장소는 동일합니다. 원하는 저장소를 복제하여 자신만의 저장소를 만들 수 있으며 원하는 경우 저장소를 다른 저장소의 소스로 사용할 수도 있습니다.

  • Git의 모든 추출 작업은 실제로 코드 저장소의 전체 백업입니다.

  • 제출은 로컬에서 완전히 완료되었으며, 다른 사람이 귀하에게 권한을 부여할 필요가 없습니다. 귀하는 저장소의 마스터이며 제출은 항상 성공적입니다.

  • 이전 버전을 기반으로 한 변경 사항도 성공적으로 제출할 수 있으며, 제출하면 이전 버전을 기반으로 하는 새 브랜치가 생성됩니다.

  • Git 제출은 작업에 완전히 만족할 때까지 중단되지 않습니다. PUSH 또는 다른 사람에게 저장소 PULL을 수행하면 자동으로 해결될 수 없는 충돌이 발생합니다. 손으로.

  • 충돌 해결은 더 이상 SVN과 같은 제출 경쟁과 같지 않지만 필요한 경우에만 병합 및 충돌 해결이 가능합니다.

  • Git은 중앙 집중식 작업 모드를 시뮬레이션할 수도 있습니다.

  • Git 저장소는 서버에 균일하게 배치됩니다.

  • Git 저장소에 권한을 부여할 수 있습니다. 저장소를 생성할 수 있는 사람, 저장소에 푸시할 수 있는 사람, 할 수 있는 사람 저장소를 읽습니다(복제).

  • 팀 구성원은 먼저 서버의 저장소를 로컬에 복제하고 서버 저장소에서 최신 업데이트를 자주 가져옵니다(PULL).

  • 팀 구성원은 자신의 저장소를 푸시(PUSH)합니다. 변경 사항을 서버의 저장소에 적용하고 다른 사람이 저장소와 동기화(PULL)하면 변경 사항이 자동으로 적용됩니다

  • Git의 중앙 집중식 작업 모델은 매우 유연합니다

  • 네트워크에서 멀리 떨어져 있어도 완전히 가능합니다. Git 서버가 위치해 있어 이동/출장 등 평소대로 코드 라이브러리를 사용할 수 있습니다

  • PULL, PUSH만 사용하면 서버와의 동기화가 완료되고 제출이 가능할 때 제출할 수 있습니다. Git 서버가 있는 네트워크에 액세스

  • Git은 rebase 명령을 제공하여 변경 사항이 최신 코드 변경 사항을 기반으로 한 것처럼 보이게 할 수 있습니다

  • Git에는 Subversion보다 훨씬 더 많은 작업 모드를 선택할 수 있습니다. can match

svn이란

SVN은 Subversion의 약자로 브랜치 관리 시스템의 효율적 관리를 통해, 한마디로 여러 사람이 사용하는 오픈소스 버전 관리 시스템입니다. 동일한 프로젝트를 공동으로 개발하여 공유 자원을 달성하고 최종 집중을 달성합니다.

SVN은 시간에 따라 변하는 데이터를 관리합니다. 이 데이터는 중앙 저장소에 저장됩니다. 이 아카이브는 일반 파일 서버와 매우 유사하지만 모든 파일 변경 사항을 기억합니다. 이렇게 하면 파일을 이전 버전으로 복원하거나 파일의 변경 기록을 찾아볼 수 있습니다. Subversion은 프로그램 소스 코드를 포함하여 모든 유형의 파일을 관리하는 데 사용할 수 있는 범용 시스템입니다.

SVN은 중앙 집중식 버전 관리 시스템입니다.

중앙집중식 버전 관리 시스템은 모든 파일의 개정판을 저장하는 단일 중앙 관리 서버를 갖고 있으며, 함께 일하는 사람들은 클라이언트를 통해 이 서버에 접속하여 최신 파일을 꺼내거나 업데이트를 제출합니다.

1 (1).png

svn의 기능은 다음과 같이 요약됩니다.

  • 각 저장소에는 고유한 URL(공식 주소)이 있으며 각 사용자는 이 주소에서 코드와 데이터를 얻습니다.

  • 코드 업데이트 얻기 이 고유한 저장소는 최신 데이터를 얻기 위해 동기화됩니다.

  • 제출물에는 네트워크 연결이 있어야 합니다(비로컬 저장소).

  • 제출에 승인이 필요합니다. 쓰기 권한이 없으면 제출이 실패합니다.

  • 제출이 매번 성공하지 못할 수도 있습니다. 다른 사람이 먼저 제출하면 "변경 사항은 오래된 버전을 기반으로 합니다. 먼저 업데이트한 다음 제출하세요"라는 메시지가 표시됩니다.

  • 충돌 해결은 제출 속도 경쟁입니다. , 먼저 제출하면 모든 것이 잘 될 것입니다. 느린 사람은 먼저 제출할 것입니다. 커밋 후 갈등 해결에 문제가 발생할 수 있습니다.

이점: 모든 사람이 프로젝트에 참여하는 다른 사람들이 작업 중인 내용을 어느 정도 볼 수 있습니다. 관리자는 각 개발자의 권한을 쉽게 제어할 수도 있습니다.

단점: 중앙 서버의 단일 실패 지점.

한 시간 동안 다운되면 그 누구도 이 시간 내에 업데이트, 복원, 비교 등을 제출할 수 없으며 함께 작업하는 것도 불가능해집니다. 중앙 서버의 디스크에 장애가 발생하고 백업이 이루어지지 않거나 백업이 적시에 이루어지지 않으면 데이터 손실의 위험이 있습니다. 최악의 시나리오는 클라이언트에서 추출한 일부 스냅샷 데이터를 제외하고 전체 프로젝트의 모든 이력 변경 기록을 완전히 잃어버리는 것인데, 모든 데이터가 추출되었다고 보장할 수 없기 때문에 여전히 문제가 됩니다.

원칙적으로 svn은 파일 내용의 구체적인 차이점에만 관심을 갖습니다. 매번 어떤 파일이 업데이트되었는지, 어떤 줄과 내용이 업데이트되었는지 기록됩니다.

svn과 git의 적용 범위 차이

  • 해당 객체가 다릅니다.

    Git은 오픈 소스 프로젝트에 참여하는 개발자에게 적합합니다. 높은 수준의 전문 지식으로 인해 사용 편의성보다 효율성에 더 중점을 둡니다. SVN은 다릅니다. 일반 회사 개발 팀에 적합합니다. 사용하기가 더 쉽습니다.

  • 사용하는 경우가 다릅니다.

    Git은 인터넷을 통해 여러 개발 역할을 가진 단일 프로젝트를 개발하는 데 적합하고, SVN은 프로젝트 관리자가 조정하는 기업 내 여러 병렬 프로젝트 개발에 적합합니다.

  • 권한 관리 전략이 다릅니다.

    Git에는 엄격한 권한 관리 제어가 없습니다. 계정이 있는 한 코드 내보내기, 가져오기 및 롤백 작업 수행도 가능합니다. SVN은 엄격한 권한 관리를 갖추고 있으며, 그룹 또는 개인별로 특정 하위 디렉터리에 대한 권한을 제어할 수 있습니다. 읽기 권한과 쓰기 권한을 구별합니다. 보다 엄밀하게 말하면 롤백 작업은 지원되지 않습니다. 코드가 항상 추적 가능한지 확인하세요.

  • 지점의 사용 범위가 다릅니다.

    Git에서는 전체 Warehouse만 Branch할 수 있으며, 한번 삭제하면 복원할 수 없습니다. SVN에서 분기는 기본적으로 복사 작업인 모든 하위 디렉터리를 대상으로 할 수 있습니다. 따라서 계층적 분기를 많이 생성하고, 필요하지 않을 때는 삭제하고, 나중에 필요할 때 이전 SVN 버전을 확인하면 됩니다.

  • 세 번째 점에 따르면 Git은 순수 소프트웨어 프로젝트, 일반적으로 Linux 커널, 비지박스 등과 같은 일부 오픈 소스 프로젝트에 적합합니다. 반대로 SVN은 다중 프로젝트 관리에 능숙합니다.

    예를 들어 휴대폰 프로젝트의 bsp/디자인 문서/파일 시스템/응용 프로그램/자동 컴파일 스크립트를 SVN 창고에 저장하거나, 휴대폰 프로젝트 5개의 파일 시스템을 SVN에 저장할 수 있습니다. n(프로젝트 수)*m(컴포넌트 수) 리포지토리를 git에 설정해야 합니다. SVN에서는 최대 n 또는 m만 필요합니다.

  • Git은 버전 번호로 128비트 ID를 사용하며 체크아웃할 때 어느 브랜치인지 표시해야 하지만 SVN은 전 세계적으로 고유한 버전 번호로 증분하는 일련 번호를 사용하므로 더 간결하고 이해하기 쉽습니다. . gittag를 사용하여 일부 리터럴 별칭을 만들 수 있지만 이는 결국 특수 버전에만 해당됩니다.

  • 추적 가능성

    git의 일반적인 개발 프로세스는 브랜치 설정, 개발, 로컬 마스터에 제출 및 브랜치 삭제입니다. 그 결과 이전 수정 세부정보가 손실됩니다.

    SVN에서도 세부 정보를 잃지 않고 동일한 작업을 수행하세요.

  • 부분 업데이트, 부분 복원.

    SVN은 관리를 위해 각 폴더에 .svn 폴더를 생성하므로 부분 업데이트나 복원을 쉽게 구현할 수 있습니다. 특정 부분만 업데이트하고 싶다면 svn이 아주 잘 할 수 있습니다. 동시에 코드를 잘못 작성하면 부분복원이 쉽게 이루어질 수 있다. 물론, git은 히스토리 버전을 통해서도 복원이 가능하지만, 부분복원은 쉽지 않다.

추천 학습: "Git Tutorial"

위 내용은 git과 svn이란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

H5 프로젝트를 실행하는 방법 H5 프로젝트를 실행하는 방법 Apr 06, 2025 pm 12:21 PM

H5 프로젝트를 실행하려면 다음 단계가 필요합니다. Web Server, Node.js, 개발 도구 등과 같은 필요한 도구 설치. 개발 환경 구축, 프로젝트 폴더 작성, 프로젝트 초기화 및 코드 작성. 개발 서버를 시작하고 명령 줄을 사용하여 명령을 실행하십시오. 브라우저에서 프로젝트를 미리보고 개발 서버 URL을 입력하십시오. 프로젝트 게시, 코드 최적화, 프로젝트 배포 및 웹 서버 구성을 설정하십시오.

부트 스트랩이 수정 된 후 결과를 보는 방법 부트 스트랩이 수정 된 후 결과를 보는 방법 Apr 07, 2025 am 10:03 AM

수정 된 부트 스트랩 결과를보기위한 단계 : Bootstrap 파일이 올바르게 참조되도록 브라우저에서 직접 HTML 파일을 엽니 다. 브라우저 캐시를 지우십시오 (Ctrl Shift R). CDN을 사용하는 경우 개발자 도구에서 CSS를 직접 수정하여 효과를 실시간으로 볼 수 있습니다. 부트 스트랩 소스 코드를 수정 한 경우 로컬 파일을 다운로드하여 교체하거나 Webpack과 같은 빌드 도구를 사용하여 빌드 명령을 다시 실행하십시오.

Vue Pagination 사용 방법 Vue Pagination 사용 방법 Apr 08, 2025 am 06:45 AM

Pagination은 큰 데이터 세트를 작은 페이지로 나누어 성능 및 사용자 경험을 향상시키는 기술입니다. VUE에서 다음 내장 방법을 페이징에 사용할 수 있습니다. 총 페이지 수를 계산하십시오 : TotalPages () Traversal 페이지 번호 : V-For Directive 현재 페이지를 설정하려면 : CurrentPage 현재 페이지 데이터 가져 오기 : currentPagedAta ()

hadidb : 파이썬의 가볍고 수평 확장 가능한 데이터베이스 hadidb : 파이썬의 가볍고 수평 확장 가능한 데이터베이스 Apr 08, 2025 pm 06:12 PM

HADIDB : 가볍고 높은 수준의 확장 가능한 Python 데이터베이스 HadIDB (HADIDB)는 파이썬으로 작성된 경량 데이터베이스이며 확장 수준이 높습니다. PIP 설치를 사용하여 HADIDB 설치 : PIPINSTALLHADIDB 사용자 관리 사용자 만들기 사용자 : createUser () 메소드를 작성하여 새 사용자를 만듭니다. Authentication () 메소드는 사용자의 신원을 인증합니다. Fromhadidb.operationimportuseruser_obj = user ( "admin", "admin") user_obj.

Prometheus MySQL Expler를 사용하여 MySQL 및 MariaDB 액 적을 모니터링하십시오 Prometheus MySQL Expler를 사용하여 MySQL 및 MariaDB 액 적을 모니터링하십시오 Apr 08, 2025 pm 02:42 PM

MySQL 및 MariaDB 데이터베이스의 효과적인 모니터링은 최적의 성능을 유지하고 잠재적 인 병목 현상을 식별하며 전반적인 시스템 신뢰성을 보장하는 데 중요합니다. Prometheus MySQL Expler는 능동적 인 관리 및 문제 해결에 중요한 데이터베이스 메트릭에 대한 자세한 통찰력을 제공하는 강력한 도구입니다.

부트 스트랩의 자바 스크립트 동작을 보는 방법 부트 스트랩의 자바 스크립트 동작을 보는 방법 Apr 07, 2025 am 10:33 AM

Bootstrap의 JavaScript 섹션은 정적 페이지에 활력을주는 대화식 구성 요소를 제공합니다. 오픈 소스 코드를 살펴보면 작동 방식을 이해할 수 있습니다. 이벤트 바인딩은 DOM 작업 및 스타일 변경을 유발합니다. 기본 사용에는 JavaScript 파일의 도입 및 API 사용이 포함되며 고급 사용법은 사용자 정의 이벤트 및 확장 기능이 포함됩니다. 자주 묻는 질문에는 버전 충돌과 CSS 스타일 충돌이 포함되며, 코드를 두 번 확인하여 해결할 수 있습니다. 성능 최적화 팁에는 주문형로드 및 코드 압축이 포함됩니다. 부트 스트랩 자바 스크립트를 마스터하는 핵심은 설계 개념을 이해하고 실제 응용 프로그램을 결합하며 개발자 도구를 사용하여 디버깅 및 탐색하는 것입니다.

git은 github와 동일합니까? git은 github와 동일합니까? Apr 08, 2025 am 12:13 AM

Git과 Github도 같은 것이 아닙니다. GIT는 버전 제어 시스템이며 GitHub는 GIT 기반 코드 호스팅 플랫폼입니다. GIT는 코드 버전을 관리하는 데 사용되며 Github은 온라인 협업 환경을 제공합니다.

부트 스트랩 프레임 워크를 구축하는 방법 부트 스트랩 프레임 워크를 구축하는 방법 Apr 07, 2025 pm 02:54 PM

부트 스트랩 프레임 워크 빌딩 안내서 : 부트 스트랩을 다운로드하여 프로젝트에 연결하십시오. 필요한 요소를 추가하기 위해 HTML 파일을 만듭니다. 부트 스트랩 메쉬 시스템을 사용하여 반응 형 레이아웃을 만듭니다. 버튼 및 양식과 같은 부트 스트랩 구성 요소를 추가하십시오. 부트 스트랩을 사용자 정의할지 여부를 결정하고 필요한 경우 스타일 시트를 컴파일하십시오. 버전 제어 시스템을 사용하여 코드를 추적하십시오.

See all articles