
프로젝트를 컴퓨터에 저장하기 위해 사용된다.
단순히 그때그때 덮어쓰는 방식으로 저장되는 것이 아니라
저장할 때마다 버전(변경사항)이 나뉘어 저장되고 각각의 버전들로
이동할 수 있어서 파일을 여러개로 나누어 저장하지 않아도 된다.

💡 git 홈페이지: https://git-scm.com
깃으로 버전을 관리한 프로젝트들의 클라우드 기반 원격저장소(호스팅 서비스)로써
github 외에도 여러가지 원격저장소 플렛폼들이 있다.
주된 기능은 저장소와 협업이지만 개발자들의 Social Network(오픈소스 공유,
개발 관련 트렌드 및 이슈 등 동향 파악 가능) 공간이기도 하다.
또한 다른 사람들의 소스코드를 공부할 수도 있는데, 언젠가 우리도
멋진 코드를 올려 많은 사람들에게 도움을 줄 수 있는 인물이 되기를 바란다.👊
💡 github 홈페이지: https://github.com
종합해보자면 수정시마다 새파일 만들면
위에 예시한 어느 디자이너분의 슬픈 예시처럼.. 일단 관리가 어렵다.
무엇이 변경된건지 확인하기 번거롭고 실수로 삭제하기도 쉽다.
하지만 버전관리 프로그램을 이용하면 언제든 특정 버전으로 이동할 수 있고
변경사항 및 변경자 이력을 기록해둘 수 있기 때문에 관리의 편의성이 높다.
또한 그 버전을 삭제하려면 명령어를 통해야 하기 때문에 실수도 줄어든다.
이런 기능과 개념이 이어지는 원격 저장소에서는 하나의 프로젝트를
여럿이 협업할 수 있고, 각각의 개발자가 자신만의 프로젝트
버전들을 개인 컴퓨터에서 관리하면서 차후 개인 버전 프로젝트를 합쳐
중심이 되는 프로젝트에 적용할 수 있다.
전체적인 틀은 git이라는 나의 컴퓨터 내부에서 이루어지는 local 영역에서의 개념과
github라는 원격 저장소에 저장 및 공유하는 remote 영역에서의
개념으로 나눌 수 있다.
큰 분류로 나누고 접근하면 이해하기 조금 더 수월하기 때문에
이번 과정을 통해 각각의 영역에서 어떤 작업을 하는지 확인해보자.
git init
git status
git add 파일이름 or .(directory 내 변경된 파일 모두 선택)Changes to be committed에 git status에서 빨간색으로 표기됐던
git commit -m "변경사항 관련 기록하고싶은 메시지"
esc -> : -> q로 빠져나올 수 있다.) 



git remote add origin repository주소…or push an existing repository from the command line에 있는 명령어들을 가이드대로 따라하면 된다.git remote add origin repository주소.git을 터미널에 입력하면git push -u origin main을 입력하면 git에서 지정했던 내 파일들이🤗 저의 경우 branch세팅 때문에
git branch -M main이라는 내용이 추가로 적혀있는데 저 부분은 없을 수도 있다.
git branch명령어로 현재 터미널에 지정된 브랜치를 확인할 수 있으며
git checkout 사용할브랜치이름으로 터미널에서 브랜치를 변경할 수 있다.
브랜치 생성은git branch 만들고싶은이름으로 생성할 수 있다.



💡 origin이라는 변수에 오른쪽에 있는 해당 repository주소를 저장한 것으로
origin이라는 이름은 변경할 수도 있다.
git은 origin이라는 변수명과 repository URL을 통해 github과 연동시
조작 대상을 식별한다.


아니다..삶은 그렇게 편하게만 흘러가지 않는다.
첫 업로드 후 변경 내용을 git에 저장했다고 github에 자동으로 저장되지 않는다.
변경사항은 다음과 같이 지정하여 재업로드해야한다.
init을 제외한 git 절차 다시 수행하기
변경사항을 저장하고 싶으면 우리는 일단 위에서 알아본 git의 영역중에서
init을 제외한 절차를 반복해야 한다.
번거롭다고 생각된다면 디자이너님들의 노고를 떠올려보자..⚡️
git push origin main
git에서 commit까지 끝냈다면 push를 해주면 된다.
github repository를 확인해보면 변경된 내용, 시간, 메시지를 확인할 수 있다.
끝이다. 별거 없다!!🙋🏻♂️


예전에 약간의 git과 github에 대한 경험은 했었는데
명령어만 따라쳤던 수준이었고 이번에 제대로 정리할 수 있는 기회가 되었다.
그때는 그저 두렵고 힘들기만 했었는데
명령어의 의미를 알고 local과 remot에 대한 정확한 개념을 알게되니
이해와 함께 명령어도 금방 익힐 수 있었고 덕분인지
벨로그를 쓰며 복습하는 과정이 즐거울 수 있었다 호홓~!🎉
그리고 마지막쯤에 아무리 push를 해도 github에 변경사항이
업로드 되지 않아서 낑낑대며 구글숲에서 줒은 열쇠들을 맞춰가던 중에
해답을 찾았고 평소같았으면 그게 끝이었을 것이다.
그런데 문득 나와 똑같은 문제로 고생을 하는 사람들이 많다는 사실이 더
크게 다가왔고 그래서 다음 글에서는 그 부분만 따로 다뤄볼까 한다.
너무 작은 블로그라 상단에 뜰지..누군가에게 도움을 주게 될 수 있을지
미지수지만 일단 그럴 수 있는 것을 찾았다는 것에 기쁘다.
동료들의 멋진 알고리즘 풀이 글을 아직 나는 쓸 수 없지만
나름 나의 행복을 찾은 것 같아 살짝 더 행복한 저녁이다!🌝🌚🌝(오레오..?)
2021.09.18

벨로그 트렌드에 내 글이 보인다...🥲
최상단은 아니지만 스크롤을 조금 내리면 볼 수 있기에 행복하다..
소박한 행복에 미소가 지어진다.
코딩에 입문하고 처음으로 대외적인 성취감을 가져본 것 같다.
저의 부족한 정리를 봐주신 분들께 진심어린 감사를 올려본다..🙇