충동알림창에서 Start MergeTool to resolve conflicts을 선택하여 MergeTool을 통해 수정하거나, 충돌이 일어난 파일을 수동을 찾아 직접 수정하여 충돌 해결
Project의 Team Menu->Add to Index 선택
Project의 Team Menu -> Rebase -> Continue Rebaes 선택
충동알림창에서 Start MergeTool to resolve conflicts을 선택하여 MergeTool을 통해 수정하거나, 충돌이 일어난 파일을 수동을 찾아 직접 수정하여 충돌 해결
Project의 Team Menu->Add to Index 선택
Project의 Team Menu -> Rebase -> Continue Rebaes 선택
어제 저에게 제목과 같은 일이 벌어졌습니다.
하나의 SVN에 여러개의 프로젝트를 등록해서 사용하고 있고
PC에서는 GIT를 사용하고 있었습니다.
여러 프로젝트를 작업하다가
그중 하나의 프로젝트를 commit 후 SVN 에 DCOMMIT을 했는데
중간에 간간히 뜨던 팝업을 그동안 그냥 무심코 Yes 를 클릭했었는데
무심코 마지막으로 뜨던 팝업에 No를 클릭했더니
commit 하지 않았던 프로젝트의 소스가 원래대로(commit 했던 상태) 돌아와버린것입니다.
우째 이런일이....ㅜㅜ;
그래서 정리해봤습니다.
작업한 사본이 명확하지 않습니다. 변경된 사항을 숨길까요?
No를 클릭하면 DCOMMIT 은 진행되지 않습니다.
Yes 를 누르면 DCOMMIT이 이루어지는데 그중간에 보면 commit 하지 않은 다른 소스들이 원래대로 돌아와있는 것을
확인할수있습니다. (후덜덜한 상태입니다....)
DCOMMIT 을 마치고 Close 버튼을 누르면
DCOMMIT 전에 숨겨놓은 변경사항을 다시 돌릴까요?
여기서 반드시 Yes 를 클릭해야됩니다.
No 를 선택하는 순간...
지옥의 문이 열릴겁니다. (아~ 디아블로 3 하고 싶다.)
(추가) 숨겨놓은 변경사항들을 다시 살리는 법이 있습니다.
마우스오른쪽버튼을 누르면 Stash save, Stash Pop, Stash List 라고 있습니다.
이곳에서 Stash List 를 확인후에 Stash Pop 을 이용하여 복구할 수 있습니다.^^
그리고 만일 DCOMMIT 하지 않고 commit 만 한 상태로
다른 프로젝트를 commit 하고 DCOMMIT 하면 기존에 commit 했던 부분도 같이 DCOMMIT 됩니다.
어떻게 생각하면 당연한 일이지만,
혹시 DCOMMIT 을 원하지 않았던 부분도 같이 DCOMMIT 되는 결과가 나오는 것이므로 주의 하세요.
저의 경우는 이렇습니다.
개인적으로 작업을 할때에 GIT가 편하고 유용한데 회사에서는 아직 SVN을 쓰고 있을때
(다른 경우는 생각을 안해봤습니다. 다른분들은 어떤경우인가요?)
GIT에 대한 강좌는 엄청 많지만 너무 이론적인 것이 많고 일반인이 그저
쉽게 TortoiseGit 등을 사용하는 경우에 참고할 수 있는 블로그는 개인적으로
http://blog.naver.com/empty_wagon?Redirect=Log&logNo=20144797011
이곳을 추천합니다.
저는 제가 사용하면서 했던것들을 정리해보도록 하겠습니다.
일단 회사시스템이 SVN이였습니다.
저는 GIT를 쓰고 싶었구요.
관리자나 아니면 직접 SVN서버에 저장소를 만들어놓았을경우에
그리고 그곳에 이미 소스들이 있을 경우에 어떻게 소스들을 받냐면요.
소스를 다운받을 폴더에서 마우스 오른쪽 버튼을 누르면
Git Clone 을 선택합니다.
SVN URL 을 입력하고 From SVN Repository 를 선택하고 OK 를 클릭합니다.
그런데 만일 전체 소스가 아니고 SVN에 올라와 있는 일부 디렉토리의 소스들만 필요한 경우가 있습니다.
특히 SVN는 그 기능이 비교적 단순해서 매번 여러개의 SVN Repository 를 만들지 않고
팀별 혹은 문서, 폴더 , 기타등등을 몰아서 하나의 Repository에 넣어놓는 경우가 종종있었습니다.
그럴경우에는
SVN/trunk/디렉토리경로.... 를 입력하고
위와 같이 Trunk, Tags, Branch 의 모든 체크박스를 언체크해주면 됩니다.
이번엔 필요한 작업을 마친후에 SVN에 등록하는 법을 설명하겠습니다.
작업중에 틈틈히 GIT에 commit 를 해주시고
마지막 commit 후에
DCommit 버튼을 클릭하면됩니다.
둘다 상관없지만 저는 Normal SVN Commit 를 사용합니다.
그럼 SVN에 Commit이 됩니다.
다른 방법으로는 작업한 폴더에서 마우스 오른쪽 버튼을 누르면
나오는 GIT 메뉴에서
SVN DCommit.. 을 선택합니다.
그이후는 전과 같습니다.
다음음 다른사람이 SVN에 Commit 한 소스를 update 하는 방법입니다.
마우스 오른쪽 버튼을 눌러서 GIT메뉴중에
SVN Rebase.. 를 선택합니다.
이상입니다. ㅎㅎ
maven 으로 jar 를 생성하여 배포할때 종속적인(dependency) 라이브라리들이 실행시 필요합니다.
war 프로젝트는 WEB-INF 라는 폴더아래로 필요한것들을 넣어주지만 jar에서는 일일히 dependency로 추가된
라이브러리들을 처리하는것이 무척 귀찮고 막막합니다.
하나씩 잡아줘보지만 한두개도 아니고....
이럴땐 2가지 방법이 있습니다.
첫번째는 dependency를 따로 폴더안으로 모두 복사해오고 META-INF/MENIFEST.MF를 수정하는 것입니다.
아래와 같이 플러그인을 추가하고 goal로 install을 실행하면 모든 dependency 들이 lib안으로 복사하여 모으고 jar파일생성시 META-INF/MENIFEST.MF를 수정합니다.
[WARNING] Error while parsing xx/xx.java: Can't use generics unless running in JDK 1.5 mode!
라는 메시지가 떠서 구글을 검색해봤는데메일설정(gmail)
SMTP server : smtp.gmail.com
Default user e-mail suffix : 비움
System Admin E-mail Address : gmail address
(체크) use SMTP Authentication
User Name : gmail address(전체주소)
Passwork : 비밀번호
Use SSL : 체크
SMTP Port : 465
Charset : UTF-8