1

マスター ブランチと開発ブランチを含むプロジェクトがあります。すべての変更は、開発ブランチでコミットする必要があります。誤って master ブランチに commit してしまい、Github にプッシュしてしまいました。このコミットは開発ブランチで必要です。最後のプッシュを元に戻すのは難しいため、このコミットを開発ブランチにマージしてから、開発ブランチをマスター ブランチにマージすることをお勧めします。

私がこれを行う場合:

git fetch origin
git branch

私はこれを得る:

* master

そして、私がこれを行うと:

git checkout development

私はこれを得る:

error: The following untracked working tree files would be overwritten by checkout:
(all kinds of files)
Aborting
4

2 に答える 2

1

ブランチを変更する前にクリーンアップするプライベート ファイルがあるため、最初に新しいクローンで状況を修正することをお勧めします。

git clone https://username@github.com/username/reponame anewclone
cd anewclone
git checkout -b development --track origin/development
git merge master
git checkout master
git merge development
git checkout development
git push origin development
git push origin master

次に、2 番目のクローンの開発インデックスとは異なる、元のレポのファイルを検討できます。

cd anewclone
git --work-tree=/path/to/first/clone status

これにより、2 番目のクローンが使用されますが、最初の作業ツリーが使用され、不足しているファイルを追加できるようになります。

于 2013-09-09T09:41:32.137 に答える
0

おそらく、 には知られていないがmaster、 には知られているローカル ファイルがありますdevelopment。これらのローカル ファイルに加えた変更を失うことを恐れない場合は、-fチェックアウトに強制フラグを追加できます。

git checkout -f development

私は、git が不平を言うファイル (より安全に感じる場合は別のフォルダーに保存してください) と、それらがどこから来たのかを調べます。

于 2013-09-09T08:20:09.177 に答える