그렇다.
버전은 어떤것을 수정, 개선하여 완성한 것 이다.
또한 이전과 약간씩 다른 변화들을 구분하는 표시다.
자 위의 안좋은 문서집계표 예시를 보자.
저렇게 관리하면 뭐가 문제일까?
당연히 어떤게 진짜 최종 제출용 파일인지로 모른다.
그래서 하나의 파일에서 관리를하자고 해서 나온 버전관리가 이력을 남기는 방법이다.
아래가 바로 그 예시이다.
자 그럼 이런 버전관리를 위한 git의 기본적인 사용법에 대해 알아보자.
개발을 함에 있어서 명령어가 뭔지 잘 모를 땐 단어의 의미를 생각해보는것도 좋은 방법이다.
내가 git으로 관리하고싶은 파일이 있는 디렉토리안에서 git init을 해줘야 한다.
어디 그냥 어문데서 하면 별의별 온갖 파일들이 다 올라갈 수 있다.
자 위처럼 git status를 통해 디렉토리에서 일어나고 있는 상태를 확인해볼 수있는데
Untracked files: myungsung.md
라는 문구는 myungsung.md 파일의 이력이 추적이 안된다는 뜻이다.
즉, myungsung.md 파일을 git 관리대상에 추가해줘야한다.
이렇게 관리대상에 추가해주는 명령어가 바로 아래의 git add 다.
자 위처럼
를 통해 myungsung.md 파일을 관리대상에 추가해주면
git add는 장바구니에 담는것이고 git Commit은 실제로 장바구니에 담긴것을 주문한다고 생각하면 편하다.
자 그렇다면 커핏에 남긴 변경이력들을 확인해보고자할텐데 그럴 떄 사용하는게 아래의 명령어다.
============================================================================================================
현재까지 내가 만든 파일의 이력을 잘 관리하기 위한 git이 무엇인지, 그리고 그 사용법이 무엇인지 알아보았다.
하지만 익히 알다시피 개발은 절대 혼자할 수 없다.
우리는 모두 함께 일해야하고 함께 하나의 파일을 관리해야한다.
다수의 인원이 함께 코드를 관리하기 위해서 이 git을 온라인에서 관리해야할 필요가 있었고
그래서 나타난것이 바로 github이다.
깃헙의 마스코트인 옥토캣이다.
고양이는 그냥 뭐...개발자들이 고양이를 좋아하니까 넣은것같고
핵심은 옥토 즉, 문어이다.
이 문어다리는 그냥 넣은게 아니다.
여러갈래로 뻗어나간다는 의미가 있다.
즉, 이 github이라는 시스템에서 개발자들이 함께 일 할 수 있는 시스템이라는것을 의미한다.
자 그럼 이제 github에 사용하는 명령어들을 아라보자.
"remote는 어떤 새로운곳에 연결을 하겠다" 라는 뜻이다.
여기서 새로운곳이란 원격저장장소를 뜻한다.(현재는 github을 뜻한다.)
그리고 origin은 대명사다.
우리가 작업한 코드를 어디다 올려야하는데 그 주소 URL을 매번 올리기 번거로우니 origin이라는걸 사용해서 그 뒤에 나와있는 주소를 대체하는것이다.
자 이제 원격저장장소를 지정하였고 내가 git으로 관리하고 있는 코드를 그 원격저장소(github)에 올릴것이다.
브랜치는 추후 다시 다루겠지만 내가 관리하는 코드의 수정을 위한 별도공간이라고 생각하면 된다.
맨 처음에 git init을 하면 master 브랜치에 있다.
자 그럼 여기서 git push origin master라는 명령어를 입력해주면
내가 선택한 원격 저장소(origin<-github)의 master 브랜치에 내가 관리하는 코드를 올리게 되는것이다.
짠 이렇게 github에 등록이 되었다.
공동으로 작업한다는것은 내가 업로드하는것만이 전부가 아니라 남이 작성해놓은 코드를 내려받아 작업도 할 수 있어야한다.
남이 작성한 코드를 내려받을 때 사용하는 명령어가 바로 git clone 이다.
위처럼 clone 명령어를 사용하면 github에 있는 파일들을 다운로드 받는다.
브랜치를 만들면 checkout으로 꼭 브랜치 이동해야한다.
아니면 마스터에서 작업하다가 다 조지는수가 있다.
pull은 코드를 가져온다는 의미이다.
근데 clone이랑은 다르다.
clone은 repository에 있는 전부를 가져오는 개념이다.
pull은 특정 브랜치의 코드(특정공간의 코드)를 내 로컬로 가져올 때 사용한다.
사족을 달자면 origin 같은 경우 github과 관련된 작업을 할 때 붙는 명령어다.
git remote 할 때 git remote origin 주소주소URL 이렇게 했꼬
origin은 뒤의 주소주소URL의 대명사로서 의미한다.
merge는 로컬에서 특정 브랜치의 코드와 다른 브랜치의 코드를 합칠 때 사용한다.
commit 메시지도 개발자들끼리의 소통 방법중 하나이다.
commit 메시지만으로도 이 개발자가 무슨 작업을 헀는지 알아야한다.
예를들면 하기 예시와 같다.
그렇다...! 승훈님은 빛이다!