블로그 이전했습니다. https://jeongzero.oopy.io/
git 쉽게 이해하기(1)
본문 바로가기
컴퓨터 관련 과목/기타

git 쉽게 이해하기(1)

728x90

git이란 버전 관리 시스템을 뜻한다.

 

 

 

버전 관리시스템이란??

 

 

 

말그대로 버전을 관리해주는 시스템을 말한다.

 

그럼 버전 관리라는 것은 무엇일까?

 

 

버전관리란 의미있는 변화를 뜻한다고 보면된다.

 

 

만약 내가 피씨방에 가서 롤을 클릭했다고 해보자.

 

                                      

   

 

 

 그럼 가끔 패치를 진행하는 경우가 있다.

 

 

 

관련 이미지

이러한 패치는 기능 개선이라든지, 버그를 수정했다던지, 또한 캐릭터의 사기캐릭터들의 능력을 조절한다던지

 

어떤 고객이 요구하는 사항에 맞게, 우리가 만드는 소프트웨어를 커스터마이징해서 제공하는 것들을 뜻한다.

 

 

 

즉 버전 관리란 이러한 모든 변화들을 관리하는 체계, 소프트웨어, 방법론이라고 한다.

 

 

 

 

물음표 사람에 대한 이미지 검색결과

 

 

만약 버전관리를 해주는 소프트웨어가 만약 없으면 어떻게 될까?

 

 

 

1. 작업할 때 마다 매 복사본을 만들어서 따로 저장한다.

 

2. 작업을 하다가 이전 상태로 돌아가고 갈 일이 생겼다 !

 

3. 다시 복사본을 저장했던 곳으로 들어가서 해당 프로젝트를 실행시키고 다시 시작한다 !

 

 

이렇게 일일이 다 사용자가 직접 해줘야 한다. 매우 귀찮다 

 

 

 

 

본론으로 돌아가서 git을 버전관리를 쉽게 할 수 있다. 쉽게 git을 사용할수 있게 도와주는 소스트리 같은 프로그램이 있지만 오늘은 git 명령어를 통해

 

git을 사용하는 방법을 간단하게 설명하고자 한다.

 

 

 

전체적인 흐름은 우선 깃을 이용할 디렉토리를 설정한 후, 해당 디렉토리 안에서 프로그램 등을 만든다. 

 

그 다음 만든 코드나 프로그램 등을 깃 저장소에 저장을 한다. 예를 들어 1부터 입력한 숫자까지 더하는 프로그램을 만든다고 가정해 보자.

 

덧셈에 대한 기능은 함수로 구현한다.

 

1. 첫째 날은 메인 함수만 만들고 깃 저장소에 추가를 한다. --> 버전 1

 

2. 둘째 날은 sum 함수를 구현하고 깃 저장소에 추가를 한다. --> 버전 2

 

 

위의 과정을 다 진행하고 나서 이번엔 덧셈함수를 대신 뺄셈을 구현하고자 하면 버전1의 파일을 다시 가져와서 2번과정을 거치면 된다.

 

 

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

0. 사용자 정보 입력

명령어 : git config --global user.name "사용자명"

           git config --global user.email "이메일 주소"

 

 

1. 디렉토리 설정 - 초기화

명령어 : git init

깃 테스트를 위한 폴더를 하나 만든다. -> git_test 이름

 

git_test로 들어가서 git init 명령어를 친 후, ls -al를 입력해보면 .git이라는 파일이 생성된 것이 보인다.

 

위 과정은 해당 디렉토리를 깃으로 관리하기 위한 초기화 과정이라고 보면 된다. 

 

 

 

 

2. 파일 생성 & 상태 확인

명령어 : nano sum.c,

          : git status

sum.c 라는 파일을 만든 뒤, git status를 치면 위와 같은 화면이 나온다. 

 

"아직 커밋이 없습니다" 라는 문구를 확인 할 수 있는데 sum.c 라는 파일을 커밋이라는 과정을 거쳐야지만 git 저장소에 저장이 된다. 

 

커밋을 하기 위해서는 git commit "커밋할 파일이름" -m "메시지" 이런 형식을 입력해야하는데 이 전에 하나 해야 할 것이 있다.

 

 

3. 파일 추적

명령어 : git add "파일 이름"

위 과정(?)을 staged file 이라고 하는데 커밋을 하기전에 기존 파일에 대한 변경사항을 검사하는 과정으로 파일의 이력사항을 따로 저장하지 않는다.

 

git add sum.c 라고 치고 다시 git status로 상태를 확인해보면 커밋할 변경 사항으로 새 파일 이라고 나온다. 

 

(만약 sum.c 파일을 수정하고 git status를 다시 치면 빨간색 글씨로 수정된 내용이 표시가 된다.)

 

 

 

4. 커밋하기

명령어 : git commit sum.c -m "first commit"

이렇게 되면 sum.c 이라는 파일을 git 저장소(로컬)에 저장이 완료된다

 

 

 

5. gitignore

버전관리를 하고 싶지 않은 파일은 gitignore안에 명시해 주면 된다.

1) 버전 관리를 하지 않을 test.txt 파일 생성

2) .gitignore 파일을 생성하고 그 안에 test.txt를 명시 

test.txt라는 파일을 만들었지만 .gitignore 안에 명시되었기 때문에 staged에 의해 추적되지 않는다. 즉 커밋을 하지 않는다. 단지 .gitignore 이라는 파일을 만든 것 자체만 커밋해주면 된다.

 

 

6. git log

그동한 버전관리한 파일들에 접근하는 방법

명령어 : git log

          : git checkout "해시 값 앞 6자리"

 

sum2.txt 라는 파일을 하나 더 만들고 git 저장소에 커밋을 해보자.

 

그다음 git log 명령을 통해서 버전관리한 파일들을 확인해 보자.

 

방금 커밋한 메시지가 3th commit이고 아까 커밋한 메시지가 first commits이다. 만약 first commits 시의 상태로 돌아가고 싶으면 

 

git checkout abbbff 라고 입력하면 된다.

 

ls 로 파일을 확인해 보면 sum2.txt가 없어지고 예전 상태로 돌아간 것을 볼 수 있다.

 

 

이는 git log에 나오는 해시 값으로 접근하는 것이지만 굉장히 불편하다. 매번 해시값을 확인해야 하고 숫자를 입력해야 하기 때문이다. 따라서 위와 같은 방법은 잘 사용하지 않고 브랜치라는 개념을 사용한다.

 

다음 포스팅에 이에서 설명하겠다.

 

그럼 20000

728x90

'컴퓨터 관련 과목 > 기타' 카테고리의 다른 글

git 쉽게 이해하기(2)  (0) 2019.07.07