목록git (6)
Dharma
A 라는 브랜치에서 B 의 브랜치를 merge 하는 경우라고 치면 $ git checkout A $ git merge B 로 A 에다가 B 내용을 merge 하는 명령입니다. > 즉 위쪽에 있는 것이 (보통 git 에서는 HEAD 라고 붙어 있습니다.) 현재 내가 작업하던 브랜치 , 아래쪽이 다른 브랜치 (pull 명령중이면 리모트 브랜치)의 내용이니 비교해서 적용하면 됨
리모트 브랜치 그대로 업데이트 외부의 소스를 받아서 변경점 그대로 업데이트 하고 싶을 때가 있습니다. 즉 외부 소스를 받아서 컴파일을 해서 사용하는 경우인데 변경된 점이 남아 있어서 'git pull' 명령을 쓰자니 컴파일을 위해서 생성된 파일들과 merge 가 되버려서 관리가 힘든 경우가 있지요. 이때 지금 변경된 것을 무시하고 리모트 브랜치로 강제로 변경하는 방법에 대해서 알아보겠습니다. GIT 가이드 에 가시면 자세한 git 사용법에 대해서 배울 수가 있습니다. 사실 이 명령도 거기서 나온 방법이지요. $ git fetch origin $ git reset --hard origin/master 자주 안 쓸거 같아서 알고만 있었는데 의외로 자주 사용하게 되더군요.
저는 Command Line 에서 GIT 을 쓰고 있습니다. '뭐든지 가장 기본이 되는 것부터 마스터를 하자!' 라고 평소 떠들고 다니기도 하지만, CLI (Command Line Interface) 가 가장 마음이 편안해 (?) 지는 환경이기 때문이도 합니다. 그러나 Eclipse 에서 개발이 최적화 되어 있는 분들은 어떤 방식이 되도 무조건 Eclipse 에서 돌아가길 원합니다. (진정한 IDE 라고 할 수 있죠) 그런분들에게 추천하고 싶은 포스트가 있습니다. http://www.vogella.com/articles/EGit/ 일단 포스트 주소입니다. 그리고 이 포스트와는 별도로 저 분의 사이트는 안드로이드 개발하는 분들에게 참조가 될 만한 내용을 정말 많이 가지고 있어서 즐겨찾기 해두시고 가끔가다 ..
색이 나오고 안 나오고의 차이가 무지 큽니다. 세팅도 쉽습니다. $ git config --global color.ui true 위에 것만 Command Line 상에서 쳐 주시면 끝!!
GIT 은 소스 레파지토리 시스템인데 그 중에 특별히 '분산' 개념이 들어가 있습니다. 다른 레파지토리랑 (cvs, svn) 비교를 많이 하지만 '분산' 이라는 점에서 많은 차별점이 있습니다. 원래 태어날 때도 여타 소스 레파지토리에 '분산' 기능이 없기 때문에 태어났기도 합니다. 조금 쉽게 이해를 하자면, GIT 은 기본적으로 제 Local 에 레파지토리를 가지고 있는 방식이라고 볼 수 있습니다. 즉 중앙 개념이 희박합니다. Local 에서 리비젼 관리가 완벽하게 이루어 집니다. Remote(원격) 개념은 공동 작업을 할 때 필요하다고 보면 될 것입니다. 결국 push / pull 은 원격에만 관여하는 것이고 나머지 기능들은 Local 에서 소스 관리하는 기능이라고 보시면 됩니다. (자질 구레한 것은 ..
https://github.com/ 를 이용하면 좋지만 대중에게 공개를 하지 않고 나만의 공간에 git 서버가 있으면 좋겠다고 생각하신 분들이 있을 것입니다. 그런 분들을 위한 개인적인 세팅방법을 알려드리겠습니다. 저도 사실은 얼마전까지 svn (subversion) 을 사용하는 사람중에 한명이였습니다. 개발 환경 세팅 과 업무에 필요한 자료 & 개인적인 메모들을 svn 서버에 올려다 두고 어디서건 동기화 시켜서 바로 업무에 활용할 수 있게 설정해 두고 있었습니다. 그러던 와중에 기생하고 있던 서버가 사라지는 바람에 개인적인 서버를 가지게 되었고 개인 서버를 가지게 된 김에 git 서버를 설치하자고 생각해서 이리 설치하게 되었습니다. 1. git 서버가 설치될 위치에 git 를 설치합니다. $ sudo ..