Git이란 ?

yeji kang·2020년 7월 6일
0

git,github

목록 보기
1/5
post-thumbnail

Git

Git : 코드 버전 관리 프로그램

버전관리 ?

발표 자료를 준비하다 보면 발표자료1 , 발표자료_2 , 발표자료최종
이렇게 여러 파일을 만들게 됩니다.

만약 하나의 발표자료 파일로 변경 또 저장 변경 또 저장했다면 어떤 것이 수정이 되었는지 알 수 없겠죠?

무엇이 변했는지 알고 싶거나, 혹은 이전 버전으로 돌아가고싶을 때는?

이때 버전관리를 하는 것입니다.

  • 버전관리를 한다면?
    1. 지난 과정 확인 가능
    2. 이전 버전으로 돌아갈 수 있음

👌 정리하기
git : 버전관리 + 동시 협업

GitHub

git으로 관리하는 프로젝트를 올려 둘 수 있는 사이트. 원격저장소를 제공합니다~

git , github 차이점??

  • git : 버전관리를 하는 프로그램! 버전 관리를 할 때 사용하는 소프트웨어 자체
  • github : Git으로 관리하는 프로젝트의 복사본을 저장하는 서버를 제공해주고 협업을 위한 편의 기능을 제공해주는 서비스

repository와 commit

git으로 프로젝트 버전을 관리하기 시작하면
원하는 시점마다 그 디렉토리안에 무엇이 있고 어떤 것이 변해가는지 알 수 있습니다.
이런 것들을 기록하는 곳을 레포지토리 라고 합니다.
초창기 모습부터 최근모습까지 모든 것이 담겨있겠죠,
프로젝트 디렉토리 안에 .git 디렉토리(숨겨진 디렉토리)가 생기는데 이것이 레포지토리입니다.

레포지토리 안에는?

  1. 버전별 프로젝트 모습
  2. 버전별 변경 사항에 대한 설명

프로젝트 디렉토리 vs 레포지토리

  • 프로젝트 디렉토리 : 프로젝트에 필요한 디렉토리나 파일들의 모임
  • 레포지토리 : 그 프로젝트 디렉토리 안에 생성된다.(.git 디렉토리 (숨겨진 디렉토리))
    버전별 프로젝트 모습과 변경 사항에대한 메시지가 저장되어있다.

프로젝트 디렉토리의 모습을 남기는 것(ex) ver1,ver2) 을 commit 이라고합니다.

커밋(commit) : 프로젝트 디렉토리의 특정 모습을 하나의 버전으로 남기는 행위 & 결과물
레포지토리(repository) : 커밋이 저장되는 곳

repository만들기

1. 프로젝트 디렉토리 만들기

프로젝트를 저장하기 위해 디렉토리를 만듭니다. 이 때 이 것을 프로젝트 디렉토리라고 표현합니다.

  • 프로젝트에 필요한 것들을 여기에 저장합니다!(디렉토리,필요한 파일들)

  • 만드는 방법

    mkdir (파일명)
    ex) mkdir mathTool

  • 원하는 위치에서 '프로젝트 디렉토리'를 만들어 줍니다.
    ls를 입력하고 잘 생성되었는지 확인해줍니다.

2. 레포지토리 추가하기

이 프로젝트 디렉토리를 git으로 버전관리를 하기 위해선 어떻게 해야할까요??

이어서 명령어를 작성해봅시다.

설정하기!

git init

git + command 에 따라 하게되는 동작이 다릅니다.
git으로 어떤 행동을 할 때마다 앞에 git을 붙여줘야합니다.

-> 비어있는 레포지토리를 생성했다는 뜻입니다.
(즉 프로젝트 디렉토리의 각 버전이 담기는 저장소를 만들었다는 뜻.)

repository(저장소)가 생겼기때문에 버전관리를 할 수 있는데요
어떤 변화가 생겼을까요?

.git파일이 생겼습니다!

.git 파일안에는 어떤 것들이 있을까요?

자식디렉토리와 파일들을 볼 수 있습니다.-> git은 프로젝트 버전관리를 위해 자신만의 규칙을 가지고 복잡한 작업을 처리합니다. 그 작업을 하기위해 사용되는 것입니다.

3. 파일 생성

  • 파일을 생성합니다. cal.js 와 License 파일을 생성하고 프로젝트 디렉토리인 MathTool에 저장합니다.

4. add , commit

파일을 생성하고 저장했으니 commit 을 해볼까요?

commit에 필요한것
1. 이름 2. 이메일 3. 커밋 메시지( 커밋에 대한 정보)

user name 지정하기

git config user.name "yejikang"

  • git에게 commit한 사람 알려주기
    ( 협업할 때 꼭 필요!)

  • configure (설정하다,구성하다)란 뜻

user email 지정하기

git config user.email "이메일주소@google.com"

커밋 메시지(커밋에 대한 정보)

git commit -m "Create file cal,Licence"

한번 작성해봅시다!

  • ls -al 를 통해 mathTool 파일에 추가된 파일들을 확인해봅시다. 'License' 와
    'cal.js' 파일이 잘 추가되었습니다.
    그럼 name 이랑 email 그리고 커밋 메시지를 작성해봅시다.

하지만 아래와 같은 글이 출력됩니다!

nothing added to commit but untracked files present

  • untracked = > 깃에 의해 아직 추적되지 않고 있다.-> 즉 버전 관리의 대상이 아니다.
  • 파일에는 추가되었지만 git은 이 사실을 모르는거죠!

해결방법은??

' 이 파일들 commit 할거다!' 라고 설정해줘야합니다!

  • 커밋을 하기 전 커밋할 파일을 미리 지정해줘야 합니다.
    (-> 수정된 파일의 모습이 커밋에 포함될 것이라 지정하는것!)
  • git + add + 파일의 이름

git add cal.js
git add license
or
git add . (모든 파일 한번에 add)

다시 작성해볼까요?

아까와 다른 메시지가 출력됩니다. 한 줄씩 살펴보면

  • root-commit : 첫 번째 커밋이라는 뜻입니다.

  • 2 files changed, 8 insertions(+) : 2개의 파일이 변경되었다, 8줄이 추가되었다.

    주의 사항

    1. 처음으로 커밋을 하기전 사용자의 이름과 이메일주소를 설정
    2. 커밋 메시지 남기기(옵션 -m)
    3. 커밋할 파일을 git add로 지정해주기

0개의 댓글