-
[Git blog 만들기] - 1. Git의 필요성과 Git 기본 개념git과 Markdown 2022. 4. 5. 20:40
한동안 git blog 만드는 일에 빠져있어서 포스팅을 못했다.😅 git을 처음 사용해보기 때문에 어려움도 많았지만 구글링을 해보면 git과 관련된 자료가 아-주 아주 아주 x 100 많아서 스스로 정리하면서 개념을 정리해보고자 한다.
Git 왜 필요할까?
처음에 git을 알게 되었을 때는 개발자들만 사용하는 줄 알았다. 하지만 테크니컬 라이터에 관심을 가지게 되고 실제로 모 it 기업에 면접을 보러 갔을 때 'git을 사용해 보셨나요?'라는 질문을 들었고, 나는 사용해보지 못했다고 대답을 했다. 그때부터 '아 테크니컬 라이터도 git을 다뤄보는 게 좋겠구나!'라는 생각이 들었다. 다행히도(?) git을 사용해보지 않았다고 면접에서 떨어지진 않았지만 우대사항에 들어가는 git을 나도 공부해보면 좋지 않을까? 또한 it 기업의 테크니컬 라이터 직무 채용 공고를 보면 거의 대부분의 공고에서 git과 markdown활용 가능하신 분이 적혀있다.
git으로 버전 관리를 하고 문서를 작성할 수도 있기 때문에 git을 공부해보기로 했다. 특히 나는 거의 워드로만 문서를 작성하고 있는데 워드는 버전 관리하는 게 어렵다. 버전 관리라고 해봤자 파일을 복사해서 저장하고 파일명을 바꿔주는 게 전부였다.
그럼 어떻게 공부하면 좋을까 생각하다가 git blog를 만들어 보기로 했다! 토대는 완성이 되었지만 어디 공개할 수준은 아직 부족하기 때문에 git을 공부하고 차근차근 채워나가보려고 한다. git blog를 만드는 방법과 git에 대한 정보는 구글링, 유튜브, 인강 등에서 다양하게 자료를 찾아볼 수 있다. 그중에서도 우선 git의 기본 개념에 대해서 정리해보고 git command를 이해하고 넘어가고자 한다.
Git 사용 시 꼭 알아야 할 용어부터 알고 가자
- Working Direcotry: 내가 작업하고 있는 프로젝트의 디렉토리
- Staging Area: 커밋할 파일에 대한 정보를 저장한다. Staging area에 있는 파일들을 커밋해서 레포지토리에 영구적인 스냅샷으로 저장한다.
- 레포지토리(Repository): 프로젝트 변경사항이 저장되어 있는 .git 폴더를 의미한다. 일종의 커밋 저장소이다
- 커밋(Commit): 하나의 버전으로 남기는 행위를 말한다.
Git 기본 command 정리와 Git 저장소 만들기
jekyll로 git blog를 만들고 github에 업로드하는 과정에서 필요한 기본 커맨드를 정리해보려고 한다. git blog를 만들 때 인강이나 유튜브 등을 보고 따라 하면 문제없이 블로그를 생성할 수 있다. 하지만 정말 생성만 할 수 있기 때문에 git에 대해서 깊이 이해하기는 어려웠다. 이 커맨드를 왜 입력하는지에 대한 정보는 내가 직접 찾아봐야 했다. 그래서 나는 커맨드를 왜 입력하고 어떻게 입력하는지 자세하게 정리해보고자 한다.
1. 비어있는 레포지토리를 생성하기
$git init
2. git을 커밋하기 전에 커밋한 사람이 누구인지 먼저 알려주기
$git config user.name "사용자 이름" $git config user.email "사용자 이메일"
3. 커밋에 반영할 파일을 지정하기
파일을 생성하고 그 파일을 git add 해주지 않으면 Untracked 상태이다. 말 그대로 추적되지 않는 상태이기 때문에 git add를 해주지 않으면 변동사항이 추적되지 않는 상태이다. 변동사항을 추적해주기 위해서 git add를 해준다.
$git add [파일명] //선별적으로 원하는 파일을 커밋에 반영하겠다 라는 의미이다. $git add -A //-A는 All이라는 뜻으로 모든 파일을 커밋에 반영하겠다 라는 의미이다.
git add를 해주면 Tracked 상태가 된다. 이 상태도 말 그대로 변동사항이 추적되고 있는 상태라는 뜻이다. git add를 해주면 바로 레포지토리에 올라가는 것이 아니라 Staging area에 올라오게 된다.
4. 로컬 저장소에 커밋하기
변경 사항을 하나의 버전으로 만들기 위해서 커밋을 해줍니다.
$git commit -m "커밋 메세지 입력하기" //-m은 메세지 남기기 라는 옵션을 의미한다
커밋 메시지를 반드시 작성해야 한다. 참고로 지금은 개인이 사용하기 때문에 커밋 메시지를 내 마음대로 작성했지만 보통의 it회사에는 커밋 메시지 작성 가이드라인이 존재하기 때문에 작성 가이드라인에 따라 커밋 메시지를 작성해준다.
커밋이 잘 완료되었다면 아래 결과 메시지가 나오며 여기서 root-commit은 첫 번째 커밋을 말한다.
$ git commit -m "first commit" [master (root-commit) c513970] first commit 1 file changed, 17 insertions(+) create mode 100644 testfile.py
5. 원격 저장소에 프로젝트 업로드하기
새로운 레포지토리를 만드는 것이기 때문에 아래와 같이 작성해준다.
$git remote add origin [깃 허브 주소]
그런데 잠깐✋ git에서 '이렇게 입력해서 깃 허브에 업로드하세요~'라고는 알려줘서 입력하기는 하지만 왜 이런 형식으로 입력하는 걸까?라는 궁금증이 생겼다.
remote라는 커맨드는 리모트 레포지토리에 관한 작업을 할 때 사용하는 커맨드라고 한다. 여기서 add는 새로운 리모트 레포지토리를 등록하겠다.라는 의미이다.
즉, 해석을 해보자면 리모트 레포지토리에 관한 작업을 할 거고 [깃 허브 주소]를 새로운 리모트 레포지토리로 등록을 할 건데 그 이름을 origin으로 하겠다.라는 의미가 된다. 그래서 이 커맨드를 하고 난 후에 내 깃 허브 주소의 이름은 origin이 되는 것이다.그다음에는 아래와 같이 작성해준다.
$git push -u origin main
✋여기서 push는 로컬 레포지토리(내 PC)의 내용을 리모트 레포지토리(git hub)에 보낸다.라는 의미이다. 로컬 레포지토리의 내용을 처음으로 리모트 레포지토리에 올릴 때 사용한다. main은 깃 허브에서 새 레포지토리를 만들면 이름이 main브랜치가 된다. 즉, main에 있는 내용을 리모트 레포지토리(origin)로 보낸다라는 의미이다.
여기서 -u 옵션을 주면 추후 동일한 원격 저장소와 브랜치에 push를 할 때 git push 커맨드만 입력되도록 해준다. 다음에 동일한 원격 저장소와 브랜치에서 push를 할 때는 git push로만 커맨드를 입력해줘도 된다는 의미이다. 참고로 이전에는 master라는 브랜치 명을 가졌는데 master가 main으로 변경되었다.
6. git hub에 업로드됐는지 확인하기
깃 허브에서 새로고침을 하면 파일이 업로드되는 것을 확인할 수 있다. 이렇게 git hub에 업데이트를 완료했다.
주소창에 내 깃 블로그 주소를 입력하니 블로그도 나왔다! 블로그를 꾸미기 위해서는 갈길이 멀어서 아직 제대로 꾸미고 있지는 못하지만 차근차근 노션에 작성한 포트폴리오를 여기로 옮겨보도록 해야겠다. 직접 깃에 업로드를 해보니 왜 깃을 사용하는지 조금은 알 것 같다.
여기까지 깃 허브에 업로드하기 위한 아주 기본 중에 기본 커맨드를 알아보았다. 깃에는 아주 다양한 커맨드들이 있는데 그중에서 자주 사용되는 커맨드는 다음에 다시 정리해봐야겠다.
참고 사이트 : 아래 사이트에서 git에 대한 거의 모든 것(?)을 알 수 있다.
https://git-scm.com/book/ko/v2/
'git과 Markdown' 카테고리의 다른 글
[Git blog 만들기] - 2. Git에서 자주 쓰이는 커맨드 정리 (0) 2022.04.20