본문 바로가기
기타

[Git & Github] Git & Github 기초 사용법

by ㅇ달빛천사ㅇ 2024. 7. 20.
728x90

⌛ Git Bash 설치하기

 

Git - Downloads

Downloads macOS 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 exp

git-scm.com


▶️ Git Bash 실행하기

 

Git Bash 혹은 Visual Studio Code의 Git Bash 터미널을 이용해 실습합니다.

Mac : 터미널
Window : Git Bash

 

    • Git Bash


  • Visual Studio Code의 Git Bash 터미널


Visual Studio Code가 없을 때,

  • 명령 프롬프트
    • 혹은 작업 표시줄의 검색 칸에 terminal 검색 > 


💻 필수 리눅스 명령어

※ Git 명령어 아님

 

📍 pwd (Print Working Directory)

현재 내가 작업하는 폴더 보기
cf. ~는 Home(홈)이라는 경로 : 우리가 보는 데스크탑보다 더 상위 폴더


📍 ls(List)

내 폴더 안에 있는 폴더
& 파일 내역을 보여줌

 


📍 ls -a(List All)

숨겨진 파일(보통 .으로 시작함)도 모두 볼 수 있음


📍 cd 폴더명(Change Directory)

"폴더명"의 폴더를 더블클릭해서 들어간 것과 같은 효과
cd .. : 한 단계 위의 상위 폴더로 이동
cd 폴더명/폴더명 : 한번에 더 깊이 이동할 수 있음

  • cd .. : 한 단계 위의 상위 폴더로 이동

 

  • cd 폴더명/폴더명 : 한번에 더 깊이 들어갈 수 있음


📍 mkdir 폴더명 (Make Directory)

현재 경로에서 폴더를 생성

 


📍 touch 파일명

현재 경로에서 파일을 생성
cf. touch 명령어는 원래 파일의 생성과 파일의 날짜, 시간을 변경하는 명령어


💬 Git & Github의 개념

Git이란?

버전 관리 도구(형상 관리 도구)
코드 변경점 기록을 위해 사용

 

🧑‍💼 (면접용) 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것!


Github란?

온라인 백업, 공유, 협업이 가능한 온라인 코드 저장소 

 


🔖 Git 필수 명령어

📍 git init

init : initailize(초기화하다, 초기 세팅을 하다)의 준말
여러번 입력해도 문제가 되는 것은 아니지만, 프로젝트 시작 전 딱 한번만 입력하면 됨.
정확한 프로젝트 폴더(경로)에서 입력해야 함.
☠️ 잘못 입력할 시, 데스크탑 전체 파일, 폴더가 다 기록될 수 있음!

 

실습하기

1. index.html 파일을 하나 만들고

간단한 텍스트 입력 후, 저장(저장 필수)

  • 저장
    • Mac : cmd + s
    • Window : Ctrl + s


2. 현재 경로 확인(필수!)


3. git init 명령어 입력

Initialized empty Git repository in ~~~이라고 나오면 성공!


4. .git 이라는 폴더(숨겨진 폴더)가 생성됨.

ls -a 명령어로 확인 가능
.git 폴더에서 코드 변경점을 계속 추적 & 기록 함.
(* 이 폴더가 정확한 프로젝트 경로에 있어야 함.)


📍 git add & commit

코드를 저장하는 명령어

 

1. git add 파일명

저장하기 전, 저장할 파일 지정


2. git commit -m "메세지 작성"

실제로 저장하는 명령어


Please tell me who you are. 이라는 에러 발생

에러의 원인 : 계정 설정을 하지 않았기 때문

 

Please tell me who you are. 에러 해결 방법

github에 가입이 되어 있어야 함.

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

1. git config --global user.name 유저네임

2. git config --global user.email 유저이메일


이제 다시 commit을 해 보면,

아래와 같이 성공적으로 commit이 되는 것을 확인할 수 있다.


📍 git log

저장 내역을 확인하는 명령어
커밋 메세지로 코드 변경점 추측 가능
키보드 q : 빠져나오기

 

 

 

📍 git diff

코드 변경 확인

 

📍 git reset

과거로 돌아가기

💭 왜 저장 명령어는 2개일까?

1. 파일(hello.html) 하나 더 만들고 코드 작성 & 저장

새 파일(hello.html)을 생성하여 텍스트를 입력하고 저장

 

기존의 파일(index.html)도 수정 후, 저장

 

새 파일(hello.html)만 git add & git commit해보자.


📍 git status

파일의 변경(modified) 혹은 add(지정) 등 변경 상태를 확인하는 명령어
코드 변경은 있지만 저장하지 않은 파일붉은색으로 표시됨

git status를 해보면 기존 파일(index.html)이 수정되었으나 add & commit되지 않았다고 modified : index.html이라고 뜬다.

 


지정할(git add) 파일이 많을 때,

📍 git add . & git commit -m "메세지 작성"

내 프로젝트의 변경사항을 한 번에 지정
점(.)은 현재 나의 경로의 모든 변경된 사항을 말함.

git status : 더 이상 저장할 것이 없어(nothing to commit)

 


🗃️ Github로 코드 백업하기

1. 온라인 저장소(Github Repository) 만들기

 

1-1. Github 홈페이지 접속

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

