14

私はリポジトリマスターを持っており、file1.txtとfile2.txtを使用しています

git checkout -b fix1

次に、file1.txtを変更します

そして私は

git commit -a

それから私はします

git checkout master

それから私はします

git checkout -b fix2

次に、file2.txtを変更します

そして私は

git commit -a

その後git checkout master

git merge fix1
git marge fix2 

しかし、私がするなら

 commit -a 

私は得る

#ブランチマスター上
コミットするものはありません(作業ディレクトリはクリーンです)
4

3 に答える 3

17

git merge自動的にコミットします。コミットしたくない場合は、--no-commit引数を追加します。

  --commit, --no-commit
      Perform the merge and commit the result. This option can be used to override --no-commit.

      With --no-commit perform the merge but pretend the merge failed and do not autocommit, to give the user
      a chance to inspect and further tweak the merge result before committing.
于 2013-02-12T15:34:13.510 に答える
3

マージが競合なしで成功した場合、gitは自動的にそれをコミットします(これはチェックするだけで確認できるはずですgit log)。

ドキュメントノート(強調を追加):

...「gitmergetopic」は、トピックブランチがマスター(つまりE)から分岐してから現在のコミット(C)までマスター上で行われた変更を再生し、その結果を新しいコミットとともに新しいコミットに記録します。 2つの親コミットの名前と変更を説明するユーザーからのログメッセージ

これを回避したい場合は、--no-commitフラグを使用してください。

git merge --no-commit fix1
于 2013-02-12T15:33:53.937 に答える
1

競合のないマージされたファイルは、すでにマージされています。マージされたファイルを直接プッシュできます。

于 2013-02-12T15:34:19.063 に答える