2016-07-03 7 views
0

다음과 같은 상황이 있습니다. 소스의 폴더 구조를 유지하지 못한 로컬, 분기 및 사용자 정의 git 프로젝트.리모컨을 git 프로젝트의 로컬 하위 디렉토리에 병합하십시오.

~/dwm/dwm/* and ~/dwm/dwmstatus/*은 내 git 프로젝트의 새로운 구조입니다.

이제 로컬 소스 저장소에 최신 소스를 패치하고 싶습니다. 나는 git remote add http://git.suckless.org/dwm/하고 풀다.

어떤 일이 발생합니까? 당겨 받기는 서브 디렉토리를 무시하고 (처음에 어떻게 알아야합니까?) ~/dwm/*으로 완전히 끌어 당깁니다.

질문 : 소스 원격에서 ~/dwm/dwm/* 하위 폴더로 어떻게 병합 할 수 있습니까? 내가 시도한 것 : git checkout HEAD dwm/ 그리고 당긴다. 이것은 디렉토리가 이미 최신 정보이기 때문에이 트릭을 수행하지 않았습니다.

+0

당신이 당신의 구조 변경을 저지른 경우 :

예를했다. –

+0

@OliverCharlesworth : 나는 소스 저장소에 아무런 영향을 미치지 않는다. 나는 그것을 포크로 만들었고, 오래된 원격 장치를 제거하고 그것을 원격으로 교체했다. github 리모컨은 구조 변경을 알고 있습니다. 그러나 소스 리모컨은 그렇지 않습니다. 또는 나는 당신의 힌트를 오해 했습니까? – Haini

+0

오, 아마도 당신의 설명을 따르지 않았을 것입니다. 로컬 복제본이 아닌 * 원격 *에서 이러한 구조적 변경을 수행 했습니까? –

답변

0

귀하의 설명에서 귀하가 취한 조치 순서가 확실하지 않습니다. 그러나 포크로 찍은 레포 (정확히 라고 부름)가 원래의 레포 (정확히는 original라고 부름)보다 앞서있는 경우 로컬 리포에서 새 리모컨으로 설정하고 리포에서 철수하면 구조 조정이 복제되어야합니다. 이 더 많거나 적은 단지 일을해야

## Create original repo ## 
git init original 
cd original 
echo "a" > a.txt 
echo "b" > b.txt 
git add . 
git commit -m "Initial commit" 
cd .. 

## Clone the original (this is your local copy) ## 
git clone original local 

## Emulate fork with restructured content ## 
cp -r original fork 
cd fork 
mkdir c d 
mv a.txt c 
mv b.txt d 
git add . 
git commit -m "Move stuff around" 
cd .. 

## Add the fork as a remote and pulling ## 
cd local 
git remote add fork ../fork 
git pull fork master 
+0

잠시 동안 당신의 솔루션으로 땜질 한 후에 나는 그것이 어떻게 작동해야 하는지를보고 나의 필요에 적응 시켰습니다. 감사! – Haini