1-2. 회원가입 및 로그인 진행


1-3. New 버튼 클릭


1-4. 레포지토리 이름 입력 & Create Repository 버튼 클릭

생성된 레포지토리 화면


2. 내 코드를 Github 레포지토리로 업로드

2-1. 업로드할 프로젝트 폴더를 Visual Studio Code로 열기


2-2. 붉은 박스의 명령어들을 복사

명령어의 의미는 조금 더 아래에 설명이 되어 있습니다.


2-3. Visual Studio Code의 bash 터미널에 붙여넣기


2-4. Github 레포지토리에 파일들이 잘 업로드되었는지 확인하기


위에서 '복사+붙여넣기'한 3줄의 명령어는 무슨 의미일까?

 

git push <github 주소> : 일일이 주소를 입력하기 귀찮음!😩

1. git remote add origin <github 주소>

<github 주소>origin이라는 이름으로 저장

기본 branch : master (노예 제도와 관련하여 사용 X)

2. git branch -M main

현재 브렌치명(master)을 main으로 바꾼다.

git push origin main : 일일이 주소를 입력하기 귀찮음!😩

3. git push -u origin main

git push만 입력해도 git push origin main을 실행하도록 설정

 


3. 추가로 수정된 코드 Github에 반영하기 - git push

3-1. 코드 수정하기

3-2. 코드 저장 명령어 실행

git add . & git commit -m "메시지"

3-3. git push origin 브랜치명

 

Github 협업 기초 & 충돌 해결방법

1. 협력자(Collaborator) 등록하기

레포지토리를 만든 사람이 해야 함.

 

1-1. Github레포지토리 > Settings > Collaborators > Add people 클릭

 


저의 경우 이 다음에 Confirm access 창이 떴는데

버튼 클릭해서 인증하면 되는 것 같아요.



1-2. 협업 초대 수락하기

레포지토리를 만든 사람이 아닌 협업자가 해야 함.


2. Git clone

코드 복사해오기

2-1. Github의 레포지토리에서 Github 주소를 복사합니다.


2-2. 코드를 작성할 폴더 만들기


2-3. Visual Studio Code에서 해당 폴더 열기


2-4. git clone <Github 주소> . 명령어 입력하기

마지막에 점(.)빼먹지 말기! (경로가 달라집니다.)
폴더를 이미 만들었다면, 점(.) 붙이기 >> git clone <Github 주소> .
폴더가 없다면, 점(.) 없애기 >> git clone <Github 주소>

현재 경로로 레포지토리의 파일들이 잘 들어 옴.
점(.)이 없으면 레포지토리 명으로 된 폴더가 현재 경로로 들어 옴.

 


다른 팀원도 코드 변경하고 Github에 올리기

1) 코드 수정

 

2) 코드 저장  명령어 수행

git add .
git commit -m "메시지"

 

3) git push origin 브랜치명


3. git pull

다른 팀원이 변경한 코드 내 코드에 가져오는 명령어

 

3-1. 코드 수정 후, git push origin 브랜치명


Error1. git pull을 먼저 하라는 에러가 발생한다면?

 git pull origin 브랜치명

 

 

6. 에러발생!*

다른 사람이 이미 git push하였을 때, 내가 pull 없이 git push 하면 발생하는 에러 >> pull을 하자!
hint : use 'git pull' before pushing again

 

[240715] Git 활용 특강 (예병수 튜터님)의 수업 자료에서 가져온 사진입니다.


Error2. git pull시, 아래와 같은 에러가 뜬다면?

hint :    git config pull.rebase false  # merge
hint :    git config pull.rebase true  # rebase
hint :    git config pull.ff only  # fast-forward only
1. git config pull.rebase false 명령어 입력 후,
2. git pull origin main 명령어 입력

[240715] Git 활용 특강 (예병수 튜터님)의 수업 자료에서 가져온 사진입니다.
[240715] Git 활용 특강 (예병수 튜터님)의 수업 자료에서 가져온 사진입니다.

 

 

Error3. 터미널에 아무것도 입력이 안되는 vim에디터가 뜬다면?

1. esc

2. :

3. wq

4. enter

[240715] Git 활용 특강 (예병수 튜터님)의 수업 자료에서 가져온 사진입니다.


4. 충돌(Confilct) 해결하기

git pull로 가져왔는데 코드가 이상해졌어요.😨 

[240715] Git 활용 특강 (예병수 튜터님)의 수업 자료에서 가져온 사진입니다.

 

4-1. 충돌 발생한 파일 확인해보기

충돌 발생 이유 : 같은 파일, 같은 위치의 코드를 변경했기 때문


강르탄 : index.html 2번째 줄 코드 변경

이르탄 : index.html 2번째 줄 코드 변경

[240715] Git 활용 특강 (예병수 튜터님)의 수업 자료에서 가져온 사진입니다.

 

2. 충돌발생**

같은 파일같은 위치의 코드를 변경해서 발생하는 충돌

 

4-2. 코드 수정하기

1.  <<<<<<<< HEAD 삭제

2.  ======= 삭제

3.  >>>>>>> 4182… 삭제

4. 원하는 코드로 수정


5. 충돌 해결 후, 다시 git push

Git 활용 첫번째 특강 완주!!

728x90


Top