Git

    [Git] 깃 사용 기타 주의 사항 및 요약

    기타 주의 사항 주석을 남기지 말자 책상도 아니고, 장식장도 아니고 왜 안 쓰는 코드를 남겨놓을까요? 좋은 커밋의 단위 커밋은 자주 합시다! 원자적으로 쪼갤 수 없는 단위 (주로 함수 등)의 의미있는 개발을 했다면 커밋을 합시다. 커밋 메시지를 잘 쓰자! 정말정말 중요한 내용입니다. Github을 프로파일로 제출했다면? 커밋 메시지를 봅니다. 첫줄에 요약 한 줄 띄우고 자세하게 내용을 적자. 미래의 나를 위해서라도 커밋 메시지는 잘 적자! hello git 읽어만 봤다고 Git이 저절로 배워지지 않습니다. 워드나 파워포인트, 이메일, 에버노트, 드롭박스 사용하는 것처럼 많이 많이 사용해 보세요. 익숙해 지면 하나도 어렵지 않습니다. (는 거짓말) git 기초 명령어 요약 clone: 원격 저장소 복사 a..

    [Git] rebase 사용해서 히스토리 관리하기

    rebase 리베이스도 병합(merge)과 마찬자기로 두 브랜치의 내용을 하나로 합치고 싶을 때 사용한다. rebase는 기본 merge와는 달리 트리가 더 깔끔하게 유지된다. ## rebase - merge 처럼 두 브랜치를 합칠 때 사용. - 현재 브랜치가 대상 브랜치 위로 올라간다. - 위험하니 조심스레 사용하자. 장단점 장점 깔끔한 트리 단점 충돌 가능성이 더 높다. 위험하다. 이미 원격에 있는 브랜치를 rebase 하면 안 된다! 실습 새로운 내용을 커밋한다 etc라는 새로운 브랜치 생성 내용을 수정 후 커밋한다. 그 후 마스터 브랜치로 체크아웃 후 rebase 브랜치에 병합을 실시한다. 그 후 마스터 브랜치에서 etc 브랜치를 병합을 실시한다 충돌 해결 후 커밋 한 커밋에 두 개의 자식이 생긴..

    [Git] 브랜치와 스태시

    브랜치 변경하기(브랜치 체크아웃시 주의사항) 브랜치를 만들고 체크아웃을 통해 변경하려고 하면 현재 작업디렉토리가 깨끗해야 한다.(변경 사항이 없어야 한다) 그런데 갑자기 다른 브랜치로 바꾸고 싶을 때 현재 작업 내용을 임시로 저장하고 싶다면? 이럴 때 스태시를 사용한다. 스태시 사용하기 스태시를 사용하면 임시 저장 공간에 현재 작업 내용이 저장된다. 이 내용을 스태시라고 하고 언제든지 다시 복구할 수 있다. test라는 브랜치를 생성한다. 내용 변경 후 커밋한다. 이러면 브랜치 체크아웃에 문제가 없다. 내용을 변경 후 커밋하지 않고 체크아웃 시도하려면 오류가 난다. 해결법 1. 작업 중인 내용의 임시 저장 1. 브랜치1에서 일단 (임시) 커밋을 한다. 2. 브랜치2로 체크아웃하고 볼 일을 본다. 3. 다..

    [Git] Revert를 사용해 커밋 되돌리기

    [Git] Revert를 사용해 커밋 되돌리기 revert 사용해 보기 대상 커밋을 HEAD커밋의 자식으로 새로 생성한다. 실습 커밋을 추가한다. 커밋 되돌리기 버튼을 클릭한다. 커밋했던 내용이 복구되어 있다. reset을 하면 revert한 내용을 다시 되돌릴 수 있다. revert의 장점은 내용은 바뀌지만 커밋했던 내역이 사라지지 않는다. 터미널 명령 $git revert 커밋이름 새로운 커밋이 생겨나지만 C3'와 C2의 내용은 같다. 반면, Reset은 커밋한 내역이 사라진다. 주의사항 revert 대상 커밋은 사라지지 않는다. revert 대상 커밋의 내용을 되돌린 새로운 커밋이 생겨난다. 장단점 장점: 이전 커밋 기록이 다 남아 있다. 단점: 충돌 날 가능성이 매우 높다. 다소 어렵다. FAQ ..

    [Git] 브랜치를 만들어서 커밋 되돌리기

    되돌릴 커밋 대상으로 브랜치 생성 체크아웃 변경 사항 수정 후 커밋 master에 머지 reset 보다 해당 방법을 추천한다. 장단점 장점: 쉽다. 기록이 다 남아 있다. 단점: 트리가 지저분해진다. 파일 내용을 수정해준다. 커밋까지 완료해준다. 브랜치를 새로 생성해준다. 브랜치는 기능의 이름을 넣어주는 것이 좋다. 알아볼 수 있게 해주는 것이 좋다. 새로운 브랜치에는 이전에 수정한 내용이 없어져있다. 다시 내용 추가해서 커밋. 메인 브랜치에서 push 해주기 병합 해주기 그러나 충돌이 발생한다. 겁먹지 말라. 해결하면 된다. Accept incoming change 눌러주고 소스트리로 돌아가 충돌이 해결된 것을 확인하고 커밋을 한다. 저번과 달리 강제 푸쉬가 필요 없이 정상적으로 푸쉬가 작동한다. 푸쉬..