1

私はgitに切り離された頭を持っています。コミットしたり、変更を保存したりすることに興味はありません。ブランチの先頭に移動したいだけです。私は彼のコマンドを試しましたが、うまくいきません:

 git checkout MyBranch

何か助けはありますか?

- - アップデート

チェックアウトしようとすると、次のメッセージが表示されます。

 $ git checkout -f master
 Switched to branch 'master'
 Your branch is behind 'origin/master' by 6 commits, and can be fast-forwarded.

--- 更新 2 いくつかの変更があると表示されていますが、どうすれば削除できますか?

$ git merge origin/master
Updating fb5972a..28c2849
error: The following untracked working tree files would be overwritten by merge:
  ---
Please move or remove them before you can merge.
Aborting

どうすればそれらを破棄できますか?

これらのコマンドは機能しませんでした:

$ git checkout -- .


$ git stash save --keep-index
No local changes to save
4

3 に答える 3

5

これは、切り離された頭に変更を加えたために発生する可能性があります。
あなたがそれらを気にしないと言ったように、変更を破棄するチェックアウトを強制してみてください。

git checkout -f MyBranch

git help checkoutマニュアルページから:

  -f, --force
      When switching branches, proceed even if the index or the working tree differs from HEAD. This is used to throw away local changes.

      When checking out paths from the index, do not fail upon unmerged entries; instead, unmerged entries are ignored.

ブランチ「マスター」に切り替えました

それで、あなたは今master ブランチにいます。

あなたのブランチは 'origin/master' から 6 コミット遅れています。

これは、リモートのマスター ブランチに更新があることを意味し、ローカル ブランチを更新してリモートに一致させる必要がある場合があります。既に origin/master ブランチを取得しているため、git はローカル ブランチがリモート ブランチの背後にあることを認識しています。

そして早送り可能。

これは、リモート ブランチに線形の変更が加えられ、ローカル ブランチのマージ/更新で競合が発生しないことを意味します。

ローカル ブランチを更新するには、origin/master ブランチをそれにマージします。

git merge origin/master

エラー: 次の追跡されていない作業ツリー ファイルは、マージによって上書きされます:

これは、ローカルにいくつかのファイルがあり、追跡されていない (git で追加およびコミットされたことがない) ファイルがあり、新しい変更 (マージ) が監視および追跡するファイルの git リストに追加されることを意味します。そのため、追加される予定の新しいファイルは、リポジトリ上の追跡されていないローカル ファイルと混同されます。

これを解決するには、それらのローカル ファイルを削除するか、名前を変更するか、別の場所に移動して、リモート ブランチを再度マージしてみてください。

于 2012-05-08T11:02:39.600 に答える
0

を実行してgit status、ファイルを変更したかどうかを確認します。次に、変更されたファイルを削除すると、頭をグーグーgit checkout .できるはずです。git checkout MyBranch

于 2012-05-08T17:46:17.190 に答える
0

変更をstash行うと、切り離されたヘッドに関連する作業ディレクトリがクリーンになり、必要なブランチをチェックアウトできるようになります。

目的のブランチに移動したら、stash popそれらの変更を元に戻すことができます。マニュアルにはたくさんのオプションがあります;-)

于 2012-05-08T17:11:39.467 に答える