🌍우리가 GIT을 써야하는 이유?
우리에게 GIT 버전관리 시스템이 필요한 이유

- 김 대리의 버전 관리 시스템의 부재로 인해, 모든 기억력을 동원해 지워졌던 원본 파일처럼 다시 만든다고 야근까지 해가며 완성했으나 왜 이렇게 업무가 느리냐며 핀잔을 듣게됨.
- 이와 같이 원본 파일을 삭제하거나, 파일 버전을 관리하는데 있어서 실수를 범하게 된다면 업무의 비효율성이 심각함
GIT 자동 버전 관리 시스템 시각화

- 아까 전의 김 대리의 파일을 원본을 안전하게 보관하고 업데이트되는 내용을 시스템적으로 관리가 가능 하다면, 팀의 협업의 효율성이 증대됨.
- 최적화를 위해서 폴더 자체를 사용하는 파일만 유지시키고 업데이트를 따로 보관하며 원본 파일을 바로가기 형성으로 파일 시스템과 용량 시스템을 최적화 하는 것이 최선의 방법이지만, 사람이 직접 그 일을 다하기가 너무 어려움. 그걸 GIT이 대신 해준다.
GIT이 OS와 소통하는 구조

- GIT은 윈도우즈, 맥에도 사용가능한 리눅스 기반이기 때문에 앞으로 윈도우즈 POWERSHELL보다는 좀 더 활용도가 높은 Git으로 터미널을 사용하자.
⚠️ 결론
- Git을 사용하면 코드의 이력을 명확히 추적할 수 있다. 다수의 개발자가 동시에 작업할 때 발생하는 충돌을 관리하고 해결할 수 있으며, 어느 시점에도 이전 버전으로 쉽게 되돌아갈 수 있다는 게 장점이다. 버전 관리 시스템은 협업과 코드의 안정성을 보장하는 필수 도구로, 현대 개발 프로세스에서 중추적인 역할을 한다고 볼 수 있다.
🍓 로컬시스템과 Git Hub연결하기
- 오른쪽 위 자신의 이미지 옆에 보면 아래 화살표를 클리하면 아래 내용이 나온다. [New repository]를 선택하자

- 레퍼지토리 이름을 설정하고 PUBLIC설정한다.

- Git Hub와 연결할 수 있는 주소를 받을 수 있다. 복사하면 된다.

- 로컬 시스템에서 아래 내용은 ‘git bash’에 입력한다.
$ git remote add origin https://github.com/chugue/java-lec-study.git //Git hub에서 제공해준 링크, 그대로 복사해서 명령줄에 넣어주면 된다.

- 아무 반응이 없어야 정상이다.
- 원격 연결상태를 확인 해본다.
$ git remote -v // 연결 상태를 확인할 수 있는 코드

- 이렇게 나오면 연결이 잘 되었다는 뜻이다.
- Push기능으로 이제껏 커밋한 내용들을 서버에 형상 업데이트를 해준다.
$ git push origin master // 푸시기능으로 현재 로컬시스템의 상태를 서버에 올려주는 역할을 한다.

- 이렇게 나오면 정상이다. 새로생긴 주소가 보인다.
- Git Hub에 자동으로 로컬시스템이 푸싱되어 새 레퍼지토리가 생겼다..

- 아까 커밋했던 지점도 확인가능하다.

📝 Read Me 파일 만들기
- 레퍼지토리 안에 등록할 READ ME문서를 만드는 작업이다.

- 이 아래부분에 안내문이 출력이 되어 같이 협업하는 분들이 알아보기가 용이 할 것이다.
- 로컬 시스템에 [Study (사용자 디렉토리)] → [New] → [File] 로 들어가서 새 파일을 만들 것이다.

- 새 파일 이름을 설정하라고 하는데, 아래와 같은 이름으로 설정해주면 된다.

- 아래와 같은 창이 뜰 것이다. 이제 안내문을 적으면 된다.
# 자바 스터디 // #을 한번 사용하고 space를 누르면 노션과 마찬가지로 제목1 사이즈의 제목을 만들어낸다. - 변수 (int, double, long, boolean, char) // '-'를 넣고 스페이스바로 띄우면 점 글머리기호로 변하는 걸 확인 할 수 있다. // 마찬가지로 노션에서도 같은 기능으로 사용되고 있다.

- 작업한 내용은 항상 잊지 말고 캡쳐-커밋-푸싱 해야된다. 습관이 되어야한다.
git add . // 변경된 사항을 캡처한다.

git commit -m "commit2" // 커밋을 하되 ""부분에서는 변경된 사항을 설명해주는 게 좋다.

git push origin master // 마지막으로 변경된 내용을 클라우드 시스템에 형상 업데이트를 푸시한다.

- 업데이트된 결과

- 이렇게 아래 Readme칸에 안내문이 동기화 되었다.
- 이 부분에는 어떤 부분이 변경되었는지 다른 개발자들이 알아보기 쉽게 소통하는 것이 중요하다.
Share article