본문 바로가기

웹 개발자/Git

[Git] Git을 이제 막 사용하는 사람을 위한 Cheat Sheet (github에 코드 올리기)

반응형


Cheat Sheet 이므로 Git에 대한 개념

기본적인 사용법은 따로 정리하진 않습니다.


관련 내용은 제 블로그에 웹 개발자 기본 커리큘럼 정리 라는 글에서 적어둔 git - 간편 안내서 - 어렵지 않아요

를 한번 읽으시고 이 글을 보시면 조금 더 도움이 되리라 생각되네요.


Git 이라는 걸 접하고 사용 한건... 1년 가까이 되는데 특히 처음에 프로젝트를 생성하고 Github Repository에 추가 하는 것에서 삽질을 정말 많이 했다.

Clone을 하는건지 Git init을 하는건지.. 그냥 작업중인 프로젝트를 추가하면 폴더가 비어있지 않다고 나오고.. 정말 혼동이 많이 왔었다.

심지어 작업중인 프로젝트를 날린적도 있다. (뭐 초짜때라 그렇게 많이 작업한건 아니었지만 -_-;)


글에서 적고 싶은 것은 아래 상황에서 유용하다.


  • Git 을 이제 알았고 대략적인 사용법을 알고 있으나 뭘 해야 할지 막막함
  • 앞으로도 쭉 쓸 것이다. (?)
  • IDE에 종속 되지 않은 툴을 쓸 생각이다. (이클립스 eGit, 그외에 IDE에서 지원하는 Git 기능을 적극적으로 쓰지 않는 다는 가정)
  • 이미 작업 해둔 프로젝트 혹은 코드가 있고. 이걸 Github, Gitlab 같은 서버의 Repository로 올릴 생각이다.

뭐가 많은데 결론은 Git 처음 하고. Github에 만들어둔 코드를 올리려고 하는데 참조할 가이드가 마땅하지 않을 때를 말한다.
이번 가이드에선 SourceTree를 사용할 것이다.


글의 흐름은 다음의 순서를 따르게 될 것이다.


  1. Git과 SourceTree를 설치 한다.
  2. Github를 가입하고 Repository (이하 repo)를 만들고
  3. 작업한 코드를 repo에 push (업로드) 한다.

A. Git을 사용하기 위한 세팅


Git을 사용하려면 설치를 해야한다. 하단의 사이트에서 설치파일을 설치 한다.
https://git-scm.com/

맥의 경우 터미널을 열어서

$ git --version


을 치면 Git의 설치 여부를 확인할 수 있는데. 설치 되있어 있지 않다면 설치 안내창이 나온다. 빠르고 편리하고 개발자라면 간지나게  편리하게 터미널로 설치해도 된다.
윈도우의 경우 Git이 설치 되있으면 탐색기에서 우클릭을 할때 Git에 대한 메뉴가 나온다. 물론 시작 - 프로그램에도 생김

그리고 유명한 GUI Git 툴 SourceTree 를 설치 하자. 개인적으로 Git을 익히는건 CUI 환경에서 익히고 GUI로 넘어가는 걸 추천 하는데. GUI 툴들은 원래의 Git 명령을 풀어서 쓰거나 이름을 바꿔서 쓰기도 하기 때문이다. 즉 어떤 명령을 내렸을 때 앞으로 어떤 상황이 진행될지 예상이 잘 안될 때가 있기 때문.. (이건 차차 쓰다보면 이해 될날이 올 것이다)

익숙해지면 GUI툴을 쓰지 않는 분들도 제법 있는걸로 안다. (사실 Git도 대부분 사용하는 기능이 정해져 있어서 이기도 하다)

 

B. 사용 할 서비스 사이트를 가입

 Git도 SVN처럼 서버를 구축 할 수 있다. 근데 대부분 귀찮기도 하고.. 작업 중인 소스를 비공개할 이유가 없기도 하고.. 요새는 Github만으로 개발자 이력서가 되기도 하니.. 여튼 개발자에겐 SNS이기도 해서이다.

여튼 긴말 없이 Github를 가입한다. 로그인을 하면 메인 페이지가 나오고 오른쪽 상단에 + 버튼을 눌러준다.

그리고 New Repository를 눌러준다. 적당한 repo 이름을 넣고 다른건 일단 생략하자.


잘 생성 되면 이런 페이지로 넘어온다.

하단에는 커맨드라인 (터미널)에서 git을 사용하는 방법이 기재 되어 있다. 우리는 훌륭한 개발자니 이대로 따라해서 쓰면 된다.  는 아니고 HTTPS에 적힌 주소를 복사한다. 그리고 작업해둔 프로젝트로 이동한다.


자바 프로젝트를 기준으로 하면 src 폴더가 있는 폴더를 말한다. (이클립스 프로젝트와 혼동하지 않기 위해 기재)

다른 언어들도 src 폴더를 가질테니 혼동할 일은 없으리라 보인다. 우리는 작업 해둔 소스코드를 

1. git 프로젝트로 만들고 (init) 2. Git에 Commit 하고 3. Push를 할 것이다. 단어 뜻대로 인데 init은 초기화 하는 것이고. Commit은 반영 하는 것이고. Push는 밀어 내는 것이다. 여기에선 사용하지 않지만 Pull도 있는데 이는 원격 저장소의 변화를 로컬 저장소에 반영한다.

Push가 애매모호 할 수 있는데. 원격저장소 (github repo)에 반영 한다고 생각하면 된다. Git은 인터넷 연결이 되지 않아도 사용 할 수 있다. 그래서 원격 저장소 (Remote repo)라는 용어가 따로 있다. 

