Hello! 여러 개발자와 함께 개발을 하다보면, 어떤 경우에는 같은 위치의 코드를 동시에 수정하게 되고 이를 같은 브랜치로 반영할 때에 충돌이 발생하게 됩니다. 이럴 때에는 해당 코드의 충돌을 수정해줘야 성공적으로 push 또는 merge를 할 수 있는데요. 한번 해당 상황을 만들어 sourcetree에서는 어떻게 충돌을 해결할 수 있는지 살펴보겠습니다 ㅇ3ㅇ conflict 상황 만들기 저는 main, alpha, beta 브랜치를 따로 생성하여 충돌이 발생하는 상황을 만들어보았습니다. 동일한 commit에서 두 브랜치 alpha, beta 브랜치를 생성합니다. 그리고 alpha 브랜치에서 수정된 변화들을 먼저 main 브랜치로 merge를 하고, main 브랜치를 beta 브랜치로 merge 하며 ..
Hello! 맥에서 처음 git을 세팅하며 repository clone은 정상적으로 이루어졌으나, pull을 하려고 하니 아래와 같은 에러가 발생하였습니다. 으아닛? git은 SSH 프로토콜을 사용하여 remote 서버와 통신합니다. 그리고 사용자 인증을 위해 personal access token, username, pwd 이 세 가지를 사용합니다. 그렇기 때문에 유저의 access token인 SSH Key(public key)가 유저의 기기에 세팅되어 있지 않으면 이와 같은 Permission denied 접근 권한 에러가 발생하게 되는 것이죠! 해결 방법은 git Docs에 친절하게 설명이 되어있어서 저도 한번 매뉴얼을 따라가 보았습니다!! 같이 해보실까요? / git Permission den..
try 구문 Exception을 처리하는 첫 번째 단계이다. 예외가 발생할 코드들을 try 구문에 포함시킨다. catch 구문 try 구문과 함께 사용되며 1개 이상의 catch 블록을 가질 수 있다. 각각의 catch 블록은 명시된 exception이 발생하였을 경우 실행된다. try { } catch (IndexOutOfBoundsException e) { } catch (IOException e) { } 1개의 catch 문은 1개 이상의 exception을 한 코드에서 처리할 수도 있다. try { } catch (IOException|SQLException ex) { logger.log(ex); throw ex; } finally 구문 finally 구문은 try 구문 처리 후 항상 실행된다. ..