Study: DeveloperTools(DevTool)/DevTool: Git

    [Git] gitignore 특정 파일또는 폴더 제외/무시하기

    💡 본 문서는 'gitignore 특정 파일또는 폴더 제외/무시하기'에 대해 정리해놓은 글입니다. Git을 하게 되면 내가 작업하는 공간에는 필요하지만 remote(원격)에 push를 무시해야 하는 경우가 있습니다(대체로 용량이 큰 경우 그러하다). 이런 경우는 소스 파일이라던가 올리면 충돌이 일어나 오류를 범할 수 있기 떄문에 관련 내용에 대해 정리하였으니 참고하시기 바랍니다. 1. .gitignore 파일 작성 특정 파일이나 폴더의 push를 막기 위해서는 대체로 .gitignore 파일을 만들어 줍니다. 예를 들어 test.txt파일과 test 폴더를 ignore 한다고 가정하면, 무시할 파일및 폴더는 아래와 같이 작성해 줍니다. ## 파일 무시 test.txt ## 다음과 같은 확장자는 전체 무시..

    [Git] git submodule 서브모듈 활용하기: 다운받기(clone), 변경하기(update), 추가하기(add), 삭제하기(deinit) + 특정 폴더를 submodule로 추출하는 방법

    💡 본 문서는 '[Git] git submodule 서브모듈 활용하기'에 대해 정리해놓은 글입니다. git을 사용하다보면 특정 폴더를 공통모듈로 관리하고 싶다는 생각이 듭니다. 이럴 때 사용할 수 있는 것이 git submodule이며, 'submodule이 적용되어 있는 레포지토리 클론하는 방법', 'submodule 추가/제거하는 방법', '특정 폴더를 submodule로 추출하는 방법'에 대해 자세히 정리하였으니 참고하시기 바랍니다. 1. submodule 을 포함한 git에서 작업하기 1) submodule 을 포함하는 git 저장소를 clone 하기 submodule 을 사용하는 저장소를 clone 하는 경우, init 과 함께 update 를 수행이 필요하다. $ git clone --recu..

    [Git] Git branch 전략 (Git flow보다 중요한 것은.. Code Review)

    💡 본 문서는 Git branch 전략에 대해 정리해놓은 글입니다. 단순히 branch를 만들고 관리하는 법에 대해서도 다루지만, branch를 통한 버전관리에 더욱 초점을 맞추었으니 참고 부탁드립니다. Git branch 1. Git branch 생성 # git branch 생성 git branch develop # 해당 branch로 이동 git checkout develop # add, commit 후 해당 브렌치에 push하기 git add . git commit -m "comment" git push origin develop git branch 생성 및 해당 branch로 이동을 한번에! git checkout -b develop 2. Git branch 삭제 # git branch 삭제 gi..

    [Git] Github 쓰다가 생기는 골치 아픈 문제들... 해결책 포함.

    Intro 앞서 [Git] 왜 Git을 사용할까?를 보고 왔다면 왜 Git을 사용해야하는지 이해했을 것입니다. 그리고 [Git] Git-Workflow, git 흐름을 살펴보자! 로 Git의 역할까지 파악하고, [Git] Github 설치, 기본 세팅 및 간단 사용법로 기본적인 사용법까지 익혔다면? Git 기본적인 사용에 있어서 문제될 것이 없을 것입니다. 그런데... Git을 사용하다가 실수를 저질러 다음과 같은 예기치 못한 상황이 발생한다면? 뭔가 단단히 잘못됐는데, 다 뒤엎고 예전으로 돌리고 싶어! 방금 커밋했는데 하나 깜빡한 걸 발견했어! 커밋 메세지를 잘못 썼어! 커밋 하나로 뭉칠레! 다른 브랜치에 커밋해야 하는 걸 실수로 master에 커밋해 버렸어! 실수로 이상한 브랜치에 커밋을 해버렸어! ..

    [Git] reset과 revert 알고 사용하기

    Git reset vs revert 차이점 공통점: '과거로 되돌린다.' 는 것. 차이점: '과거로 되돌리겠다는 내용도 기록되는가?(= commit 이력에 남는가?)' 이다. reset : 시간을 아예 과거의 특정 사건(commit)으로 되돌립니다(= commit 이력이 남는가? X). 아예 현재가 없었던 것 처럼 원하는 과거로 돌아갈 수 있습니다. 정말 말 그대로 '리셋'이며, reset은 이력을 남기지 않습니다. 따라서 현재까지의 commit 이력을 남기지 않고 원하는 시점으로 완전히 되돌아가고 싶을 때 사용할 수 있습니다. revert : 현재에 있으면서 과거의 특정 사건(commit)들만 없던 일로 만듭니다(= commit 이력이 남는가? O). 과거로 돌아가겠다는 이력을 남겨두고 원하는 시점으로..