
깃은 형상 관리 도구중 하나이며 효과적으로 소스코드를 관리 할 수 있는 버전 관리 시스템이라고도 한다
같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하며 브랜치를 통하여 개발을 한 뒤
본 프로그램에 합치는 방식으로 진행 해주는 호스팅 서비스 이며 버전 관리를 분산으로 하기 때문에
중앙 저장소를 지워도 다시 원상 복구를 할 수 있다 ! 또한
수정할 때 마다 파일을 새로 만들면 관리가 힘들다.
언제든 이전 버전의 코드로 돌아갈 수 있다.
코드 기록에 대한 이력을 남길 수 있다.
하나의 프로젝트를 두고 여러명의 개발자들이 협업을 할 수 있다.
깃을 사용한 프로젝트들의 저장소.
개발자들의 Social Network
git 시작 : git init
git 상태 확인 : git status
파일 수정 이력 기록 준비 : git add
파일 수정 이력 기록 : git commit
commit 이력 보기 : git log
mkdir wecode_17 : wecode_17 폴더를 만듬
cd wecode_17 : wecode_17 경로로 들어옴
pwd : 잘 들어 왔는지 현재 내 경로를 확인
git init : 이폴더에서 깃을 시작하기 위해 숨김파일인 .git폴더를 만들어 준다 (폴더는 건들지마세요)
(만약 이런 설명이 나왔다면 Ok! (On branch master 현재 브랜치가 마스터밖에 없다는 뜻))
vi 테스트.txt << 테스트라는 이름으로 txt 파일을 만들었다
임의의 텍스트를 작성 한다
esc 후 :wq 입력 : 저장하고 나가겠다는 뜻
git status 입력 : Untracked files 아래에 새로 생겼던 파일들이 보인다 !!
git add . 입력 : git add . <<를 통해서 생성됬던 파일을 전부 통과시킨다
git status 입력
git commit -m "Add: ~": -m 이하에 있는 메모를 남겨 커밋을 하겠다
(Add: 이렇게 시작해서 메모하는게 컨벤션이다! 지키도록 하자)
git status 입력 :
On branch master
nothing to commit, working tree clean 가 뜨면
정상적으로 커밋이 됬으며 더이상 커밋할게 없다는 뜻이다 !
git log 입력 :
commit 588d5c288b4b82431a10cec7ab409b54b0fb8a51 (HEAD -> master)
(커밋이 되어서 생긴 코드)
Author: 93jm 65124480+93jm@users.noreply.github.com
(작성자의 이름과 이메일이다)
Date: Wed Jan 20 14:59:05 2021 +0900
(언제 커밋을 했는지 확인해준다 !)
Add: leejungmin.md 파일 추가
(내가 커밋시 남겼던 메세지다 !)
다시 만들었던 파일에다가 수정해보자
vi leejungmin.md 입력 : 만들었던 해당 파일 들어가기
내용 아무거나 작성후
esc 후 :wq 입력 : 저장 후 나가기
git add . 입력 : 모든 변경사항 다시
git status 입력 : modified가 초록불로 바뀜 확인
git commit -m "Modify: 한줄추가했음"
다시 git status와 git log를 통해서 커밋했던 내용을 다시 재 확인 해보자
깃헙사이트에서 레파지토리 만들기 (README.md 파일 만들지 말고 그냥 하기)
터미널에 git remote add origin https://github.com/93jm/github_testing.git 입력
(remote 저장소에 origin이라는 이름이 붙고 그 뒤에 내 깃허브 주소가 온다)
git remote -v 입력
origin https://github.com/93jm/github_testing.git (fetch)
origin https://github.com/93jm/github_testing.git (push)
remote를 묶어놓은 상태이다 하나는 푸쉬 하나는 풀 !
git branch -M main 입력 : 기준이 되는 브랜치 이름을 master가 아닌 main으로 바꾼다.
git push origin main 입력
(내 레파지토리에 있는 브랜치인 origin main으로 git push를 해준다
깃헙 레파지토리가서 새로고침해보자
git branch feature/이름
(이름이 있는 브랜치를 만들었다)
git checkout feature/이름
(방금 만든 브랜치로 이동한다)
git add .
(작업한 모든 내용이 추가 된다)
git commit -m "Add : Login page complete"
(메세지를 남기면서 커밋을 한다)
git push origin feature/login
(origin은 깃헙이라고 생각하고 푸쉬한다)
PR (Pull Request)
(main 브랜치에 들어갈 준비완료상태) -> 여기서 멘토님들한테 리뷰
PR template 작성
(어떠한 작업을 했는지 작성해준다)
Merge
(최종 main 브랜치에 넣어주는 것!)
잘 보고 갑니다 정민님~