git add [파일명] : [파일명]의 파일을 staging area로 올림
git commit -m “FIRST COMMIT” : staging area에 올려진 파일들을 Git 디렉토리로 올림(FIRST COMMIT 메시지와 함께)
Vi 모드로 진입 시
i : 명령어 입력 모드에서 텍스트 입력 모드로 전환
ESC(버튼) : 텍스트 입력 모드에서 명령어 입력 모드로 전환
:q : 저장 없이 종료
:q! : 저장 없이 종료(입력한 것이 있을 때)
:wq : 저장하고 종료(입력한 것이 있을 때 사용)
k : 위로 스크롤
j : 아래로 스크롤
git log : 커밋 히스토리 조회하기
git reset : 원하는 시점으로 돌아간 뒤 이후 내역들을 지운다.
git revert : 되돌리기 원하는 시점의 커밋을 거꾸로 실행한다.
branch
git branch <생성할 브랜치 명> : 브랜치 생성
git branch : 브랜치 목록 확인
git switch <이동할 브랜치 명> : 브랜치 이동
git branch -d <삭제할 브랜치 명> : 브랜치 삭제
git branch -m <기존 브랜치 명> <새 브랜치 명> : 브랜치 이름 바꾸기
branch 합치기 (merge, rebase)
git branch -d <병합할 브랜치> (병합된 브랜치 삭제)
<rebase 과정에서 충돌이 일어날 경우>
충돌 해결이 가능한 경우 :
1. 충돌 부분 수정 후,
2. git add .
3. git rebase --continue
4. 1, 2, 3의 과정을 충돌이 모두 해결될 때까지 반복
충돌 해결이 불가능한 경우 :
git merge --abort 을 하여 merge를 중단한다.
git branch -m master main
FORK / FETCH
협업 할 프로젝트 github창에서 Fork버튼을 누른다.
(내 레포에 Forked된 프로젝트가 있을 것이다.)
((G-who0212/[프로젝트 명])의 이름으로..)
내 레포에서 git clone 을 한다.
git clone [내 레포 주소] 폴더이름
cd 폴더이름
git remote -v (remote 관련된 정보를 볼 수 있다.)
오리지널 레포 주소를 upstream이름으로 등록해줌
git remote add upstream [원래 레포 주소]
git remote -v
git fetch upstream
원래 레포의 최신 업데이트를 가져옴(병합이 아님)
(git log --decorate --all --oneline : 모든 브랜치에 대한 로그를 보여줌)
git diff HEAD upstream/main : 지역 저장소의 최신 커밋과 원래 레포의 코드를 비교할 수 있음
오리지널 레포의 main 브랜치를 내 레포로 병합(merge)한다.
git merge upstream/main
여기서부터는 내가 수정한 것들을 오리지널 레포로 올리고 싶을 때
코드를 수정한다.
git add .
git commit -m "add something"
git push (내 레포로 커밋됨)
깃허브의 오리지널 레포로 이동해서 New pull request를 눌러준다.
compare across forks를 눌러준다.
comment를 쓰고 create pull request를 눌러준다.
👍🏻❤️