본문 바로가기

개인개발

[소스관리, Git] 레벨1 - 내 PC에 저장하지 말고 git에 저장하기

Git은 작업물을 저장해주는 시스템입니다. 

작업물은 소스일 수도 있고, 컴파일된 결과 파일일 수도 있고, 문서일 수도 있고, 아무튼 파일이면 다 됩니다.


작업물을 저장해 주는 시스템은 유식한 말로 "형상관리시스템" 이라고도 합니다.

비슷한 시스템은 (고대) Source safe, (과거) SVN, (현재) Git 등이 있습니다.


레벨1에서는 그 정도만 알면 됩니다.

더 상세한 내용은 레벨 2에서 알아보도록 하고요...



왜? 이걸 쓰나?

작업물을 내 PC가 아닌 다른 곳에 저장해야 할까요?



1. 공동작업


2010년대 들어 개발을 혼자하는 경우는 거의 없습니다. 

여럿이서 하나의 소스를 이용해 개발하려면, 모두의 소스가 일치해야 합니다. 

그렇지 않고 나중에 결과를 합치려다 보면.... 합치는 것이 큰 작업이 되어버립니다. 

그러니 각자 조금씩 작업해서 "공동저장소"에 저장하고, 다른 사람의 작업물도 내 pc에 자동으로 가져오는 시스템이 필요해지게 됩니다.


1인개발이라해도, 처음부터 끝까지 혼자서 개발하겠다는 것이 아니고

처음에는 혼자서 개발하다가, 좀 잘 될 것 같으면 다른사람들을 더 투입해서 큰 프로젝트로 만들 가능성을 염두에 두고 개발하는 경우가 많습니다.


처음부터 여러 명이 개발하는 경우라면 당연히 이걸 신경써야겠죠.



2. 내 PC가 바이러스에 걸리거나, 포맷을 하거나, 번개를 맞아도 작업물은 계속 살아있어야 하기 때문


작업물은 항상 안전하게 보관되어야 합니다. 개인 pc는 언제나 문제가 생길 수 있습니다.

그것이 git 같은 저장소에 별도로 보관이 되어있다면, (당연히 개인 pc에도 작업 중인 사본이 있고요)

위험도는 굉장히 낮아질 겁니다.


큰 회사라면 이 git 등의 저장소도 2중 3중으로 백업합니다.





Git 레벨 1 요약:


- bitbucket 을 이용해서 인터넷 상의 git 저장소를 생성할 수 있습니다.  그러면 내 파일을 여기 저장할 수 있습니다.

- 소스트리 프로그램을 이용해서, git 명령을 내릴 수 있습니다.

- Git에서 소스 저장 과정은 3단계 입니다. 


- Add : 어떤 파일을 커밋할지(저장할지) 고릅니다.


- Commit : Add 로 선택한 파일을 내 PC의 로컬 git에 저장합니다.


- Push : 로컬 git의 내용을 인터넷 상의 git에 저장합니다. 이 다음부터는 다른 작업자가 인터넷에서 작업물을 다운로드 받을 수 있습니다.




직접 해보자!


Git은 직접 PC에 세팅해서 쓸 수도 있지만, 인터넷 서비스를 이용할 수도 있습니다.

그 중, 개인개발자들의 빛과 희망, 아틀라시안의 비트버킷을 이용해 봅시다.


https://bitbucket.org/


가입이 완료되었다면, "저장소"를 만들어 봅시다.



1. 왼쪽의 + 버튼을 누릅니다.




2. 두 번째 Repository를 선택합니다. Repository는 "저장소"라는 뜻으로, 보통 하나의 프로젝트를 하나의 Repository에 넣습니다.



3. Repository의 이름을 정해줍니다. 그리고 Create Repository를 선택합니다.




4. 메인화면으로 돌아와 보면, 방금 생성한 Repository가 보입니다. 해당 Repository를 클릭합니다.