거꾸로 로컬 저장소의 의미도 당연히 있다. 즉 우리 프로젝트를 init 하면 Git의 로컬 저장소로 만들어지고 원격 저장소로 보낸다고 생각하면 된다

우리가 작업한 프로젝트를 로컬 저장소로 만들기 위해서는 git init을 하면 된다.


윈도우의 경우 프로젝트 폴더에서 우클릭을 하여 Git Bash를 누르면 되고 ls 명령어 부분 부터 따라오면 된다.

맥의 경우 터미널을 실행하고 프로젝트 폴더를 터미널로 드래그 해서 경로를 변경해주면 된다. 터미널에서 경로 변경 방법은 아래와 같다. 맥의 터미널은 어플리케이션 - 유틸리티 - 터미널 에서 실행해도 되고. Spotlight에서 Terminal 혹은 한글로 '터미널'로 실행해도 된다.

$ cd "변경할 경로 위치"


말로 적으니 이해가 어려울 듯하여 스크린샷을 첨부했다.

터미널을 켜고 cd 를 쳐둔 다음 src에 존재하는 폴더를 터미널로 드래그 해주면 된다. 

제대로 했다면 다음 처럼 경로가 터미널에 입력된다. (프로젝트 경로는 사람마다 다르니.. 유의를..) 

제 프로젝트 폴더명은 renewal인데 제대로 경로가 바뀐다면 앞쪽에 ~ 였던 경로명이 renewal로 바뀝니다.

정말 제대로 바뀌었는지 확인하기 위해 ls 라는 명령어로 현재 경로의 파일들을 확인해봅니다.

src가 포함된 소스코드 경로로 바뀌었습니다. 이제 여기서 git 명령어를 사용 할겁니다. git --version을 쳐보면 git의 버전이 나타나고 설치가 된 것을 확인 할 수 있습니다.

현재 폴더를 git 프로젝트로 초기화하기 위해 git init 명령어를 쳐줍니다.

$ git init


잘 만들어 졌다면 Initialized empty Git repository in ~ 경로명이 나타 납니다. 이걸로 끝입니다.


C. SourceTree에서 프로젝트를 추가하고 사용하기

소스트리를 실행하고 Github 아이디와 작업중인 프로젝트를 추가하고.. github repo에 작업중인 프로젝트를 push 할 겁니다.
말하자면 겁나 긴데.. 그냥 익숙해지세요 (?) 소스트리 실행 화면입니다.

참으로 비루하네요 (?) 오른쪽 상단의 버튼을 누르고 account를 누르고. add를 눌러서 github 계정을 추가해줍니다.

Type은 OAUTH, Protocol은 HTTPS 로 지정하여 connect account를 누르면 github 로그인 창이 나타납니다. 

다시 메인으로 돌아와서 프로젝트 추가는 New - add Existing Local Repo 를 누르고 작업중인 소스코드 폴더를 지정해주면 메인에 작업중인 폴더가 Local 탭에 나타납니다. 더블 클릭해서 들어가면 다음처럼 나옵니다.

각자 작업한 소스가 이렇게 보일겁니다. 개인정보 보통 DB서버에 접속하는 아이디나 패스워드 정보 같은건 코드에서 분리시키고 해당 파일은 ignore 처리를 해주시면 됩니다. 여기선 간단히 github repo에 올리는 것 까지만 알아볼 것이니 개인정보가 포함되어 있다면 잠깐 수정해서 지워주세요.

또 자바의 경우 빌드 할때 생성되는 class파일 그리고 lib폴더의 jar폴더는 제외해야 합니다. 대신 Maven, Gradle 같은 걸 사용해서 빌드할 때 자동으로 다운로드 되겠죠. git에서 이렇게 제외 되야 할 폴더와 확장자, 클래스 파일 같은건 .gitignore 파일을 만들어서 추가하면 됩니다.

http://gitignore.io  에서 사용하는 언어 , IDE, 프레임 워크를 넣어주면 .gitignore 파일을 뽑아줍니다. 이걸 프로젝트 폴더에 같이 넣어주세요.

그럼 commit할 파일만 남고 나머지는 무시됩니다. commit은 ? 표시된 파일을 체크하고 하단의 commit message를 작성하면 됩니다.



Commit 하기전에 원격 저장소를 지정해주어야 합니다. 이대로 Commit을 하면 로컬 저장소에 commit 하는 걸로 끝입니다.  우리는 로컬 저장소에 commit하고 원격 저장소(githuv repo)에도 반영할 것이므로 이 repo를 지정하는 과정입니다. 

원격 저장소 지정은 Repository - Repository Setting 에서 합니다. Remote 탭을 누르고 Add를 눌러줍니다.

여기서 지구 표시를 누르고 아까 만들었던 repo주소를 선택해줍니다. 

제 경우 제가 만든 repo 외에도 Fork 한 repo도 많이 나오지만. 처음 가입하고 repo를 하나만 만들었다면 한개만 나타날겁니다. 그렇게 선택을 하면 모든 값이 자동으로 들어갑니다. 나머지 Remote Name은 적당히 프로젝트 명으로 넣어주세요. 그리고 확인을 누르면 추가가 됩니다.

그리고 commit을 누릅니다. 현재는 협업을 하지도 않았으므로 그냥 Push 를 누릅니다.

Master 브런치에 Push 할 것인지 물어봅니다. 브런치는 협업에 사용 하는 개념인데. 아직은 그런게 없으니 Master 브런치에 체크해주고 OK를 누릅니다.

오류 없이 잘 되었다면 github repo에 반영이 된 것입니다.

좌측 workspace에 History에 commit이 생겼으면 잘 된것이기도 합니다.


이렇게 github repo에 작업한 코드를 올려보았습니다. 끝!


반응형