2016-07-03 4 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リモコンに置き換えました。 githubリモコンは自分の構造変更を認識しています。しかし、ソースリモートはそうではありません。あるいは私はあなたのヒントを誤解しましたか? – Haini

+0

ああ、たぶんあなたの説明に従わなかったかもしれません。ローカルのクローンではなく、*リモート*でこれらの構造変更を行いましたか? –

答えて

0

あなたの説明からあなたが取った行動の順序は不明です。しかし、あなたのフォークされたレポ(それをforkと呼ぼう)が元のレポよりも先にある場合(それを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

関連する問題