앱을 만드는 과정에서 기능을 더하고 빼고 고치고 수정을 하면서 여러 버전이 만들어지는데 나중에 이전 버전을 다시 가져오거나 잘못된 코드를 되돌리고 또 과거내역을 확인할 수 있도록, 바뀌기 전 내역들도 중간중간 저장을 해놓아야 한다. Git은 이러한 버전들을 설명과 날짜등의 정보를 포함하여 압축시켜 저장해준다.
규모가 큰 프로젝트는 개발자 여럿이서 개발을 진행하게 된다. 그렇기 때문에 테스트를 돌려보려고 해도, 각자가 개발한 폴더를 공유하는데 한계가 있기 때문에 git을 사용한다. 또 나중에 에러가 나도 누가 언제 어떤 것을 수정하였는지도 파악하기 힘들다. git은 앱이 의미있는 수정을 할 때마다 commit을 통해 수정내용을 파악하기 용이하게 만든다.
또한 버전을 여러개로 만들필요 없이 branch를 이용하여 다른 분기에서 이것저것 시도해보다가 괜찮으면 main branch와 합칠 수도 있다.
git은 버전관리를 위한 "소프트웨어", Github는 이 git으로 저장되서 원격전송된 내역들이 저장되는 공간을 제공하는 "서비스"이다.
즉, Git은 버전 관리 '프로그램'이고
Github는 버전 관리, 소스 코드 공유, 분산 버전 제어 등등이 가능한 원격 저장소라고 생각하면 될 것 같다.
git 저장소 만들기
- git init
git 복제하기
- git clone 깃repo주소
내 이름과 이메일 등록하기.
- git config --global user.name "내이름"
- git config --global user.name "내 이메일주소"
현재 파일의 상태를 확인
- git status
현재까지 작업한 것들을 stage에 올림
- git add .
stage에 있는 변경사항들을 로컬저장소에 저장
- git commit -m "2022.09.30 헤더 수정"
m은 메시지의 약자. 뒤에 설명을 적으면 된다.
원격저장소에 Commit된 파일들 올리기.
- git push -u origin master
다만 그 전에 원격저장소 설정을 해야한다.
git remote add origin {나의 github repo URL}
원격저장소에서 파일 받아오기.
- git pull origin master
커밋 이력 확인하기.
- git log
과거 commit이력으로 돌아가기
- git log에서 해당 커밋의 일련번호 앞 6자리 복사후
- git reset 일련번호6자리 --hard
commit한 수정사항 취소하기(제일 최신)
- git revert 일련번호 6자리
_ vi에디터에서 빠져나오려면 :wq 입력
브랜치 만들기
- git branch test(브랜치명)
브랜치 이동하기- git checkout test
//현 시점의 브랜치에서 모든 데이터를 가져옴- git add .
- git commit -m "branch 생성"
- git push origin test
//branch 생성 완료
branch 합병하기
- 먼저 master 브랜치로 돌아와서 git merge test
git remote -v
//결과
origin https://github.com/user/repo1.git (fetch)
origin https://github.com/user/repo1.git (push)
set-url 로 새로운 url 을 셋팅하는 방법.
git remote set-url origin [새로운 repo 주소]
remove로 기존 연결을 끊고 새로 추가하는 방법.
2.1
git remote remove origin
2.2
git remote add origin https://github.com/user/repo1.git
깃허브 웹 repository로 가서 소스가 잘 업로드 되었는지 확인한다.
git commit --no-verify -m "Commit message"