개발일기

#1 Git에 대하여(git 환경설정, 기본 명령어) 본문

오늘의 공부일기/Git 공부일기

#1 Git에 대하여(git 환경설정, 기본 명령어)

츄98 2023. 3. 14. 22:45

2023. 03.13. 월요일...!

내일배움캠프가 본격적으로 시작이 되었습니다!

첫 수업으로 Git에 대해서 배웠습니다.

그 내용을 정리해보도록 하겠습니다!

 

Git  vs  GitHub

Git 과 GitHub.. 

저도 처음엔 이름이 비슷하니까 같은 건가 했는데.. 다른 것입니다.

 

Git  : 버전을 관리하는 프로그램

GitHub: 원격 저장소 호스팅 서비스

 

원격 저장소 호스팅 서비스란, 인터넷 상에서 깃으로 관리한 프로젝트를 관리해주는 서비스를 말합니다.

그렇다면 깃은 왜 필요할까요? 깃이 없으면 왜 안될까?

깃이 없으면

  • 변경 내역 확인이 어렵다.
  • 작업내역을 되돌리기 어렵다.
  • 협력하기 어렵다.

즉, 깃의 역할은?

  • 변경 내역들을 기억하며
  • 필요하다면 작업을 되돌리며
  • 여러 명의 코드를 쉽게 나누고 합치며
  • 개발하는 것!
더보기

(이건 참고사항)

프로그램 개발은 유의미한 변화를 쌓아 프로그램을 만드는 것이고, 유의미한 변화는 버전을 의미합니다.

버전은 커밋이라고도 합니다.

깃이 관리하는 세 개의 공간?

  • 작업 디렉터리 : 버전 관리의 대상이 위치하는 공간
  • 스테이지 : 다음 버전이 될 후보가 올라가는 공간
  • 저장소 : 버전이 만들어지고 관리되는 공간

add: 작업 디렉터리에 있는 대상을 스테이지로 이동 /  commit: 스테이지에 있는 대상을 저장소로 이동 / 여기서의 저장소는 로컬 저장소!

 

 

하나의 버전이 만들어지는 과정?

  • 작업 디렉터리 내에서 변경 사항 생성
  • 스테이지로 add
  • 저장소로 commit 

 

Git Bash 시작하기

  • 실행하고자 하는 폴더에서 마우스 오른쪽 누르고, git bash에서 열기
  • git config --global user.name "이름"
  • git config --global user.email "이메일"
  • 위 두 가지 입력하기
  • git init : 로컬저장소 만들기

git 사용 준비 끝..!

 

GitHub와 연동하기  - SSH(안전하게 통신을 주고받을 수 있는 방법)

  • ssh-keygen : 공개키와 개인키 생성하는 명령어
  • identification 은 개인키, public key는 공개키이다. 
  • 개인키, 공개키가 저장되어있는 경로가 나오고, 이걸 github에 전달해주면 된다..!
  • cat <공개키 경로>
  • 출력된 공개키를 깃허브에 전달해주면 된다~
  • 내 계정에서 settings 클릭 -> SSH and GPG keys 클릭 -> new SSH key -> 공개키 복사 붙여넣기

 

Git 명령어를 배워봅시다!

pwd  => 현재 경로를 출력하는 명령어
ls  => 현재 디렉터리(폴더)에 존재하는 파일 및 디렉터리(폴더)를 보여라
ls -al  => 현재 디렉터리(폴더)에 존재하는, 숨김 파일 및 디렉터리(폴더)까지도 모두 리스트 형태로 보여라
(띄어쓰기 주의하기~)
clear  => 명령어 창을 꺠끗하게 비워라
cd < 디렉터리 이름>  => <디렉터리 이름>으로 이동하라
cd ..  => <디렉터리 이름>에서 상위 디렉터리로 이동하라
mkdir <디렉터리 이름>  =>  <디렉터리 이름>의 비어있는 디렉터리(폴더)를 만들어라
touch <파일명>  => <파일명>을 가진 비어있는 파일을 만들어라
rm <파일명>  => <파일명>을 가진 (폴더가 아닌) 파일을 지워라
cat <파일명>  => <파일명>에 적힌 내용을 보여줘라
git log  => 커밋 기록 보기 (q를 누르면 바로 나갈 수 있다.)
git log --oneline  => 로그를 한 줄 약식으로 보여줌
git status  => 작업 디렉터리 상태 확인하기
git clone <원격저장소 SSH url>  =>  원격 저장소를 내 컴퓨터로 복제해서 가지고 오기

 

vi <파일명>  => <파일명>을 vi 편집기로 편집하겠다 

입력모드로 전환하는 법: a 혹은 i 입력
입력모드 빠져나오는 법: esc
저장하는 법  (입력 모드에서 빠져나온 뒤)  :w 입력
vi 편집기 닫기  :q 입력
한꺼번에 저장 및 닫기   :wq 입력

 


Github repository와 vscode 연결하는 명령어를 배워봅시다!

 

1. 로컬 저장소 만들기

git init

폴더에서 .git 없앨려면
rm -r -f .git

 

2. 내 컴퓨터에 원격 저장소(github repository) 연결하기

git remote add origin <원격저장소 SSH url>

만약 잘못 연결한 경우라면, remote origin을 삭제해야한다. 삭제하는 명령어는 다음과 같다.

git remote rm origin   

 

 

2-1. main 브랜치 만들기

git branch -M main

 

 

3. 현재 경로에 있는 모든 파일을 스테이지에 추가

git add . 

특정 대상을 스테이지에 올리는 것이라면
git add <스테이지에 추가할 대상>

이때, 잘못 올려서 스테에지에서 특정 대상을 내려야한다면
git rm --cached <스테이지에서 내릴(제거할) 대상>

 

 

4. 커밋하기

  • 자세한 커밋메세지와 함께 커밋하기
git commit 

커밋메시지 - 제목(첫번째 줄)과 본문(두번째 줄부터..)으로 이루어져있음. 본문은 생략가능
  • 간단하게 커밋메세지로 커밋하기
git commit -m "<커밋 메시지>" 

<커밋 메시지>에 입력한 내용이 제목이 된다. 본문은 생략됨

 

 

5.  내 로컬 컴퓨터의 커밋을 원격저장소에 업로드하기

브랜치 main에 커밋 push하기

git push -u origin main

 

 

느낀점:

  • 많은 연습을 통해 git과 익숙해져야할 것 같다.
  • git 명령어를 사용하니 확실히 간편하다...! 이제 github에서 직접 파일 업로드하는 것은 하지 말자 ㅎㅎ
  • git을 활용하는 법을 더 많이 연습하고 배워서 앞으로 개발을 더 편리하게 할 수 있었으면 좋겠다.
  • 튜터님께서 친절히 설명해주시고.. 강의도 무료로 제공해주셔서 너무 감사했다! 더 열심히 하자!