기타

깃, 깃허브 뿌시기

디디 ( DD ) 2023. 3. 31. 03:17

 

 

 

0. 깃 설치하기

 

 

1. 로컬 저장소 만들기

버전 관리가 필요한 폴더에서 마우스 오른쪽 버튼 클릭

→ Git Bash Here 클릭

→ Git Bash 창이 열리면, $ 기호옆에 git init (초기화) 입력.

그러면 폴더에 [.git] 이라는 숨김 폴더가 생성되는데, 이것을 로컬저장소라고 부르는 것임.

 

 

2. 첫 번째 커밋 만들기

각 버전을 누가 만들었는지 확인하기 위해 내 정보 등록

Git Bash 창에 아래 두 명령어 입력

 

git config --global user.email "your_email"

git config --global user.name "your_name"

 

 

git add 커밋할 파일 //스테이지에 추가

git commit -m "커밋 내용"

 

git add . 하면 전체 파일임

-m은 메시지의 약자

1 file changed, 1 insertion(+), 1 deletion 과 같은 텍스트가 보이면 성공.

 

 

3. 다른 커밋으로 시간 여행하기

지금까지 만든 커밋을 확인하려면, git log 입력 (최신 커밋부터 보여줌)

되돌리려는 커밋의 앞 일곱자리 커밋 아이디(0000000)를 복사

 

git checkout 0000000

// 최신 커밋으로 가려면
git checkout -

 

마지막 라인에 Head is now at 0000000 되돌린 커밋의 메시지 가 뜨면 성공.

 

 


 

4. 원격저장소(깃허브 레포지토리)에 커밋 올리기

레포지토리를 하나 만든 후, 로컬저장소에 원격저장소 주소 알려주기 (연결하기)

 

git remote add origin 원격저장소 주소

// 원격저장소 목록 확인
git remote -v

 

 

로컬저장소에 있는 커밋들을 원격저장소에 올리기 -> 이를 '푸시(Push)'라고 함.

 

git push origin main

// 그리고 로그인
// -> 100% 완료 텍스트가 나오면 성공.

 

// 특정 브랜치에 push
git push origin <branch이름>

 

 

5. 원격저장소의 커밋을 로컬저장소에 내려받기

 

-> 이를 '클론(Clone)'이라고 함.

클론을 하면, 최신 버전뿐만 아니라 이전 버전들과 원격저장소 주소 등이 내 컴퓨터의 로컬저장소에 저장됨.

 

원하는 폴더 안에서

 

git clone 클론 주소 .

// 한 칸 띄고 마침표 -> 현재 폴더를 의미

 

// 특정 브랜치 클론
git clone -b <branch명> <remote_repo 주소>

 

그리고 커밋을 올리려면, 마찬가지로 git add, git commit 을 한 다음, git push를 해주면 된다.

 

 

6. 원격저장소의 새로운 커밋을 로컬저장소에 갱신하기

-> 이를 '풀(Pull)'이라고 함.

 

git pull origin main

 

 

 

결국 깃, 깃허브로 관리하는 프로젝트를 시작하려면? 깃허브에 원격저장소를 만들고 이를 내 컴퓨터에 클론!

 

+ git status : 깃 저장소의 상태를 알려주는 명령어

 

+ git diff : 깃 변경사항 확인

 

+ git reset HEAD^ : 커밋 취소 (최근 커밋 내역 삭제)

 

 


 

● 브랜치 관련 명령어

 

// 로컬 저장소의 브랜치 목록 보기
// 뒤에 -r 붙이면 원격 저장소
git branch

// 새로운 브랜치 생성
// 커밋체크섬 값을 주지 않으면 HEAD(현재 작업 중인 브랜치)로 부터 브랜치를 생성.
// 이미 있는 브랜치를 다른 커밋으로 옮기고 싶을 땐 -f 옵션을 줘야 함.
git branch [-f] <브랜치 이름> [커밋체크섬]

// 특정 브랜치로 이동
// git switch 도 사용 가능 (new!)
git checkout <브랜치 이름>

// 특정 브랜치를 삭제
git branch -d
<브랜치 이름>

 

// 모든 원격 브랜치 가져오기
git fetch origin

 

// 브랜치 병합
git merge <가져올 브랜치 이름>

 

 

  의의 편리한 점 불편한 점
브랜치 하나의 원본저장소에서 분기를 나눔. 하나의 원본저장소에서 코드 커밋 이력을 편하게 볼 수 있음. 다수의 사용자가 다수의 브랜치를 만드는 경우, 관리가 힘듦.
포크 여러 원격저장소를 만들어 분기를 나눔. 원본저장소에서 마음껏 코드를 수정할 수 있음. (원본에 영향 X) 원본저장소의 이력을 보려면 따로 주소를 추가해야 함.

 

 


 

◆ 참고 - 리눅스 명령어

 

pwd : 현재 위치의 경로 (print working directory)

 

li : 현재 디렉터리에 어떤 파일이나 디렉터리가 있는지 확인 (list)

     -l 옵션을 붙이면 상세 정보까지 표시됨.

     -a 옵션은 숨긴 파일이나 디렉터리도 함께 표시.

 

clear : 터미널 창 지우기

 

cd .. : 상위 디렉터리로 이동 (change directory) -> . 은 현재 작업 중인 디렉터리

          하위 디렉터리로 이동하고 싶을 땐 .. 대신 이동할 하위 디렉터리의 이름을 입력

          ~ 는 홈 디렉터리를 의미.

 

mkdir 디렉터리 이름 : 디렉터리 만들기 (make directory)

 

rm -r 디렉터리 이름 : 디렉터리 삭제하기 (remove)

                                   -r 은 디렉터리 안의 하위 디렉터리도 같이 삭제하겠다는 뜻

 

exit : 터미널 종료

 

 

 

[ 참고 자료1 ] 팀 개발을 위한 git·github 시작하기 / 정호영, 진유림 / 한빛미디어 / 2020 

[ 참고 자료2 ] Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문 / 고경희, 이고잉 / 이지스퍼블리싱 / 2022

 


 

[ 참고 영상1 ]

 

 

https://www.youtube.com/watch?v=lelVripbt2M 

 

 

https://www.youtube.com/watch?v=cwC8t9dno2s 

 

 

https://hackmd.io/@oW_dDxdsRoSpl0M64Tfg2g/ByfwpNJ-K

 

Git 명령어 총정리집 (by 코딩알려주는 누나❤) - HackMD

# Git 명령어 총정리집 (by 코딩알려주는 누나❤) ![](https://c.tenor.com/UNTqMDwqh1gAAAAM/hello-hi.gif) 안녕하세요 여러분 :)

hackmd.io

 

 

https://www.youtube.com/watch?v=PGQIJE4tHAs 

 

 


 

[ 참고 영상2 ]

 

 

https://codingapple.com/course/git-and-github/

 

(무료) 매우쉽게 알려주는 git & github - 코딩애플 온라인 강좌

    Next.js는 프론트엔드부터 서버까지 만들 수 있는 React기반 프레임워크입니다. 다른거 필요없이 이것만 사용해도 풀스택 웹개발이 가능합니다.    Next.js 사용시 서버사이드 렌더링이 쉽기 때

codingapple.com

 

 

https://learngitbranching.js.org/?locale=ko 

 

Learn Git Branching

An interactive Git visualization tool to educate and challenge!

learngitbranching.js.org