質問

私は何かに取り組んでいて、それが完全にねじ込まれていると決めました...その一部を犯した後。そこで、次のシーケンスを試しました。

git reset --hard
git rebase origin
git fetch
git pull
git checkout

その時点でメッセージを受け取りました

Your branch is ahead of 'origin/master' by 2 commits.

地元のコミットを捨てたいです, 、ローカルディレクトリを一掃して、すべてを再ダウンロードする必要なく。どうすればそれを達成できますか?

役に立ちましたか?

解決

git reset --hard origin/master

すべてのコミットを削除しません origin/master どこ origin レポネームです master ブランチの名前です。

他のヒント

余談ですが、Mipadiの答え(ちなみに機能するはずです)とは別に、次のことを知っておく必要があります。

git branch -D master
git checkout master

また、あなたが望むことも正確に行います having to redownload everything (あなたの引用は言い換えられます)。これは、ローカルリポジトリにリモートリポジトリのコピーが含まれているためです(そのコピーはローカルディレクトリと同じではなく、チェックアウトブランチと同じではありません)。

ブランチの拭き取りは完全に安全であり、そのブランチが非常に高速でネットワークトラフィックが含まれないことを再構築することができます。 Gitは、主にデザインによるローカルレポジットです。リモートブランチでさえ、ローカルにコピーを持っています。特定のローカルコピーが実際にはリモートブランチであることをGitに伝えるメタデータは少ししかありません。 GITでは、すべてのファイルが常にハードディスク上にあります。

マスター以外のブランチがない場合は、次のようにする必要があります。

git checkout -b 'temp'
git branch -D master
git checkout master
git branch -D temp

私がしていることは、私が頭を向けて一生懸命リセットしようとすることです。これにより、地元のすべてのコミットが一掃されます。

git reset --hard HEAD^

実行する必要があります

git fetch

すべての変更を取得すると、「あなたのブランチが先にある」というメッセージが表示されません。

リモートが同期しなくなり、更新する必要があるインスタンスを見てきました。もし reset --hard またはa branch -D 仕事に失敗して、試してみてください

git pull origin
git reset --hard 

私はしなければなりませんでした:

git checkout -b master

Gitが言ったように、それは存在しないと言っています。

git -D master
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top