
깃 사이트 : https://git-scm.com

설치 후 윈도우 명령 프롬프트를 이용해 버전과, 실치 유무를 확인

가장 먼저 할 일은 저장소(repoitory)를 만드는 것 이다.
내가 저장할 프로젝트로 이동후, git init 명령어를 입력한다.
C:\Users\user>cd projects\mysite
C:\Users\SBA\projects\mysite>git init
그러면 projects/mysite/.git/ 디렉터리가 생성된다. 이후 깃의 관리는 모두 이 디렉터리에서 이뤄진다.
projects/mysite 디렉터리에서 git status 명령을 실행
C:\Users\SBA\projects\mysite>git status
git status 명령은 현재 저장소의 상태를 출력해 준다. 아직 관리되지 않고 있는 파일(Untracked files)들을 보여주고 git add 명령을 이용하여 관리할 파일들을 추가하라고 알려준다.
git add 명령 수행 전에 깃으로 관리해야 할 파일들에 대한 고민이 필요하다
예를 들어 직접 작성한 코드파일이나, 디렉터리는 깃으로 관리해야 할 대상이 맞지만, 사용자별, 시스템별로 달라지는 파일( db파일, .idea 등등) 관리할 필요가 없다
.idea는 사용자 설정을 저장하는 파이참 전용 파일이고, db.sqlite3 파일은 SQLite의 데이터베이스 파일이다.
그렇다면, 설정을 위해 .gitignore 라는 이름의 파일을 생성한 후 내용은 따로 관리 하지않을 파일을 입력한다.
.idea
db.sqlite3
*.pyc
__pycache__
.gitignore는 디렉터리가 아닌 파일이다
디렉터리(폴더)로 만들었을 경우, 파일로 만들어라
C:\Users\SBA\projects\mysite>git add*
C:\Users\SBA\projects\mysite>git status
깃 스테이지 영역에 추가된 파일을 확인
깃이 저장소에 변경 사항을 저장할 때는 스테이징을 거친다
깃은 저장소에 변경 사항을 바로 저장하지 않고 스테이징(staging)이라는 단계를 거친다.
스테이징은 변경 사항을 저장소에 저장하기 직전 단계에 올려놓는 개념이다.
따라서 git add <파일명> 명령을 사용하면 git add 명령으로 지정한 파일이 스테이지 영역에 추가되고, 이후 git commit 명령을 수행해야 비로소 스테이지 영역에 있는 파일이 저장소에 저장된다.
git commit 명령을 수행하여 변경된 사항을 저장해보자
C:\Users\SBA\projects\mysite>git commit -m "프로젝트 최초 커밋"
git commit 명령을 수행하면 먼저 이메일 주소와 사용자명을 설정하라는 오류가 발생한다.
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'pahke@DESKTOP-8R43RU6.(none)')
다음을 참조하여 이메일 주소와 사용자명을 설정해 보자. (본인의 이름과 이메일 주소를 사용하자.)
그리고 다시 git commit 명령을 수행해 보자.
C:\Users\SBA\projects\mysite>git commit -m "프로젝트 최초 커밋"
C:\Users\SBA\projects\mysite>git status
-m 옵션은 커밋의 내용을 입력하는 옵션
옵션을 생략하면 커밋의 내용을 입력하는 에디터 창이 나타난다
commit후, 파일을 변경한 후 확인하는 명령어를 실행해보자
어떤 부분이 변경되었는지 확인하려면 다음처럼 git diff 명령을 실행하면 된다.
C:\Users\SBA\projects\mysite>git diff
git diff 명령을 수행하면 한글이 모두 깨져 보이는 문제가 발생한다면, 이 문제를 해결하려면 다음처럼 set LC_ALL=C.UTF-8 명령을 수행
C:\Users\SBA\projects\mysite>set LC_ALL=C.UTF-8
C:\Users\SBA\projects\mysite>git diff
코드의 변경 내역을 되돌리고 싶을 때는 git restore 명령을 수행하면 된다.
C:\Users\SBA\projects\mysite>git restore
git restore 명령 뒤에는 되돌리고 싶은 파일명을 적으면 된다. 파일의 이름은 git status 명령으로 출력된 파일명을 기준으로 적으면 된다. 파이참에서 확인해 보면 변경한 내용이 이전 내용으로 복구된 것을 확인할 수 있을 것이다.
깃으로 커밋한 이력을 확인하려면 git log 명령을 입력
C:\Users\SBA\projects\mysite>git log
깃을 사용하여 로컬 저장소를 생성하고 소스 코드를 관리할 수 있게 되었다.
하지만 프로젝트는 보통 여럿이 진행하므로 원격 저장소가 반드시 필요하다.
물론 개인 프로젝트라 하더라도 코드의 유실을 방지하려면 원격 저장소는 필수!!!
원격 저장소는 컴퓨터에 있는 로컬 저장소가 아닌 인터넷의 다른 공간에 있는 저장소

깃허브를 원격 저장소로 사용하려면 파이보의 로컬 저장소와 깃허브의 원격 저장소를 연결
깃허브에 로그인하고 create repository 누르자
이미 깃허브를 사용한다면, Repositories 'new'를 누르자


표시된 부분을 깃허브 연결을 위해 복사 한다
깃과 깃허브가 준비되었으므로 로컬저장소와 원격저장소를 연결해 보자.
C:\Users\SBA\projects\mysite>git remote add origin 복사한 주소링크
git push -u origin main 명령으로 로컬 저장소의 내용을 원격 저장소에 저장
C:\Users\SBA\projects\mysite>git push -u origin main
'Username'과 'Password'를 요구하면 여러분의 깃허브 아이디와 비밀번호(깃허브 토큰)를 입력하면 된다. 입력을 마치면 원격 저장소에 로컬 저장소의 내용이 저장
git push 명령 입력 시 비밀번호를 묻지 않도록 설정하기
파이보의 코드를 변경한 다음 깃허브에 저장하기 위해 git push 명령을 수행할 때마다 깃허브의 아이디와 비밀번호를 입력해야 한다. 개발이 한창일 때는 이런 작업은 매우 귀찮고 번거롭다. 다음처럼 credential.helper store 옵션을 주면 인증 절차를 생략할 수 있어 한결 편리하다. 물론 최초 한번의 인증 절차는 필요하다.
C:\Users\SBA\projects\mysite>git config credential.helper store

- 작업한 내용을 원격 저장소에 정하는 순서 간단 정리
- 프로그램 변경 작업하기
- git add <파일명> 또는 git add * 명령 수행하기
- git commit -m "변경사항 요약" 명령 수행하기
- git push 명령 수행하기