Git은 DVCS
svn 문제성(vcs 가장 대표적인 svn)
1.서버 의존성
모든 커밋, 업데이트, 브랜치 생성 및 채그 작업은 서버와의 통신을 필요
2.오프라인 작업 제한
3.브랜치 문제
4.병합과 충돌 관리의 어려움
svn에 중앙서버에 모든 변경 사항이 저장되서, commit 할 때 충돌이 빈번하게 발생
5.테스트의 어려움
공용브랜치에 commit할때, 그사이에 다른 사람의 코드를 받아간다면 오류 발생
git특징
1. 분산형 버전 관리: 오프라인에서도 작업 가능, 중앙 서버 의존 없음
2. 강력한 브랜칭 및 병합
3. 빠른 작업 속도: 로컬에서 대부분 작업 수행
4. 스테이징 영역: 선택적 커밋 가능
5. 데이터 무결성
6. 분산 협업: 여러 리모트 리포지토리와 유연한 협업 가능
local= 내pc
remote = 외부
add 깃의 관리하에 두겠다(깃이 파일의 변경내역 추적)
인텔리제이는 git add를 자동으로 해준다
Git은 모든 작업이 Local 저장소에서 이루어진다
인터넷이 없어도 커밋 가능하고 이련변경, 브랜치 생성 들 모든 작업을 할 수 있음
Git에서 네트워크가 필요한 순간 push, pull, fetch 밖에 없다
commit
단순이 내 로컬 저장소에 작업 이력을 하나 올리는것
push
git flow
가장 효율적으로 쓸 수 있는 가이드라인
긴급한 건 hotfixes로 나간다
Git 용어 변경
gitt switch 말고는 그전에걸 써도 괜찮다
새 프로젝트 만들때
여기에 깃에서 가져온 주소를 넣은다음에 push해야지 배포 가능한다