2011-05-13 5 views
3

나는 어리석은 짓을했습니다. 나는 서둘러서 노트북에 코드가 필요했기 때문에 USB 드라이브를 사용하여 데스크탑에서 노트북으로 전체 개발 디렉토리를 복사했습니다.복사 된 저장소에서 원격 및 로컬 변경 사항을 병합하려면 어떻게해야합니까?

어쨌든 개발 디렉토리에는 내가 마지막으로 가져온 이후로 다른 사람이 밀어 넣은 여러 커밋이있는 자식 프로젝트가 포함되어 있습니다. 문제는 노트북의 코드를 변경 한 것이고, 데스크탑 PC의 드라이브가 고장났습니다. 내 랩톱에는 git (아직)가 없기 때문에 파일을 내 PC로 전송 한 다음 새 코드와 병합 할 수 없습니다.

일단 내가 자식을 설치하면 어떻게해야합니까?

답변

2

큰 재앙이 아니기 때문에 자식이 이런 유형의 문제를 처리하도록 설계되었습니다. 당신은 단지 다른 저장소를 만들었다는 것을 명심해야합니다. 어떤 변화가 있었는지에 대한 세부 사항없이 구체적인 조언을하는 것은 어렵지만 분기, 체리 피킹 커밋 등의 현명한 사용을 통해 비교적 시간이 걸릴 수 있지만 해결하기는 쉽지 않습니다.

당신의 기술 수준에 따라, 예를 들어 상대적으로 새로운 경우, 이것은 극복 할 수없는 도전처럼 보일 수 있습니다. 체리 피킹, 분기 및 합병, 원격 저장소로 푸시하는 방법 (및 추가 리모컨을 추가하는 방법) 등을 수행하는 방법에 대해 읽어 보시고, 위의 내용 중 상당 부분을 수행해야 할 수도 있습니다. . 개별 리포지토리를 개별 엔터티로 효과적으로 처리 할 수 ​​있어야하며, 리포지토리를 밀어 넣거나 끌어 와서 동기화 할 수 있어야합니다. (실제로 리포에서 폼을 변경하여 변경 사항을 가져오고 날짜를 밀고 다른 dev repo에 다시 당기기 전).

몇 가지 빠른 검색으로 찾을 수있는 웹에 훌륭한 자료가 있습니다.

더 이상의 정보가 없으면 무엇이 관련 될 수 있는지 말할 수 없습니다.

두 저장소를 하나의 컴퓨터에 넣으면 (다른 디렉토리에 두 저장소를 놓고 실수로 다른 저장소를 복사하지 않으려는 경우) 가장 쉬운 방법입니다. 그런 다음 동일한 머신에서 "메인"저장소에서 변경 사항을 가져 오려는 다른 저장소를 가리키는 원격 저장소를 설정하십시오. 원격 저장소와 헤드를 시작하려면 '자식 가져 오기'를 수행하는 것이 가장 좋습니다 수동으로 병합 프로세스 (끌어 오기를 수행하고 모든 항목이 자동으로 병합되지 않고 원하는 작업이 아닌). 일단 그렇게하면 체리 선택 및/또는 여가 시간에 병합 할 수 있습니다.

+3

좋은 답변이지만 다소 지나치게 생각할 수도 있습니다. 로컬 변경 사항을 적용하는 것처럼 간단해야하며, 바탕 화면에서 뽑은 마지막 사람을 찾아서 끌어 내야합니다. –

+0

아, 좋은 지적 칼, 나는 또한 그가 드라이브 실패했다는 사실을 간과한다고 생각합니다. 예, 실패한 드라이브 마이크에서 작업을 복구 할 수 없다면 Karl이 제안한 것처럼 간단하게 유지하는 것이 좋습니다. –

0

일단 자식이 설치되면 새로운 변경 사항을 가져 와서 병합 할 수 있습니다. 그게 전부 야.

관련 문제