44

引っ張りたいだけです。GemfileファイルとGemlockファイルを無視するように変更があり、それらを上書きしてプルするだけでよかったと思います。変更を隠してみましたが、うまくいきませんでした。私は何をしますか?

git pull
M   Gemfile
U   Gemfile.lock
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
~/projects/sms/apps2/apps2_admin(apps2)$ git stash save "saved"
Gemfile.lock: needs merge
Gemfile.lock: needs merge
Gemfile.lock: unmerged (4ea16799dba7bfe1db28adecf36dee1af5195c1a)
Gemfile.lock: unmerged (e77439c9f86d1d0eda7ae0787e3e158f90959e68)
Gemfile.lock: unmerged (d690d3860db1aa8e46c1bb2f4de3e52a297b5c26)
fatal: git-write-tree: error building trees
Cannot save the current index state
~/projects/sms/apps2/apps2_admin(apps2)$ git pull
M   Gemfile
U   Gemfile.lock
Pull is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>'
as appropriate to mark resolution, or use 'git commit -a'.
4

4 に答える 4

82
git fetch origin
git reset --hard origin/master
git pull

説明:

  • Fetchは、別のリポジトリ、この場合は「origin」とマークされたリポジトリからすべてをダウンロードします。
  • リセットすると、変更が破棄され、リポジトリ「origin」内の前述のブランチ「master」に戻ります。
  • Pullは、リモートリポジトリからすべてを取得して統合します。

http://git-scm.com/docsのドキュメントを参照してください。

于 2014-08-22T18:26:51.763 に答える
44

git checkout <file>コミットされたバージョンのファイルをチェックアウトする(つまり、変更を破棄する)ため、またはすべてgit reset --hard HEADのファイルのコミットされていない変更を破棄するために使用できます。

于 2011-11-08T00:48:24.640 に答える
2

私はこれらの両方を試しましたが、それでも競合のために失敗します。忍耐の終わりに、私は別の場所でマスターのクローンを作成し、すべてを別のブランチにコピーしてコミットしました。続けさせてください。「-Xtheirs」オプションは私のためにこれを行うべきでしたが、そうではありませんでした。

git merge -s recursive -X theirs master

エラー:ファイルがマージされていないため、「マージ」はできません。ヒント:作業ツリーでそれらを修正します。ヒント:次に、ヒントとして「git add / rm」を使用します。解決をマークしてコミットするのに適しています。ヒント:または「gitcommit-a」を使用します。致命的:未解決の競合のために終了します。

于 2014-01-15T18:45:31.913 に答える
1

同じエラーが発生しましたが、次のように解決します。git merge -s recursive -X theirs origin/master

于 2013-05-22T17:23:11.393 に答える