VSCODE(Visual Studio Code) 환경에서 많이들 Github를 연동해서 자주 사용하게 될 것이다.
이 포스팅은 Windows, VSCode 개발 환경에 대한 예제이다.
GitHub를 통하여 혼자 형상관리를 진행하며 프로젝트를 작업하는 경우는 Pull과 Push가 자유롭게 이뤄지면서 충돌이 일어나지 않는다. 하지만 다수의 인원과 프로젝트를 협업하는 경우 Git 기반의 GitHub 또는 GitLab 등의 다양한 형상관리 도구를 통하여 프로젝트 형상을 관리를 진행하게 될 것이다. 그렇다면 진행중에도 다수의 협업 인원이 자유롭게 Push[Commit]를 진행하다 보면 본인이 수정했던 부분과 협업인원이 수정했던 부분에 대한 코드가 동시에 변경되면서 충돌을 일으키는 경우가 있을 수 있다. 그러한 충돌 이슈 사항이 아래의 에러 사항을 불러온다.
Please clean your repository working tree before checkout. |
위의 에러 사항을 해결하기 위해서는 아래와 같이 TERMINAL 창을 띄워서 git stash를 작성하면 원래 작성했던 내용들이 모두 작성 이전 상태로 돌아가게 된다. 명령어를 입력하면 코드가 모두 사라지듯 보일 것이다. 하지만 사라지는 것이 아닌 git stash 명령어는 본인이 작성했던 코드들을 임시 저장을 도와주는 명렁어이다.
이후 Fork 또는 GitHub Desktop에서 Pull을 받거나 vscode에서 Pull을 받으면 된다.
git stash를 통해서 협업 인원의 코드를 Pull 받았다면 기존에 작성중이던 또는 작성을 진행했던 내용들을 다시 불러와야 한다. 터미널 창에 git stash pop를 작성하면 기존에 작성했던 내용들이 나온다. 이때 Changes 창에서 본인과 협업한 인원들의 겹치는 변경사항들이 있을 것이다. 맨 좌측의 경우 본인의 코드를 기반으로 Merge를 진행하게 된다. 만약 본인의 코드가 Merge 즉 병합의 대상이 아니라면 키워드에 맞게 수정을 진행하면 된다.
모두 수정을 통해서 Merge로 본인 코드와 협업자의 코드를 합쳤고, stash pop로 본인의 코드가 모두 정리되면서 끝났다면 Push를 진행하면 된다. 이때 코드에 대한 설명을 간략하지만 구분할 수 있도록 작성하고 Commit을 진행하는 것이 좋다.
Push를 진행하는 Commit의 단위는 기능 단위로 진행하는 것이 좋기 때문에 자주 진행해 주는 것을 목표로 하자.
위 포스팅은 에러를 해결하는 초점이므로 git stash에 대해서 기능별로 정리되지 않았습니다. 다음에 기회가 생긴다면 상세히 하는 포스팅을 진행하도록 하겠습니다!
짧은 포스팅 읽어주셔서 감사드립니다. 다음 포스팅 때 뵙겠습니다!
'Error 모음' 카테고리의 다른 글
[ERROR] [Eclipse] Cannot invoke substring (0) | 2022.08.01 |
---|---|
[ERROR] [이클립스 Eclipse] Save Failed illegal value 에러 (0) | 2022.07.26 |
[ERROR] Launch configuration JavaToJavaConverter.213 에러 (0) | 2022.07.26 |
[ERROR] typeerror cannot read properties of undefined (0) | 2022.05.11 |
[ERROR] Node.js MYSQL (Database) 연동시 에러 (0) | 2022.03.24 |