2016-05-14 7 views
0

おはよう。私は独自のGitLabプロジェクトを持っており、これは.NET開発プロジェクトです。私はgitツールでVisual Studio 2013を使用しています。この強力なコンボでは6ヶ月間完全な利点がありました。しかし、今や新しい人々がプロジェクトに統合しています。だから私はいくつかのファイルとディレクトリを削除してこのプロジェクトの裸のクローンを作っている異なるワーキンググループのために。最初のものはウェブ開発のためのものでした。gitマージでのファイルの削除を制限する

この時点で、私はWebプロジェクトから大きなものにマージするテストを行いました(クラスlibsとWebプロジェクト自体があります)。それは素晴らしいことでした。今一週間後、私は最初の本物のマージの準備ができました。それは失敗した。大きなプロジェクトは、私が小さなもので消去したファイルとディレクトリを削除しました。

私は間違っていますか?私はコマンドが同じであると確信しています。私はそれらを私のブロックノートに書き留めます。しかし、この行動は私にとっては新しいものです。だから私は、マージプロセスが実行されているときに大きなものの削除を制限する方法を探しています。

私は誰でも助けてくれますか?事前のおかげ

中 - == UPDATE == -

私はちょうど私のテストは、大きなものから小さなものにしたことを実現するためにきました。

git clone WebVista http://versioner.domain.com/omelendez/WebVista.git 
git remote add WebMVC http://versioner.domain.com/omelendez/WebMVC.git 
git fetch WebMVC 
git checkout -b WebMVC WebMVC/master 
git checkout master 
git merge WebMVC

VSで競合が解決されました。ここには、完璧にここで動作します。 gitが無視するため、クラスライブラリを追加していないので、ディレクトリやファイルを削除するために使用しました。私はクローンをしたとき、私はクラスライブラリプロジェクトを無視し、これらのコマンドを実行しました:

git rm -r --cached . 
git add . 
git commit -m "Web Development Project"

男は、このプロジェクトが彼の変更を行い、マージ要求を行ったフォーク。それは良い部分です

私はまだ大きなものにどのようにマージする手がかりがありません。誰かがそれについて考えているなら、その人がそれについて書くことができれば感謝します。

答えて

0

しばらくして、私はこれを解決できました。 deleteアクションは、複製されたリポジトリで行われたときにgitの履歴にトレイルとして残ります。だから私がしなければならなかったのは、前のコミットからすべてのファイルを復元することです。 "悪い" マージ後

 
git checkout HEAD~1 -- filename.ext 
git checkout HEAD~1 -- directory1 <-- (If u need to restore a whole directory) 

Later in the VS I made the changes respectively, about adding the projects manually. Then commit and sync. 

おかげでサポートのため#git IRCチャンネルにcbreakモードにします。それはとてもうまくいく。

関連する問題