Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 한번 해블로그

[git] 1. git? 깃? 옷깃? 흘깃? 솔깃? 본문

Git

[git] 1. git? 깃? 옷깃? 흘깃? 솔깃?

hide on bush 2023. 11. 10. 18:13

오늘은 무려 실시간 강의 *^^*
김송아 강사님과 함께 했는데 앞 게시물에서 언급했다시피 전 직장의 QA님과 말투, 목소리가 너무 똑같아서 좀 더 친근했던 기분,,(내적 친밀감)
김송아 강사님의 강의 내용은 바로 Git/Github였다.
진짜 아무것도 모르는 나는  <git>라는 단어를 보여줄 때까지 철자가 뭔지도 몰랐다.
하지만 시작이 반이고, 사람이 칼을 뽑았으면 무라도 베어야 한다고 얼렁뚱땅(?) 강의를 듣게 되었다.
(사실 시작이 반이고, 가만히 있으면 반이라도 간다라는 말을 합치면 시작하고 가만히 있으면 끝난다는게 아닐까,,?ㅎㅎ)

1. VCS의 종류


- 깃을 알기전에 알아야하는 원리이다.

- VCS란 Version Control System, 즉 버전 관리 시스템이다. 흔히 우리가 알고 있는 핸드폰 버전 업데이트같은 이런 버전을 관리하거나 백업/복구, 또는 다른 사람들과 협업하기 위해 만들어진 시스템이다.

  • 로컬식 VCS : 현재 내 컴퓨터 안에서 프로젝트를 관리하며 협업이 불가능
  • 중앙집중식 VCS : 하나의 서버에서 하나의 최종 버전의 프로젝트가 있어서 로컬보다 괜찮아 보이지만 서버가 다운되면 사용 불가
  • 분산식 VCS : 서버에 프로젝트가 업로드되면 이 프로젝트를 작업하려는 모든 사람들이 다운받아 로컬을 통해 수정을 하고 다시 서버에 업로드하여 버전을 관리, 협업에 용이하고 서버가 다운되어도 이미 다운받았기때문에 걱정 없음

2. Git과 Github

- 깃은 로컬에 설치하는 버전관리시스템이며, 깃허브는 서버에 깔린 버전관리시스템이다.
- 따라서, 깃허브에 포르젝트를 업로드하려면 깃이 필요하다!

설명이 매우 장황해보이지만 약간 원리를 이렇게 생각하면 쉽다.
내가 파일을 하나 생성해서 구글 공유 드라이브에 업로드하면 다른 사람들도 볼 수 있고 나도 볼 수 있고 다운받아서 수정까지 가능..!

 

3. 자주 쓰는 명령어

  • init : 버전 관리를 시작(초기화)하는 명령어
    • 쉽게 말하면 git한테 "야 너 이제 이 프로젝트 버전 담당자임!"이라고 선언하는 것
  • add : 버전 관리 할 파일을 지정하는 명령어,
    • 즉 git한테 "야 이 폴더 안에 이 파일 버전 관리 해줘!"라고 선언하는 것
  • commit : 변경 사항을 저장하는 명령어(= 버전을 생성하는 것), add한 파일들만 commit되어 파일이 생성되며 한 번 만든 commit은 삭제할 수 없다. 즉, 수정을 하거나 삭제를 하거나 롤백을 해도 새로운 버전이 생기는 것이지 삭제가 되는 것이 아니다. 
  • push : 이제 commit한 사항들을 git hub라는 서버에 업로드하는 명령어
  • pull : 깃허브에 업데이트 된 내용이 있을 때, 그 내용을 업데이트 하는 명령어
    • 업데이트 버전을 다운 받는다고 생각하면 쉬움~
  • status : 파일에 변경 사항들이 있는지, add 되어있는지 상태를 확인해주는 명령어
  • log : commit 사항들을 보여주는 명령어
  • branch : 현재 있는 브랜치와 다른 브랜치 이름들을 출력하는 명령어
    • 브랜치는 대표적으로 3가지 이유로 사용한다.
      • 1. 기능 추가
      • 2. 핫 픽스(배포된 버그를 급하게 수정 즉, 에러 해결)
      • 3. 다음 버전을 위해 버전 단위로 나눌 때 
  • checkout : 입력한 브랜치로 이동

 

git으로 init, add, commit, push, pull까지 하는 방법만 (아마) 마스터했다.
처음에는 이건 뭐지, 저건 뭐지 하면서 손에 땀이 날 정도로 집중을 했었다.. 다시 한번 혼자서 해보니까 컴퓨터 처음 배우는 어르신들이 이런 기분일까라는 생각이 들었다.(처음 아이디 만들고 어디에 사진을 업로드하고 다른 사람이 업로드한 사진을 다운받는 단계를 배운 느낌,,,?) 

아직,, 개발계의 페이커가 되려면 100년은 남은 것 같다... 이제 주말이니까.. 조금 쉬어도 될까..?