변경 이력의 통합 내가 가져온 저장소가 최신 버전이 아닌 경우, 즉 pull해왔는데 내가 변경하는 것과 같은 파일을 누군가 이미 push하여 원격 저장소가 업데이트 된 경우에는 내가 push를 하면 거부되어 버린다. 이럴 때 병합(merge)해야 한다. 병합(merge) : 다른 사람의 업데이트 이력을 내 저장소에 갱신하는 것. 병합하지 않은 채 변경 이력을 덮어쓰면 다른 사람이 push한 업데이트 내역이 사라져 버린다. 병합 기능을 이용하면 Git이 현재 브랜치에 알아서 변경 사항을 통합해 준다. 병합(merge, Git에서 변경한 부분을 자동으로 통합해주는 기능)이 되지 않는 경우도 있다. 원격 저장소와 로컬 저장소 양쪽에서 파일의 동일한 부분을 변경한 경우에는 두 변경 내용 중 어떤 것으로 저장할지..
Programming/git
저장소 공유 개인 PC의 로컬 저장소에서 변경된 이력을 원격 저장소에 공유하려면, 로컬 저장소의 변경 이력을 원격 저장소에 업로드해야 한다. 푸시(Push) : 웹 상의 원격 저장소. 변경된 파일을 업로드하는 것(Git에서) push를 실행하면 원격 저장소에 내 변경 이력이 업로드되며, 원격 저장소와 로컬 저장소가 동일 상태가 된다. 클론(Clone) : 원격 저장소를 복제하는 것. 복제란 원격 저장소의 내용을 통째로 다운로드하는 것. 복제한 저장소를 다른 PC에서 로컬 저장소로 사용할 수 있다. 변경 이력도 복제되므로 원래 저장소처럼 이력을 참조하고 커밋할 수 있다. 풀(Pull) : 원격 저장소에서 로컬 저장소로 업데이트(=다운로드?). 원격 저장소에서 최신 변경 이력을 다운로드하여 내 로컬 저장소에..
Git의 기본 버전 관리 시스템 Git(깃) 파일을 편집할 때마다 매번 복사하는 일은 번거롭다. 무작위로 파일 이름을 지은 경우, 어떤 것이 최신 파일인지 알아보기 어렵다. 여러 명이 공유한 파일을 동시에 편집하면 다른 사람의 변경 내용을 지울 위험이 있다. 그렇기 때문에 Git을 사용한다. Git이란? 소스코드를 효과적으로 관리하기 위해 개발된 ‘분산형 버전 관리 시스템’이다. 소스 코드가 변경된 이력을 쉽게 확인할 수 있고 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수 있다. 내가 올리려는 파일과 누군가 편집한 내용이 충동하면 서버에 업로드할 때 경고 메시지가 뜬다. Git 저장소의 장점 중 하나는 파일이 변경 이력 별로 구분되어 저장한다는 것이다. 비슷한 파일이라도 내용이 달라지면..