너와! 나의! 연결! 고리!
🙋♀️ Git이란?
- VCS = version control system
분산 버전 관리 시스템! = 프로젝트 파일의 변경 사항을 추적하는 시스템!
(원래는 Linux 소스코드를 관리할 목적으로 개발 되었다. )
🤔 코드 버전 관리를 하는 이유는?
같은 파일에 대한 각기 다른 버전을 보관할 수 있기 때문에!
- 수정할 때마다 파일을 새로 만들면 관리가 힘들기 때문에
- 언제든 이전 버전의 코드로 돌아갈 수 있기 때문에
- 소스 코드가 변경된 이력을 남기기 위해
(그 코드를 짠 사람이 오류의 원인을 가장 잘 알 수 있기 때문에)
- 하나의 프로젝트를 두고 여러명의 개발자들이 협업할 수 있기 때문에
🙋♀️ GitHub란?
- Git을 사용한 프로젝트들의 원격 저장소
- 개발자들의 Social Network
🤔 Git과 Github는 무슨 차이일까?
- Git은 프로젝트의 버전관리를 도와주는 시스템
- Github은 Git을 이용해 버전관리를 한 프로젝트를 관리하게 해주는 호스팅 서비스 !
🔥 Repositories (저장소)
Git으로 관리하는 프로젝트 저장소 (폴더라고 생각하면 됨!)
- Local repository : 본인의 컴퓨터에 저장된 로컬 버전의 프로젝트 저장소
- Remote repository : 내 컴퓨터가 아닌 외부 (일반적으로 원격 서버)버전의 프로젝트 저장소. 팀에서 작업할 때 특히 유용.
이 곳에서 프로젝트 코드를 공유할 수 있고, 다른 사람의 코드를 확인할 수 있다.
로컬 버전의 프로젝트와 병합하고, 변경 사항을 적용할 수 있는 곳이다!
🔥 Commit
프로젝트의 현재 상태를 나타내는 체크포인트 또는 스냅샷으로 생각하면 된다!
현재 버전의 코드를 커밋에 저장한다고 생각하면 됨!
커밋 히스토리에 필요한만큼 커밋을 생성 할 수 있으며, 커밋 간 앞뒤로 이동하여 프로젝트 코드의 다른 변경사항을 확인할 수 있다.
일반적으로 커밋을 남기는 시점은 특정 내용, 기능을 추가한 후 or 수정 사항을 적용한 후
🔥 Github Push
내가 작업한 걸 깃허브에 올리겠다!
GitHub token 설정
GitHub에서 기존 터미널 상에서 아이디와 비밀번호로만으로 push를 사용할 수 있었던 방법을 보안상의 이유로 막아버렸따,, GitHub token 설정 해야 함!
근데 나는 무슨 이유인지 모르게찌만,,
아이디치고 토큰 비밀번호 대신 복붙하니까 됐음.?
🌎 기본적인 명령어
-
git 시작 : git init
맨 처음에 프로젝트 올릴 때 (생성한 장고 프로젝트를 git으로 관리 할 수 있도록 초기화 한다!)
-
gitignore
공유하고 싶은 소스와 공유하고 싶지 않은 소스를 구분하기 위해 설치된 디렉토리에 .gitignore 파일을 생성해서 관리!
- git 상태 확인 : git status
- 파일 수정 이력 기록 준비 : git add . (중간저장! 임시저장 느낌!)
파일 수정 이력 기록 : git commit
git add .
git commit -m "Add: 앱이름 application"
commit 이력 보기 : git log
- git push 해주기
git push origin 브랜치이름
🔥 Branch
- 브랜치 생성 : git branch 브랜치이름
- 해당 브랜치로 이동 : git checkout 브랜치이름
🔥 Applicaton
- settings.py 설정 후 app 생성
python manage.py startapp 어플이름
- settings.py installed_app에 추가
#settings.py
INSTALLED_APPS = [
...
'어플이름',
]