Git 사용
설정
이름과 이메일 설정
$ git config --global user.name "username"
$ git config --global user.email "email@email.com"
명령어
git init
- git 초기화
- 새로운 git 저장소 생성
git clone [url]
- 저장소 가져오기
git status
- 깃 저장소의 상태 확인
- 작업중인 디렉토리에서 변경 사항을 확인 가능
git diff
- stage가 변경된 파일 확인
- commit이나 branch 사이, repository와 working directory 사이의 다른점을 보여줌
git branch <new_branch>
- 새로운 브랜치 생성
git checkout <branch>
- 브랜치 변경
git checkout .
- 모든 변경 사항을 취소
git add <인덱스에 등록할 파일명>
- 파일의 변경 사항을 다음 커밋에 반영
git commit -m "커밋 내용"
- 메시지와 함께 커밋
git fetch <remote>
- 원격 저장소의 변경사항 가져오기 전 변경 내용을 확인, 수동 병합 해야함
git pull <remote> <branch>
- 원격 저장소의 변경사항을 가져오고, 자동 병합함
git push <원격 저장소 이름> <브랜치 이름>
- 원격 저장소에 변경사항 발행
git remote add <원격 저장소 이름> <원격 저장소 url>
- 원격 저장소와 연결
git merge <branch>
- 병합하기
git revert [commit ID]

- 상태를 되돌림
- 이전 이력은 그대로 유지
git reset <option> [commit ID]

- 돌아가려는 커밋으로 리파지토리는 재설정, 해당 커밋 이후의 이력은 없앰
revert vs reset
💡 협업프로젝트에서 다른 팀원과 같은 branch를 공유하는 상황일때, 가급적 'revert'를 사용!
- reset은 가능하면 로컬 저장소에서만 실행
- github와 같은 원격 저장소에 올라간 뒤에 reset을 실행하면 이전 커밋 내역들이 전부 삭제, 다른 작업자가 push할 때 충돌 발생