깃, 깃허브 뿌시기
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 코딩알려주는 누나❤)  안녕하세요 여러분 :)
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