2009-11-29 8 views
0

나는 조금은 곤경에 처해있다. 기본적으로 로컬 "master"자식 저장소가 있습니다. 몇 시간에 한 번씩, 내가 클라이언트 컴퓨터로 가져온 서버에 변경 사항을 적용 할 것입니다. 글쎄, 나는 천재이기 때문에 실수로 GITK를 사용하여 내 로컬 "마스터"저장소를 너무 멀리 롤백했습니다.깨진 로컬 "마스터"를 최신 상태로 유지하기 위해 "공용"git 서버에서 어떻게 가져 옵니까?

마지막으로 커밋 된 버전을 서버에서 다시 가져오고 내 로컬 버전이 "훌륭하게"동작하도록하려면 어떻게해야합니까?

최고.

편집 : 우수 답변 매우 감사!

+0

서버에서 클라이언트 중 하나로 끌어 와서 끌어온 결과를 복사 한 다음 마스터에게 다시 커밋 할 수 있습니까? – Amber

+0

그 답변이 정말 우수하다면 왜 투표하지 않았습니까? – innaM

답변

3

로컬 마스터가 여전히 cl이라고 가정합니다. EAN, , 아니 로컬 변경하지만, 서버의 repo에 마스터 뒤에 커밋 몇 개의, 당신은 단지 그것에서 끌어 필요 :

git pull server master 

을 위의 명령에서, server 다른 그 원격의 이름입니다 클라이언트가 (또는 URL 대신) 사용할 수 있습니다.

2

첫째, 숨겨 놓은 기존 변경 : 다음

git stash 

는, 실행 (로컬 저장소를 갱신하고자하는 원격가 origin 명명 할 것을 고려) :

git remote update origin 
git reset --hard origin/master 

이 적용 숨겨진 변경 사항 :

git stash pop