Git 시리즈 "Git 이란 무엇 인가"
Git 은 현재 세계 에서 가장 유행 하 는 분포 식 버 전 관리 시스템 이다.이 안 에는 두 가지 중요 한 개념, 분포 식 과 버 전 관리 가 있다.
버 전 관리 란 무엇 입 니까?
대학 2 학년 에 선생님 께 서 데이터 구조 예산 법 수업 에서 자신 이 프로젝트 를 받 았 다 고 말씀 하 셨 습 니 다. 실제 프로젝트 를 접 하고 미리 연습 하 는 학생 들 은 수업 시간 에 저 에 게 연락 하 셔 도 됩 니 다. 보수 가 있 습 니 다.보수 가 있다 는 말 을 듣 고 모두 앞 다 투어 신청 하 였 는데, 마지막 에 선생님 은 실력 이 괜 찮 은 여섯 명의 학 우 를 뽑 아 자신의 단체 에 가입 하 였 다.
왕 대 선 은 기 술 력 이 뛰 어 나 팀장 으로 뽑 혔 다.수 요 를 분석 하고 ER 그림 을 그 리 며 데이터 베 이 스 를 정 하고 프로젝트 구 조 를 확인한다.앞 뒤 2 주 동안 바쁘게 일 해서 마침내 코드 를 쓸 수 있 게 되 었 다.왕 대 선 은 매우 흥분 하여 마침내 자신의 기 술 력 을 발휘 할 수 있 게 되 었 다.
첫날, 왕 대 선 은 자신의 컴퓨터 에 Maven procject 를 만 들 었 습 니 다. 가방 을 만 들 고 프로필 을 작성 하여 달 릴 수 있 는 지 확인 한 후에 빈 procject 를 나머지 다섯 사람 에 게 보 냈 습 니 다.각자 맡 은 모듈 을 잘 만들어 달라 고 당부 했다.
사흘 뒤 왕 대 선 은 팀 원 들 의 개발 진 도 를 알 고 싶 어 작은 테스트 를 할 때 가 된 것 같 았 다.문 제 는 어떻게 그들의 코드 를 자신의 프로젝트 에 통합 하 느 냐 하 는 것 이다.한 번 보 니 열 다섯 가지 종류 밖 에 안 되 었 다. 그래서 왕 대 선 은 팀 원 들 의 프로젝트 에서 자신의 프로젝트 로 하나씩 복사 했다.실행 하 자마자 jar 패키지 가 부족 한 것 을 발 견 했 습 니 다.로 그 를 보 니 왕 이 작은 권한 모듈 에 의존 하 는 shiro 가방 이 가 져 오지 않 았 습 니 다.그래서 shiro 의 의존 을 자신의 pom 파일 에 넣 었 습 니 다.마침내 뛰 기 시작 해서 모두 한숨 돌 렸 다.응응, 효과 가 괜찮아. 라 고 팀장 이 미 소 를 지 으 며 말 했다.앞으로 나 흘 간 의 임 무 를 인계 하고 모두 포장마차 에 가서 꼬치 를 훑 어 보 았 다.
나 흘 뒤 코드 를 통합 할 때 가 됐다.대 선 은 어 리 석 은 눈 을 보 자마자 100 가지 에 가 까 운 유형 이 많 지 않 았 고 서로 다른 가방 구조 에 분포 되 어 있 었 다. 설마 하나씩 복사 해 야 하 는 것 은 아니 겠 지?다른 방법 이 없 잖 아.아, 그럼 오 세 요.내 가 지옥 에 가지 않 고 누가 지옥 에 가 겠 느 냐 는 태도 로 팀장 은 복제 의 길 을 열 었 다.그런데 그곳 은 단순 한 복사 붙 여 넣 기 일 줄 누가 알 았 겠 는가. 장대 수 와 강 소 백 두 사람 이 맡 은 사용자 관리 모듈 에는 동명 의 파일 이 많이 있 는데 어떻게 두 사람의 코드 를 한 파일 에 넣 을 수 있 겠 는가?또 하나의 복제 길이 구나.왕 대 선 은 조심스럽게 장대 수의 파일 에 강 소 백 코드 를 복 사 했 습 니 다. 위 치 를 잘못 복사 할 까 봐 복사 하고 붙 일 때마다 파일 이름 이 일치 하 는 지 양쪽 에서 확인 하고 중복 복 사 를 하 는 지 확인 해 야 합 니 다.세 시간 이 지나 서 마침내 모든 코드 를 자신의 프로젝트 에 통합 시 켰 다.운 이 좋 았 습 니 다. 프로젝트 가 틀 리 지 않 았 습 니 다. 뛰 기 시 작 했 습 니 다. 효 과 를 보 니 대 선 이 만족 합 니 다.그래서 다음 주 임 무 를 맡 긴 후에 그들 은 또 꼬치 를 훑 으 러 갔다.
일주일 후 팀 원 들 에 게 빽빽 한 서 류 를 보 니 대 선 은 사 는 것 이 죽 는 것 보다 못 하 다 고 느 꼈 다.무려 800 여 개의 종류의 문서 가 있다.그리고 한 사람 만 수정 하 는 것 이 아니 라 여러 파일 이 있 습 니 다.대 선의 기 술 력 이 아무리 강해 도 여기 서 는 어 쩔 수 없 지.하나씩 조심스럽게 복사 해서 붙 여 넣 을 수 밖 에 없어 요.대 선 은 잔업 을 해서 두 밤 을 새 워 서 마침내 모든 서 류 를 다 만 들 었 습 니 다. 이미 이틀 이 지 났 습 니 다.대 선 은 코드 를 쓰 는 것 보다 더 피곤 하 다 고 느 꼈 다.
드디어 팀 원 들 의 코드 를 자신의 프로젝트 에 통합 시 켰 으 니 뛰 어 보 세 요.괜 찮 습 니 다. 중대 한 bug 는 없습니다. 이미 이틀 밤 을 새 운 대 선 은 마침내 집에 가서 푹 쉴 수 있 습 니 다.
하룻밤 을 쉬 었 더 니 대 선 은 기운 이 넘 치 는 것 을 느 꼈 습 니 다. 젊 은 사람 이 라 서 회복 이 빠 릅 니 다.실험실 에 가서 한바탕 크게 일 할 준 비 를 하 다.하늘 이 뜻 대로 되 지 않 아 실험실 에 와 서 컴퓨터 를 켜 보 니 어젯밤 에 제대로 공 사 를 했 는데 오늘 은 열 리 지 않 았 다. 무슨 이유 인지 디스크 안의 공사 총 디 렉 터 리 폴 더 도 열 리 지 않 았 다.그것 은 우리 가 보름 동안 바쁘게 일 한 성과 다.왜 안 열 리 면 안 열 리 지?대 선 은 절망 을 깊이 느 꼈 습 니 다.
다른 사람들의 코드 는 괜 찮 습 니 다. 자신의 컴퓨터 안에 압축 파일 이 있 지만 자신 이 일주일 동안 쓴 코드 는 모두 열 리 지 않 습 니 다. 즉, 지난주 에 자신 이 쓴 코드 를 다시 한 번 써 야 한 다 는 것 입 니 다.대 선 울 음 멀미. jpg.
대 선 보 코드 의 이틀 동안 도 팀 원 들 을 놀 리 지 않 고 먼저 두 사람 을 합병 시 켰 다.합병 이 끝 난 후에 다시 두 번 합병 하면 황 천 은 마음 이 있 는 사람 을 저 버 리 지 않 고 마침내 대 선 이 코드 를 보완 하 는 동시에 팀 원 들 도 코드 를 합병 하면 자신의 코드 를 합병 할 뻔 했다.
지난번 의 경험 을 가지 게 되 었 습 니 다. 이번 에는 대 선 이 똑똑 해 졌 습 니 다. 먼저 자신의 코드 를 복사 하여 my Code. zip 라 고 이름 을 지 었 습 니 다.그리고 코드 를 합 칠 때마다 새 파일 을 백업 합 니 다.하루 후, 대 선 컴퓨터 하 드 디스크 code 폴 더 에는 다음 과 같은 파일 이 있 습 니 다. 무려 20 개가 넘 습 니 다.
myCode.zip allCode_20180320 초고. zip allCode20180320 초고 2. zip... allCode20180320 최종 원고. zip allCode20180320 탈고 2 판. zip allCode20180320 최종 원고. zip allCode최종 버 전
드디어 모든 것 이 갖 춰 져 다시 테스트 할 수 있 게 되 었 다.우리 조, 대 선 은 놀 라 운 소 리 를 지 르 지 않 고 새로운 기능 이 심각 한 bug 가 있 음 을 발견 했다.낡은 기능 을 사용 해 야 한다.그 러 니까 대 선 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신 신더 얄 미 운 것 은 이 버그 팀 원 들 이 자기가 쓴 것 을 인정 하지 않 는 다 는 것 이다.bug 가 생 긴 일부 코드 는 아무 도 자신 이 쓴 것 이 라 고 인정 하지 않 았 기 때문이다.자신 이 코드 를 합 친 긴 길 을 생각해 보 세 요. 대 선 은 울 고 어 지 럽 고 화장실 에 있 습 니 다. gif.
대 선 은 자신 을 괴 롭 히 고 싶 지 않 아 선생님 께 구 조 를 청 했다.선생님 은 대 선의 고민 을 듣 고 놀 라 셨 다."당신들 은 왜 버 전 관리 시스템 을 사용 하지 않 았 습 니까?" 라 고 말 했다.버 전 관리?이것 은 무엇 입 니까?못 들 어 봤 는데.그래서 선생님 은 인내심 을 가지 고 말씀 하 셨 습 니 다. 우선 제 가 먼저 당신 이 만난 문 제 를 정리 해 드 리 겠 습 니 다.
이상 은 버 전 관리 가 해결 해 야 할 문제 입 니 다.따라서 버 전 관 리 는 앞으로 특정 버 전의 수정 상황 을 조회 할 수 있 도록 몇 가지 파일 내용 의 변 화 를 기록 하 는 시스템 으로 소프트웨어 개발 분야 에서 버 전 관리 가 가장 중요 한 일환 이다.
분산 식 은 어떻게 이해 합 니까?
이 분포 식 은 집중 식 과 함께 이해 해 야 한다.
먼저 버 전 라 이브 러 리 의 개념 을 알 아야 합 니 다. 버 전 관리 시스템 은 어떤 파일 의 버 전 을 제어 해 야 하 는 지 어떻게 알 고 있 습 니까? 누가 언제 어떤 파일 의 위 치 를 수 정 했 는 지 어떻게 알 고 있 습 니까?이 정 보 를 기록 해 야 되 는 거 아니 야?그래서 이 폴 더 를 버 전 라 이브 러 리 로 사용 하려 면 버 전 변화 정 보 를 기록 하 는 초기 화 작업 이 필요 합 니 다.Git 의 문법 은 이렇다
git init
.이 명령 을 실행 하면 현재 디 렉 터 리 에 디 렉 터 리 가 하나 더 있 습 니 다 .git
.이 디 렉 터 리 에는 현재 폴 더 에 있 는 모든 파일 의 변경 궤적 이 기록 되 어 있 습 니 다..git
을 삭제 하면 현재 폴 더 는 더 이상 버 전 라 이브 러 리 가 아 닙 니 다.이전 버 전 정보 도 잃 어 버 릴 수 있 습 니 다.버 전 라 이브 러 리 를 창고 로 이해 하고 버 전 관리 시스템 을 창고 관리자 로 이해 할 수 있 습 니 다.창고 관리 자 는 자신의 창고 안에 어떤 재료 가 있 는 지 알 고 있 을 것 이다. 누가 언제 무엇 을 넣 었 는 지 알 고 있 고 누가 언제 어떤 재 료 를 가지 고 나 갔 는 지 알 고 있다.어느 날 창고 관리인 이 아무런 인수 인계 도 하지 않 은 상태 에서 갑자기 이상 하 게 실 종 되 었 다.그러면 이 창고 전에 누가 언제 무엇 을 넣 었 는 지, 또 누가 언제 무엇 을 가지 고 나 갔 는 지 아 는 사람 이 없다.
집중 식 은 버 전 라 이브 러 리 가 중앙 서버 에 놓 여 있다 는 뜻 이다. 우 리 는 일 할 때 중앙 서버 에서 파일 을 자신의 컴퓨터 로 끌 어 올 리 고 수정 이 끝 난 후에 중앙 서버 로 보 내 는 것 이다.
분포 식 이란 모든 사람의 컴퓨터 가 하나의 버 전 라 이브 러 리 라 는 뜻 이다. 이렇게 하면 인터넷 이 필요 없 이 언제든지 버 전 라 이브 러 리 에 파일 을 추가 할 수도 있 고 수정 사항 을 버 전 라 이브 러 리 로 전송 할 수도 있다.그러면 어떻게 합작 을 합 니까? 예 를 들 어 두 사람 이 동시에 파일 A 를 수 정 했 습 니 다. 각자 수정 한 내용 을 상대방 에 게 미 루 면 됩 니 다. '여 기 는 상대방 의 창 고 를 자신의 원 격 창고 에 추가 해 야 합 니 다'.
그러나 실제 사용 할 때 두 사람 사이 의 컴퓨터 에서 버 전 라 이브 러 리 의 수정 을 푸 시 하 는 경 우 는 드 물 었 다. 프로젝트 팀 에 사람 이 많 을 수 있 기 때문에 내 가 변경 해서 수정 정 보 를 다른 모든 사람 에 게 푸 시 할 수 는 없 었 다.그래서 분포 식 버 전 관리 시스템 에 도 중앙 창고 가 있 는데 보통 '원 격 창고' 라 고 부른다.이렇게 하면 로 컬 수정 이 끝 난 후에 로 컬 버 전 라 이브 러 리 에 제출 한 다음 원 격 창고 로 보 냅 니 다.동료 가 원 격 창고 에서 코드 를 자신의 버 전 라 이브 러 리 로 끌 어 오 면 당신 의 수정 내용 을 볼 수 있 습 니 다.
집중 식 은 인터넷 이 필요 하고 중앙 서버 가 다운 되면 진짜 버 전 관리 정 보 를 모두 잃 어 버 릴 수 있 습 니 다.분산 식 은 인터넷 이 필요 없 으 며 원 격 창고 의 서버 가 다운 되 는 것 을 두려워 하지 않 는 다.모든 사람의 컴퓨터 는 완전한 버 전 라 이브 러 리 이기 때문이다.물론 장점 은 이 뿐만 아니 라 강력 한 지점 관리 도 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.