#1 Git을 이용한 버전 관리

JIY00N·2023년 1월 26일
0

Git

목록 보기
1/5
post-thumbnail

2023.01.26

0. 시작하기전

블로그 플랫폼을 처음에 골랐을 때는 Github pages로 블로그를 만들려고 시도해봤으나
처음 블로그를 만들어보는 나로서는 다소 어려움이 있었다.
어려움을 느끼면 블로그에 글도 안 쓸 것 같아서 벨로그로 바로 옮겼다.
Github 블로그를 만들려고 시도하면서 Git을 사용하였다.
Github는 사용할 줄 알아도 Git에 대해서는 아직 익숙하지 않았던 터라 이번 계기를 통해 Git을 공부하게 되었다.
본 내용은 '생활코딩' 유튜브로 공부를 진행했다.

1. Github & Git

먼저 Github와 Git을 간단히 알아보자

📌Github
✔ 클라우드 방식으로 관리되는 버전 관리 시스템(Version Control System)이다.
✔ 버전관리, 소스 코드 공유, 분산 버전 제어 등 제공한다.
✔ 서로 다른 위치에 있는 여러 사용자가 작업 가능하다.

📌Git
✔ 로컬에서 관리되는 버전 관리 시스템이다.
✔ 소스코드 수정 및 관리에 이용한다.
✔ 다른 사용자와 실시간으로 작업 불가능하다.

다른 특징들도 많지만, 이 정도만 알아보고 넘어가도록 하자

2. Git이란

버전 관리 시스템(Version Control System) 종류에는 CVS, SVN, GIT이 있다.
Git = Version Control System 버전관리시스템으로 Backup, Recovery, Collaboration이 가능하다.
Git은 어렵고 복잡하다.
그런데 왜 어려운데 사용하는가? 복잡한 코드를 Git에 도입하면 프로젝트 복잡성이 낮아진다.
따라서 개발자라면 Git을 알아야 한다.

3. Git을 이용한 버전 관리

버전관리를 하려고 하는 디렉터리로 이동한 후 진행

git init - 현재 디렉터리를 버전관리한다.
.git - 버전관리를 할 때 생성된 모든 정보가 저장되는 디렉터리이다.

vim aa.txt - vim 프로그램으로 aa.txt파일을 편집한다. (i=입력모드, :wq=write, quit)
cat aa.txt - aa.txt에 저장된 내용보기

git status - 저장소의 상태를 알려준다.
git add aa.txt - Git에게 aa.txt파일을 버전 관리하라고 알려준다.
❓ 이 기능이 필요한 이유 - 프로젝트에는 핵심적인 파일과 임시적인 파일이 존재한다.
임시적인 파일은 버전 관리를 할 필요가 없다.
따라서 관리해야 하는 파일이 무엇인가를 명확하게 알려주기 위해 존재한다.

처음 git을 사용하면 자신이 만든 것을 다른 사람에게 알려주기 위해서 다음과 같이 진행한다.
git config --global user.name 홍길동 / git config --global user.email 홍길동@gmail.com

git commit - 현재 버전의 메세지를 작성(메시지는 변화가 어떤 변화를 담고 있는지, 왜 변경되었는지 작성, vim과 작성 방법이 동일)
git add aa.txt - 파일이 수정되서 버전을 만들기 전에도 사용, add를 한 파일만 commit 대기상태->stage area
git stage area - commit 대기인 파일들이 있다.
repository - commit이 된 파일들이 저장되는 곳

cp aa.txt bb.txt - aa.txt파일과 동일한 bb.txt파일을 copy한다.

git log - 지금까지의 역사를 확인한다. (q:종료)
git log -p - 각각의 commit 사이의 source들의 차이점을 보여준다.
git diff commit메세지1..commit메세지2 - commit1,2의 source상의 차이점을 보여준다.
git diff - commit 하기 전 자신의 작업한 내용이 문제가 있는지 없는지 마지막으로 review 할 수 있는 기회를 제공한다.

reset vs revert - 다음에 필요시 공부하자
git reset commit 메시지 1 --hard - commit 메시지 1 이후는 삭제, 공유하기 전에서만 가능
git revert

4. Github에 git을 사용하여 코드 올리기

1. 업로드할 소스코드가 있는 디렉토리로 이동
cd /
2. git repository 생성
git init
git status - 상태 확인
git add . - 하위 디렉토리에 있는 모든 변경 파일을 local repository에 추가
3. commit
git commit -m "메세지"
4. repository 연결
git remote add origin https://github.com/사용자/100th
5. push
git push origin main - commit한 내용을 연결된 repository에 업로드

5. To be continued..

기본적인 Git의 개념과 버전 관리를 시작하는 방법을 공부했다.
공부해보니 생각보다 흥미롭긴 했지만 한 번에 왕창 공부하는 것보다는 필요시에 다시 공부해야겠다.
p.s 오늘 배운 내용으로 백준 100th 코드를 git을 이용해 github에 올리려다 보니 빠른 시일 내에 Git을 더 공부해야 할 것 같다..

다음 포스트 Git-2 https://velog.io/@jiyoon2/Git-2

profile
블로그 이전 했습니다. https://yoon-log.vercel.app/

0개의 댓글