공통점 : 버전관리 시스템(VSC) -> 변경된 모든 코드를 기억해준다. 여러 버전을 동시에 관리해준다.
나머지는 모두 다르다.
깃 : 로컬 내에서 나의 모든 소스 코드를 관리하는 시스템.
깃허브 : 이를 업로드 하여서 다른 사람고 공유할 수 있는 시스템.
써보다 보니 느낀 점 : 깃은 말 그대로 내가 하고 있는 모든 작업을 지속적으로 관찰하며 기록해주느 느낌. 깃허브는 내가 했던 모든 작업을 인터넷 클라우드 식으로 저장하는 느낌.
실제 html 파일 및 레퍼지토리를 만들어보고 실습하면서 어려운 것이 생기면 찾아보는 식으로 진행했다.
과거로 돌아가는 두 가지 방법
- reset : 시계를 과거로 되돌리는 방식(콕 찝어서 그 사건 이후의 커밋은 모두 삭제), 이미 푸쉬했다면 쓸 수 없음.
- revert : 특정 사건을 없었던 일로 만드는 방식(콕 찝어서 그 사건 커밋만 삭제해서 없던 일로 만듦.), 푸쉬했더라도 콘플릭트가 나는 한이 있어도 수정이 가능.
참고 카툰
<이미 커밋 푸쉬한 파일 수정해서 올리기>
(푸쉬 이후)
git init - git add - git commit - git push..
이 과정을 그대로 따라가면 내가 작업한 첫 작업 내용과 새로 푸쉬한 내용을 모두 깃허브 내에서 확인이 가능하다.
원인 : 깃헙에 생성된 원격 저장소와 로컬에 생성된 저장소 간 공통분모가 없는 상태에서 병합하려는 시도로 인해 발생.
기본적으로 관련 없는 두 저장소를 병합하는 것은 안되도록 설정되어 있음.
해결 : 아래와 같이 git pull 시에 –allow-unrelated-histories 옵션 추가하여 관련 없었던 두 저장소를 병합하도록 허용
git pull origin master --allow-unrelated-histories