2016-09-14 5 views
0

私は事前に謝罪します。私はgitのために非常に新しいですし、私はちょうどgitに格納されているプロジェクトを引き継いだ。ディレクトリ構造が変更されたときにgitをマージまたはリベースする方法はありますか?

私の状況です。私が引き継ぐプロジェクトには、私の組織では標準ではないディレクトリ構造があります。

新しいディレクトリ構造で新しいブランチを作成しましたが、git mvを使用しました。私は支店名を標準にする必要があります。すでに標準名を持つブランチがありますが、間違ったディレクトリ構造があります。

「開発」という名前のブランチで作業していますが、私たちが望むディレクトリ構造を持っています。私は主にマージを理解していますが、まだリベースは分かりません。基本的に私は他の非標準ブランチを "開発"ブランチと全く同じにする必要があります。

dir構造の変更のためにマージが機能しないため、私はすでに試しています。

他のブランチを「開発する」ようにするにはどうすればいいですか?

UPDATE:私は、リモートにプッシュしていなかったように私がいる限り練習ができ実現

。このコマンドは(これが表すあなたが

タイプにファイルを移動したいディレクトリに

CD:

以前、私は、ディレクトリ構造(「テスト」ブランチ)を変更する分岐の1つを選びました現在のディレクトリ構造を変更したい)

git mv OldDir1/OldDir2/*。

お知らせOldDir2/*

がコミットしてプッシュした後のスペース以下の末尾にピリオド、。注:これにより、各ファイルの履歴が削除されます。

私はこれも先に "開発"ブランチにしました。

今、両方のブランチ(開発、テスト)に新しいdir構造があります。その後

Gitのチェックアウトは、この時点で

を開発 Gitのチェックアウトテスト Gitのリベースを開発し、それがpodfileとpodfile.lockファイルを解決できませんでした。

Sourcetreeは、プル(2)とプッシュ(先行するコミットの数)を示しました。

私はいくつかのことを試しましたが、podfileを開発するためにsourcetreeを取得できませんでした。テストブランチからpodfileを取り出したいと思っていました。

私が2つのpodファイルであるpull(2)を解決するまでは、プッシュしません。

最後に、2つのpodファイルを取り出して、古くなってもコミット/プッシュしました。

私はそれらを変更して押します。

これは私が欲しかったことを達成しました。最近の変更点についていくつかのファイルをチェックして、 "テスト"が "開発中"であることを確認しました。

答えて

1

これは、明確に定義された、うまく機能しているプロジェクトでは望んでいませんが、単にマスターブランチをチェックアウトして、自分が行ったことを「開発」ブランチに複製することができます。

「開発」を「マスター」ブランチにマージできないのは本当にわかりませんが、マージの競合があれば、おそらくそれらを「開発」ブランチに引き込み、解決してくださいひどくたくさんの)紛争を引き起こし、マスターに再統合することも解決策になる可能性があります。あなたは原点に何も押し込まずにローカルでこれを行うことができます。元に戻らない限り「安全」です。構造があなたの望むものであると自信が持てるならば、あなたは「起源」に進み、あなたの変更はそのプロジェクトで働いている全ての人に見えます。

関連する問題