0

私は非常に単純なリポジトリを持っています。SourceTree で 2 つのコミットを行いました。次に、ブランチを作成しましたworking。にコミットしましたworking

状況

私は今、それをマスターにマージして、線形の履歴を持つようにしたいと考えています。私は git が初めてで、何が間違っているのかを確信しています。この時点で、作業コピーの変更がないにもかかわらず、エラーが発生するため、マスターをチェックアウトできません。

git -c diff.mnemonicprefix=false -c core.quotepath=false checkout master
error: Your local changes to the following files would be overwritten by checkout:
    web/index.html
    web/js.js
Please, commit your changes or stash them before you can switch branches.
Aborting

master ブランチ/リビジョンを右クリックしてmergeorをクリックしrebaseても効果がありません。私は何を間違えましたか?使用すべき「標準」ワークフローは何ですか?

編集:私がすべきことは だと思いますがcheckout master; merge working、マスターをチェックアウトできない理由がわかりません。

EDIT2:workingブランチ/コミット(ステージングされているだけでなく、実際にコミットされている)を見ると、エラーで不平を言っている正確なファイルが表示されます。

EDIT3:実行時にエラーが表示されますgit status:

$ git status
web/index.html: Permission denied
web/js.js: Permission denied
# On branch working
nothing to commit, working directory clean
4

2 に答える 2

0

エラーメッセージが示しているのは、現在、コミットするためにステージングされている変更がありworking、ブランチをmaster.

  • 変更をコミットしたくない場合は、代わりにそれらを隠します。これにより、いつでも戻って適用できる変更セットのスタックが作成されます。

  • 変更をコミットしたい場合は、ブランチを一緒にマージします。これは非常に簡単な (そして典型的な) コミットであり、その後、切り替えmastergit merge working.

  • 本当に変更を加えていないと思う場合は、 を実行してreset --hard HEAD、ステージングされた変更がないことを確認します。

于 2013-10-11T04:36:18.750 に答える