5. 화면 가운데에 있는 링크 중, "I'm starting from scratch"를 선택합니다.

그러면, 아래 빨간 사각형 부분에 (https:// 로 시작하는) git repostory의 주소가 나옵니다.

앞으로는 이 주소를 이용해서 이 저장소에 접근할 수 있습니다.





6. 간단하게 git을 이용하려면, 소스트리가 제일입니다. GUI 프로그램중 제일 낫습니다.

중간에 계정을 입력해달라는 말이 나오는데, bitbucket에서 생성한 계정을 이용하면 됩니다.


https://www.sourcetreeapp.com/


그리고, GUI가 아닌 커맨드라인으로 명령을 내리면 굉장히 강력한 기능을 쓸 수 있습니다. 지금은 아니지만, 나중에 쓸 것이기 때문에 커맨드라인 툴도 하나 다운로드 받아 놓습니다.


https://git-scm.com/downloads




7. 소스트리가 모두 인스톨되었다면, bitbucket에서 생성한 주소를 로컬 폴더 하나와 연동해야 합니다.

소스트리 메뉴 중 Clone을 선택하고, 5번과정에서 얻은 주소를 입력합니다. 그리고 해당 주소와 연동할 폴더를 선택합니다.




8. 이제 git 저장소로 업로드 해보겠습니다.

연동되어 있는 폴더를 열고, 아무 파일이나 하나 생성해 봅니다.




9. Add: 소스트리 프로그램에 들어가 보면, 방금 생성한 파일이 보입니다. "선택내용 스테이지에 올리기" 버튼을 눌러 해당 파일을 스테이지에 올립니다.





10. Commit: git의 저장 단위는 "커밋"입니다. 각각의 커밋은 고유번호를 가지고 있고, "변경내용"정보를 가지고 있습니다.


아무튼, 스테이지에 올라간 파일을 이용해서 커밋을 생성할 수 있습니다. 아래쪽에 코멘트를 적고, 우측하단의 "커밋" 버튼을 누릅니다.






11. 커밋이 완료되면 "내 PC"에 있는 git에 해당 작업내용이 저장됩니다.

즉, 인터넷이 끊겨도 여기까지는 작업할 수 있습니다.


좌측, "브랜치" 메뉴에서 "마스터"를 선택하면 방금 커밋한 내용이 화면에 출력됩니다.




12. Push: 작업한 내용이 인터넷으로 저장되어야 의미가 있겠죠?

상단의 "Push"를 누릅니다. 

푸시는 내 로컬 git에서 작업한 내용을 인터넷 상에 지정된 git으로 업로드 하겠다는 의미입니다.






Push를 누르고 나면 해당 내용이 인터넷의 git에 저장됩니다.




정리하면,


- bitbucket 을 이용해서 인터넷 상의 git 저장소를 생성합니다.

- 소스트리 프로그램을 이용해서, git 명령을 내릴 수 있습니다.

- 소스 저장 과정은 3단계 입니다. 


- Add : 스테이징에 올립니다. 어떤 파일을 커밋할지 고르는 단계입니다. (즉 모든 수정사항을 반드시 저장해야 하는 것이 아니라, 특정 파일만 저장할 수 있습니다)


- Commit : 내 PC의 로컬 git에 저장합니다. Git의 가장 특징적인 구조인, 로컬 저장입니다. 이 기능만 이용해서 인터넷에 저장하지 않고 작업물을 백업할 수 있습니다.


- Push : 로컬 git의 내용을 인터넷 상의 git에 저장합니다. 이 다음부터는 다른 작업자가 인터넷에서 작업물을 다운로드 받을 수 있습니다.




다음 단계에서는,


Git을 왜 써야 하는지 좀 더 알아보겠습니다.

여러 사람이 작업할 때 어떤 문제가 발생할 수 있고, Git을 이용하면 그것을 어떻게 해결할 수 있는지 알아봅시다.