가장 최근 디렉토리와 현재 디렉토리작업차이
git diff --stage
git diff <커밋><커밋> <이 커밋에 비해><이 커밋이 뭐가 다른지?>
<커밋>끼리 비교하기 <커밋>의 순서 중요
git branch 브랜치명 : 브랜치 생성
git checkout 브랜치명 : 해당브랜치의 가장 최신커밋으로 HEAD를 옮김
git checkout -b 브랜치명 : 브런치 생성하고 바로 체크아웃하기
*fast-forward merge 빨리감기병합 메인의 변화가 없을때
충돌했을때
1.충돌해결
2.다시 커밋
저장소에 pull 요청
1.기여하려는 저장소를 본인 계정으로 포크하기 fork
2.포크한 저장소를 클론하기
3.브랜치 생성 후 생성한 브랜치에서 작업 (커밋까지)
4.작업한 브랜치 푸시 (3번에서 작업한 브랜치) *git push origin 작업한브랜치명
5.풀 리퀘스트 보내기
<취소할 커밋> 버전을 되돌린 새로운 버전 : 이전 작업에 영향없음 (안전/작업내역)
지저분해짐, 협업시 가독성이 떨어짐
버전을 되돌림 : 이전 작업에 영향있음, 유의미한 커밋만 쌓임, 깔끔
*reset soft, mixed, hard
reset --soft <되돌아갈 커밋>저장소로 커밋만 리셋
reset --mixed <되돌아갈 커밋> 스테이지 애드만 리셋
reset --hard <되돌아갈 커밋> 작업디렉터리까지 되돌리기
변경사항 임시저장
git stash -m "메시지" 메시지 포함 임시저장
git stash list 임시저장한 리스트 stash@{숫자} : 메시지 *숫자==0에가까울수록 최근
git stash apply <스태시이름> ex) git stash apply stash@{1} 적용
git stash drop <스태시이름> 삭제