오늘 목표는 '협업을 위한 Git 활용 기초 KDT 실무형AI웹개발자' 강의듣기.
- 1주차. 나를 위한 Git!
기초 Git 사용법을 배워서 내 프로젝트를 위해 Git 을 바로 쓸 수 있어요!
👀 핵심 키워드 : 버전 관리
, commit
, pull
, push
- 2주차. 같이 하기 위한 Git!
협업하기 위한 기초 개념을 배웁니다.
👀 핵심 키워드 : Issue
branch
, merge
- 3주차. 모두의 Git!
기초를 배웠다면 큰 물에서 놀아봐야죠! 1,2 주차에는 Git 을 알기 위해서 배웠다면 3주차에는 Github를 사용한다.
- 내가 더 좋은 코드를 만들고 싶을 때 다른 코드를 어떻게 참고할 수 있는지, 요즘 사람들이 즐겨쓰는 기술은 무엇인지, 내 github 페이지를 잘 관리하면 내가 어떤 작업을 했는지 알려주는 포트폴리오 처럼 사용할 수도 있다고 한다.
< GitHub 주소 >
Git이란?
버젼관리를 위한 도구, 협업관리를 위한 도구.
GitHub?
Git 프로젝트를 원격으로 저장할 수 있고 커뮤니티 기능을 제공함.
Sourcetree?
Git을 편하게 사용하기 위한 도구
- 버전 관리 : 누가, 언제, 현재 프로젝트의 내용이 어떤지 정보를 남긴다는 것
- commit : 현재 프로젝트의 상태를 저장한다. Git 이 이전 commit(이전에 저장한 프로젝트의 상태)를 알고 있으므로 자동으로 어떤 부분이 바뀌었는지 알려준다. 누가, 언제, 어떤 부분을 바꾸었는지 확인해볼 수 있다.
1. 버전관리를 한다는 건 어떤 의미일까?
- 버전관리를 한다는 것은 프로젝트 상태가 변경되는 정보를 알고 있다는 것입니다. Git 은 commit 을 사용해서 버전이 달라지는 것을 관리합니다.
- 컴퓨터에 있는 프로젝트를 Git 이 관리하는 프로젝트로 만들 수 있습니다. 앞으로 Git 으로 관리할꺼야! 하고 설정해주면 됩니다. 이 작업을 git 초기화(git initialize)한다고 표현합니다.
- 현재 프로젝트의 상태를 찰칵 📸 저장하는 것을 commit 이라고 합니다.
2. 작업내역 단위인 commit에는 어떤 정보가 포함되어 있어야 잘 버전관리를 할 수 있을까?
- 누가(author), 언제 commit 했는지의 정보와 프로젝트 변경 내용
- 작업내역이 어떤 것인지 알아볼 수 있게 적는 메시지를 'commit 메시지'라고 합니다.
- commit 에 반영할지 안할지는 파일 단위로 선택할 수 있습니다. commit 에 반영할 파일을 선택하는 것을 add (혹은 staging, 스테이징) 이라고 합니다.
- commit 한 기록은 history 로 볼 수 있습니다.
3. 지금까지 우리가 실습은 어떤 순서로 했었지?
- 지금까지 우리가 한 작업은 'git 초기화하기(initialize) - add(staging) - commit' 입니다.
- git 초기화는 처음에 단 한번만 해 주면 됩니다. 작업 내역을 저장하기 위해서는 add - commit 만 하면 됩니다.
< 원격 repo, 로컬 reop >
- 'Git으로 관리되는 프로젝트'를 Git에서는 repo(리포, repository 리포지토의 약자) 라고 부른다.
- 내 컴퓨터에 저장되어있는 리포지토리를 '로컬 repo'라고 한다. Github처럼 다른 곳에서 접속할 수 있는 공간에 저장되어있는 '원격 repo'라고 한다.
로컬 repo가 원격repo를 연결하는 것을 추적(Traking, 트랙킹/branch tracking) 이라고 한다.
- 로컬 repo 의 commit 들을 원격 repo 에 반영하는 것을 push(푸쉬)이라고 한다. commit들을 밀어넣기!
- 원격 repo 의 commit 들을 로컬 repo 에 반영하는 것을 pull(풀) 이라고 한다. commit들을 땡겨오기!
원격 repo 를 내 컴퓨터에서도 사용할 수 있도록 가져올 수도 있다.일종의 초기 다운로드라고 생각하면 된다.이걸 clone(클론, 복제) 라고 한다.
⭐ 혼자 Git 프로젝트 작업할 때는 pull -> 로컬 repo commit -> push 순서로 하는게 좋다. (충돌을 피하기 위함)
⭐ 원격 repo와 로컬repo에서 같은 파일을 수정하면 Git에서 확인메세지가 오는데 이런 것을 충돌이라고 표현한다.