어제 저에게 제목과 같은 일이 벌어졌습니다.

하나의 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 되는 결과가 나오는 것이므로 주의 하세요.



Posted by 빨강토끼
,

저의 경우는 이렇습니다.

개인적으로 작업을 할때에 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.. 를 선택합니다.


이상입니다. ㅎㅎ


Posted by 빨강토끼
,