windows에 git 설치:
https://git-scm.com/download/win
git bash 실행:
사용자 정보 설정:
git config --global user.name "YOUR_USER_NAME"
git config --global user.email "YOUR_GIT_EMAIL" //git 회원가입 시 사용한 이메일
설정한 정보 확인:
git config --list
최초 설정 (1회):
// bash에서 저장소로 사용할 디렉토리로 이동 git init // 현재 디렉토리에 새로운 git 저장소 생성
.gitignore 생성:
(git에 저장하지 않는 파일. 보안등에 사용. 프로젝트 최상위 디렉터리에 생성)echo > .gitignore // (https://www.toptal.com/developers/gitignore 참고) //사용 예시 : .env 파일에 환경변수, 암호화키 등을 저장하고 ignore파일에 .env 등록
ignore 처리된 유형(정보) 확인:
git status --ignored
변경사항을 Stage에 추가:
git add .
저장소 상태(변경사항) 확인:
git status
최초 commit 메시지(히스토리) 추가:
git commit -m "YOUR_COMMIT_MESSAGE"
원격저장소(gitHub) 연결:
git remote add origin git@github.com:YOUR_GIT_REPO_LINK
원격저장소 연결(상태) 확인:
git remote -v
최초 gitHub 업로드:
// master가 아니라 main 일수도 있으니 확인할 것. git push origin master
협업 시 - 리포지터리 복사(클론):
//내 디렉토리에 gitHub repository 다운로드(클론) git clone git@github.com:GIT_REPO_LINK YOUR_DIRECTORY_NAME(*선택) //YOUR_DIRECTORY_NAME가 없으면 gitHub 프로젝트 이름으로 폴더 자동생성
협업 시 - 새로운 브랜치(나만의 작업공간) 생성:
git checkout -b YOUR_BRANCH_NAME
만약, push할 때 아래와 같은 경고 메시지가 출력되면
로컬저장소에 생성한 브랜치를 원격저장소(origin)으로 반영하는 명령어 사용git push --set-upstream origin YOUR_BRANCH_NAME
공통 - 소스코드 업로드 하기 (반복)
//변경사항을 Stage에 추가 git add YOUR_OPTION //YOUR_OPTION : -A 또는 .(변경된 모든파일), FILE_NAME(해당 파일만), -u(수정된 파일만(신규x))
//commit History 추가 git commit -m "COMMIT_MESSAGE"
//origin(gitHub)으로 나의 브랜치(YOUR_BRANCH_NAME)를 붙인다(업로드). git push origin YOUR_BRANCH_NAME //origin(remote 명령어로 설정한 gitHub 원격저장소 주소) //YOUR_BRANCH_NAME : 내가 작업한 브랜치 이름. 만약, 혼자 개발한다면 master로 바로 push 해도 됨 //(개인) YOUR_BRANCH_NAME이 master인 경우, 승인과정 없이 바로 업로드 됨. //(협업) YOUR_BRANCH_NAME이 master가 아닐 경우, git 홈페이지 Compare & pull request에서 확인
협업 시 - 만약 내 변경사항을 push 하기 전 다른 사람의 브랜치가 merge 되었다면:
변경된 master 브랜치와 현재 브랜치 동기화 후 브랜치 합병 요청//작업사항 저장 git commit -m "COMMIT_MESSAGE" //최신 master 브랜치 가져오기 (pull : 원격저장소 파일을 로컬저장소와 비교하여 merge 해준다.) git pull origin master
진행 후 변경사항 push
git push origin YOUR_BRANCH_NAME
다른 브랜치로 이동하는 방법:
git checkout BRANCH_NAME
디렉토리 명 변경, 삭제
원격저장소를 pull로 가져온다.git pull origin YOUR_BRANCH
변경할 폴더를 mv로 바꾸어준다.
git mv BEFORE_NAME AFTER_NAME
삭제할 폴더를 rm으로 삭제한다.
git rm -r DELETE_NAME
변경사항을 커밋한다.
git add . git commit -m "YOUR_MESSAGE" git push origin "YOUR_BRANCH"
기본개념:
Workspace에 있던 파일들의 수정 내역을 인덱스에 staging하고, staged된 파일들을 commit까지 하고 나면 이 변경 이력은 로컬 저장소에 반영된다.
이 변경 이력들은 push로 원격 저장소(remote, GitHub)에 밀어 넣을 수 있다.
반대로 clone으로 원격 저장소에서 로컬 저장소로 다운로드(클론) 할 수도 있다.작업한 내용을 스테이지 영역에 올린 후 로컬 저장소에 커밋하고, 이를 푸시해서 원격 저장소로 보낸다"