한발 먼저 가본 문과생이 알려주는
데이터 시각화 – Git편

나는 oneybee란 닉네임을 쓰는 문과생이다. 그냥 평범한 4년제에 다니는 경영학도다.

내가 처음 Git hub를 만져 push까지 살짝 과장해 하루가 걸렸다..

글을 읽다보면 알겠지만 정말 쉬운 과정이다.

온종일 구글과 유튜브를 탐색하며 어떻게 Git을 사용하는지 탐구했다. 위 사진과 같은 설명하기 힘든 기분이었다.

굳이 표현하자면 ‘파멸’이라는 단어가 떠오른다.

지금 생각해보면 도대체 어느 부분에서 시간이 걸렸는지 모르겠다.

왜 이리 머리는 아프고 오류는 왜 이렇게 많이 떴던 건지….

서론이 길었다.

데이터 시각화를 위해 React JS를 이용할 계획이다. 나는 작업과정을 게임처럼 세이브 하고 싶기 때문에 (중간에 실패하면 .. 답이 없다.) Git hub를 사용해 진행하겠다.

그러므로 오늘은 Git에 대해 어려움을 겪는 친구들에게 내가 부딪혀 익힌 Git의 기초적인 사항들을 소개해볼까 한다.

Git이란 무엇일까

우선 Git이 뭔지 알아야겠지?

Git은 ‘분산 버전 관리 시스템’이다. Git은 코드가 변경된 기록을 보관하고 있다. 전에 기록된 버전을 확인할 수 있고, 전에 기록된 버전으로 돌아갈 수도 있다.

즉, 따로 백업할 필요가 없다. 매우 쩌는 기능이 아닌가?!

 

Git 설치 링크

제대로 설치됐다면 터미널이나 iTerm에


$ git version

입력하면 버전 정보가 나온다.

주변에 개발자 친구가 있다면 Git hub이라는 단어를 들어봤을 것이다.

Git hub은 잘 관리하면 개발자 자신의 개발 포트폴리오가 되기도 하고, 나처럼 세이브 기능만을 활용하는 저장소 역할을 하기도 한다.

Git hub 홈페이지 링크

Git hub은 위에서 설명한 Git을 지원하는 저장소 서비스다.
돈을 내지 않고 사용하면, 공개된 저장소로 쓸 수 있고 돈을 내고 이용하면 사람들에게 공개하지 않고 저장소를 만들어 사용할 수 있다.

이제 Git hub를 사용해보자 – 저장소 만들기

 

우선 iTerm에서 디렉터리 간 이동 방법을 알아보자. 아, 참고로 나는 iTerm을 이용하지만, 터미널로 해도 상관없다. (Mac OS 기준)


$ cd documents

입력하면 입력한 documents로 이동한다. 다른 디렉토리를 입력하면 해당 디렉터리로 이동한다.
예를 들어, downloads를 입력하면 다운로드 폴더로 이동한다.


$ cd

를 입력하면 자신의 컴퓨터의 root로 이동한다.


$ ls

를 입력한다면 현재있는 곳에서 어떤 디렉터리 들이 있는지 확인할 수 있다.

이 정도면 충분하다.

이제 진짜로 Git hub에 개인 repository를 만들어 자료를 올려보자.
Git hub 회원가입 후에 개인저장소를 만든다. 나는 Git이라는 repository(링크)를 만들었다.

이제 Git hub를 사용해보자 – 저장하기

 

만들고 나면 Git hub에서 친절하게 설명해준다.

repository를 만들고 싶은 디렉터리로 가서

순서대로 iTerm이나 터미널에 입력하면 된다.

 

그래도 어렵다면 나와 같이 따라 해보자.

미리 말하자면 add 👉 commit 👉 push 순서이다. 헷갈리면 안 된다.

iTerm에


$ echo "# <저장소 이름>">> README.md
$ git init

을 입력하면 README.md 파일과 .git이라는 숨겨진 파일이 생성된다.

이제 add를 해보자.


$ add 파일이름

을 입력하면 하나의 파일을 add할 수 있다.

지금은 하나의 파일만 있지만 여러 파일이 있을시,

모든 파일을 add하려면


$ git add --all
$ git add .

둘 중 편한 것을 입력하면 된다.

이제 add가 잘 되었는지 확인이 필요하겠지?


$ git status

