git

소스 관리를 위한 git을 최소한도로만 배워봅시다

6미리 2020. 3. 25. 11:16

어디가서 이따위로 배워왔냐고 욕먹을 만한 단순한 과정이긴 하지만,

먼저 이 글의 용도는 개발자 혼자이고 포트폴리오 용도이고 마스터 권한이 있어서 굳이 브랜치로 나누는등 복잡한 git에 복잡한 작업을 할 필요가 없는 사람들을 위한 것입니다.

 

따라서 현업에선 브랜치, 머지, 풀, 리퀘스트 등등 하여간 필요한 부분은 다른 좋은 강의들이 많으니 그걸 참고해주시기 바랍니다.

 

git은 로컬에 두고 작업해도 됩니다만, 어쨌든 저는 github에 제 포트폴리오를 올리고 싶었습니다.

다만 일부 프로젝트들은 다른 홈페이지들이 있기 때문에 어쨌든 외부로 유출이 되면 안되는 상황이었습니다.

github는 유료결제를 하면 참 아름답습니다만, 저는 돈이 없기도 하고 돈벌이가 아닌 개인 취미생활인데 나중에 무언가 외부에 올릴만 하다면 그때 결제하기로 했습니다.

그러다 찾은 사이트가 gitlab이었습니다.

 

https://about.gitlab.com/

 

The first single application for the entire DevOps lifecycle - GitLab

“From project planning and source code management to CI/CD and monitoring, GitLab is a complete DevOps platform, delivered as a single application. Only GitLab enables Concurrent DevOps to make the software lifecycle 200% faster.”

about.gitlab.com

gitlab을 선택한 이유중 하나는 무제한(unlimited)이었습니다.

Free도 무제한 개인저장공간을 제공

 

Free도 무제한 private(외부 노출 안되는) 프로젝트 생성을 지원한대서 이걸 선택했습니다.

이거 말고도 엄청 많은 사이트들이 지원을 해주니 사용하시면 되겠습니다.

 

먼저 git 프로그램이 없다면 git사이트에서 받아서 설치해주시기 바랍니다.

 

https://git-scm.com/downloads

 

Git - Downloads

Downloads Mac OS X Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools for users looking for a platform-specific

git-scm.com

저는 윈도우를 사용하고 비주얼 스튜디오 코드를 사용중이니까 윈도우용을 다운로드 받았습니다.

 

우 상단 New Project 선택

새로운 프로젝트를 생성합니다.

 

우리집포탈이라고 설명을 넣고 적당히 home이라고 하고 나면 생성이 잘 됩니다.

이 중에 Visibility Level을 꼭 private로 하세요. Public으로 해두면 누구나 볼 수 있습니다.

위에 보면 blank project를 만들었는데, 이렇게 만들고 나면 프로젝트를 푸시하기 위한 기본 설정이 나옵니다.

이 문서가 은근히 도움이 되곤합니다.

저도 이걸 보며 기본적인 설정을 설명드리겠습니다.

 

기본설정

 

프로젝트를 만들고 나면 이렇게 화면이 나옵니다.

저희는 Git global setup 이후에 이미 코드를 몇줄 짜보고 프로그램도 설치해봤으니 Push an existing folder 항목을 사용하여 git 기본 설정을 해봅니다.

 

git config --global user.name "내이름"
git config --global user.email "이메일"

 

이름과 이메일을 넣으면 일단 아무런 반응이 없습니다.

아무 반응이 없다면 잘 된겁니다.

 

VSCode에서는 작업중이던 프로젝트에서 콘솔을 켜면 바로 자신의 디렉토리로 가기 때문에 

cd existing_folder
git init
git remote add origin git@gitlab.com:내아이디/home.git
git add .
git commit -m "Initial commit"
git push -u origin master

cd existing_folder는 생략해도 됩니다.

VSCode는 윈도우 프로그램이지만 기본적인 bash shell을 지원하기 때문에 리눅스의 cd 명령어를 통해 해당 디렉토리로 이동이 가능합니다.

 

그리고 git init을 입력합니다.

 

git init

Initialized empty Git repository in Z:/web/home/.git/ 출력과 함께 완료되었습니다.

git remote add origin git@gitlab.com:joydisk/home.git

나의 gitlab과 연결하는 과정입니다.

git add .

모든 파일을 git으로 관리하겠다는 명령어인데,

이렇게 경고가 나옵니다. 줄 끝이 LF인 파일을 설정한 CRLF로 변경한다는것입니다.

저는 CRLF로 줄바꿈을 사용하기 때문에 이렇게 변경했다고 경고를 보여주는것입니다.

코드의 실행은 크게 상관은 없습니다. (플랫폼이나 OS에 따라 문제가 생길수도 있습니다만, CI는 아닙니다.)

 

git에 올라간 준비가 된 파일들

 

그런데 굳이 모든 파일을 올릴필요 없습니다.

게다가 어떤 파일들(DB접속정보)은 올라가면 안됩니다.

이것을 .gitignore 파일을 수정하여 어떤 파일들이 올라가면 안되는지 결정할 수 있습니다.

.gitignore파일

.gitignore 파일의 위치는 루트에 있습니다.

 

CodeIgniter의 .ignore파일

 

파일에는 CodeIgniter에서 받아온 것이라서 기본적인 설정이 들어있습니다.

로그파일등등 제외하는것이죠.

 

# DB설정 파일
application/config/database.php

제일 아래에 위와 같이 DB설정 파일만 하나 제외하면

 

제외된 모습

 

database.php 파일이 회색으로 변하면서 더이상 git에서 관리를 안하도록 제외된것을 볼 수 있습니다.

 

git탭

git탭이라기보다는 형상관리탭이라고 보는게 더 맞을것 같기도 합니다

저길 선택해보면 이제 어떤걸 커밋하고 관리할건지가 보입니다.

위에 gitlab에서 제공해주는 문서가 있고 그걸 보면서 하면 편하다고 했는데, GUI툴이 있으니 맛만보고 이제 여기서 관리를 해보도록 하겠습니다.

아시겠지만 git관리툴은 gitKraken등 엄청 많은 툴들이 있으니 필요하면 그 중에 다운받아서 사용하셔도 됩니다.

 

소스제어에서 ... 메뉴 선택

소스제어탭에서 메뉴를 선택하고 하단의 [ 모든 변경 내용 스테이징 ] 을 선택합니다.

선택하면

스테이징으로 이동

[ 스테이징된 변경 내용 ]으로 모두 옮겨갑니다.

 

커밋하기

 

커밋에 [ 최초 커밋 ] 이라고 적었습니다. 자유롭게 쓰면 됩니다.

그리고 [ 모두 커밋 ] 을 선택합니다.

 

그렇게 모두 커밋을 완료하고 나면 이제 push할수 있는 상태가 되었습니다.

[ 푸시 ] 를 선택합니다.

푸시 완료

 

그렇게 푸시가 완료 되고 gitlab에 들어와서 페이지를 보면 이렇게 커밋되고 소스를 웹으로 확인 할 수 있습니다.

 

이렇게 기본적인 최초 푸시가 완료되었습니다.

 

 

텔레그램 봇 하나 만들어보겠다고 해서 여기까지 옵니다;;;

어디까지 갈 지 모르겠습니다.

그래도 하나하나 쓰다보면 끝나겠지 싶습니다.