신규 프로젝트 생성시
방법1
git clone [repository주소]
해당 폴더로 이동하여 개발시작
방법2
로컬 컴퓨터에서부터 이미 개발된 프로젝트가 존재시
- git init → .git파일 생성
- git config —list: config 정보 조회
- git remote add [Remote Name][repository 주소]
→ origin이란, 깃허브 저장소 주소를 의미(즉, 원격저장소를 의미)
- git remote set-url [Remote Name][URL]
→ remote name의 주소 변경
- git remote remove origin
- git push --all origin
→ 모든 브랜치의 커밋이력 push
github 사용자 지정
사용자 지정은 사용자 인증과 상관없이 자유롭게 가능
주로 처음 git을 사용할 때나 새로운 환경에서 git을 사용할 때 쓴다
전역적 선언
git config --global user.name “[github name]”
git config --global user.email “[email 주소]”
지역적 선언
git config --local
.git/config에 저장
git 기본 명령어
기본 명령어를 익히기 전에 git의 3가지 영역에 대해서 이해를 하면 명령어를 익히는데 더 도움이 될 것이다.

Working Directory: 로컬(개발자 컴퓨터) 저장소 의미
Staging Area: 원격(remote)저장소에 보내기 전에 임시적으로 올라가는 장소
Repository: 흔히 우리가 아는 github 저장소를 의미
명령어
- git status
현재 작업 디렉토리와 staging area의 상태를 보여주는 명령어
- git add .
→ staging area로 업로드
- git status
→ staging 상태확인
.gitignore 파일을 이용해 git add . 명령어에도 staging area에 파일을 안올릴 수 있다.
- git commit -m “”
- git commit -m “제목파트” -m “내용파트”
→ local repository로 업로드 및 커밋이력 생성
- git commit -am “커밋메시지”
→ add와 커밋을 동시에
- git log [--all][--oneline]
→ 커밋이력 확인 (--all : 모든 로그 확인) (--oneline 로그 한줄로 출력)
git commit만 하게 되면 메시지 입력모드로 전환. 첫 줄에 title, 두번째 줄부터 contents
-
git push origin [branch명](보통 master/main)
→ 원격저장소의 특정 branch 위치에 local repository의 이력과 변경사항을 업로드
→ 만약 충돌시 강제 업로드 하고 싶다면 --force옵션 추가(추천 X)
-
git pull origin(원격 저장소명) main(브랜치명)
! 만약 로컬의 변경파일과 origin의 변경파일이 같이 변경되면 충돌발생 가능
git 취소상황
- 특정 STEP까지의 저장 사항을 취소
- working directory의 수정사항 취소
- add 이후 취소
- commit 이후 취소
- push 후 origin까지 배포된 사항 취소
- working directory의 수정사항 취소
- git checkout .
- git clean -fdx
- 파일을 신규추가(untracked file)한 경우의 취소
- git checkout . | git clean -fdx
- git reset 또는 git restore --staged .
- git restore [file name]
- git resotre --source [commit hash][file name]
- commit 이후 취소
- git reset HEAD~1(또는 HEAD^)
- git reset —soft HEAD~1
- staged 상태 유지
- push 후 origin 까지 배포된 사항 취소
- git revert 커밋ID
- 특정 커밋버전을 취소시키는 새로운 commit을 생성 후에 다시 push
- git diff와 fetch
- git diff
- 현재 작업 디렉토리와 스테이징 영역(index) 사이의 차이점
- git diff [commit1][commit2]
- 두 커밋간 차이점 비교 (커밋 입력시 최소 6자리 이상 입력)
- commit1을 기준으로 commit2와 비교시 차이점 출력
- git diff main origin/main
- local repo의 main과 origin main과의 비교
- git fetch origin main
- 현재 checkout 돼 있는 main과 origin main과의 차이가 있을경우 차이점을 담은 참조데이터 FETCH_DATA라는 곳에 생성
차이점을 참고하여 일단 merge후에 파일수정하고 다시 push