를 입력하면 new file이 추가되었다고 한다.

이제 commit을 진행해야 한다.


$ git commit -m ‘이번 버전에 대한 설명’

이렇게 입력하면 완료.

다음은 원격저장소 주소를 등록해보자.

원격 저장소를 등록해주지 않으면 push를 할 수 없다.
즉, 아직은 원격 저장소에 자료를 올릴 수 없다.


$ git remote add origin <서버 주소>

이런 식으로 입력하면 된다.

Git hub에 자신의 서버 주소를 이용한 명령어가 있다.
그대로 복사해서 붙여넣기 하면 편하다.

그 다음은 드디어 push를 한다.


$ git push origin master

를 입력하면 서버에 올라간다.

자 그럼, 자신이 만든 Git hub repository를 새로고침해보면 아까 만든 readme파일이 있다.

커밋을 누르면 아까 내가 적은 ‘first’라는 이름으로 commit했다는 정보가 있다.

앞으로도 commit할 때마다 이런 정보가 쌓여있다. 그리고 그 전 버전과 무엇이 달라졌는지 볼 수 있어서 편하다.

끝이다!

기본적인 세팅은 끝났다. 정말 간단하다!

그런데 문과생이 왜 코딩이냐고?  남들이 다 해서 따라 시작한 것은 아니냐고?

사실은 프로그래머가 되겠다는 거창한 꿈이 아니라 데이터 분석, 시각화에 관심이 생겨 시작하게 되었다.

경영학을 전공하면서 어떤 수업을 들어도 흥미가 생기지 않았다. 학점이 나쁜 것은 이런 이유 때문이라니 핑계를…

어쨌든, 그중에 한번 R을 이용한 데이터 분석 과목을 들은 적이 있는데, 학교 다니면서 재밌다는 생각이 든 적은 처음이였다.

그렇지만 이후 관련 과목은 열리지 않았고, 결국 혼자 탐구하게 되었다.

CF

별도로 내가 자주 사용하는 cheat sheet를 소개하겠다. 물론 이것도 매우 쉽다.

cheat sheet란 자주 쓰는 명령어, 외우기 힘든 필요한 것들을 빠르게 볼 수 있게 정리해 놓은 것을 말한다.

사진을 보면 commit을 3번 진행한 상태다. 그런데 hello를 커밋한 상태로 돌아가려면 어떻게 해야할까?

1. 현재 내가 세이브한 파일들을 보고 싶다면?


$ git log

를 입력해보면 자신이 한 commit 내역들이 화면에 나타난다.

이중에서 돌아가고 싶은 hello의 아이디를 복사해보자.

commit 옆에 있는 긴 숫자와 문자열이 아이디다.

2. 이전 세이브 파일로 돌아가려면?


$ git reset --hard <커밋 아이디>

hello 커밋 상태로 돌아갈 수 있다.

나의 경우 아래와 같이 입력하여 hello를 commit한 상태로 돌아갔다.


EBSui-MacBook-Air:aaa EBS$ git reset --hard 5809420ce3e4c5ea07c78682ffa99fe007edf061
HEAD is now at 5809420 hello

참고로 hard는 돌아간 commit 이후의 모든 내용을 지운다. hello 커밋 이후 만든 모든 자료가 사라지는 것이다.

대신, soft를 입력하면 commit 이후 내용들은 그대로 존재한다. 다만 commit은 hello커밋을 한 상태이다. 즉, world를 commit하기 전 상태이다.
mixed를 입력하면 soft와 비슷하게 내용들은 그대로 남아있지만 add를 진행하지 않은 상태다. 즉, add를 먼저하고 commit을 해야한다.

3. 강제로 저장하겠습니까?

위에서 push한 것과는 조금 다르게


$ git push origin +master

를 입력하면 정상적으로 작동된다.

사진처럼 원격 저장소에도 world 파일과 commit한 흔적도 사라져 있다.
+는 억지로 파일을 덮어씌운다고 볼 수 있다.

그렇기 때문에 원격 저장소에도 흔적이 없는 것이다.

Summary
한발 먼저 가본 문과생이 알려주는, 데이터 시각화 - Git편
Article Name
한발 먼저 가본 문과생이 알려주는, 데이터 시각화 - Git편
Description
데이터 시각화를 위해 문과생이 Git의 기초적인 사용 방법 소개
Author