1

ToolTwist Designer から同期するとき、公開したいファイルを選択しますが、[OK] を押すとエラーが表示され、同期が失敗し、サーバー ログ ファイルを確認するようにというメッセージが表示されます。

再試行すると、選択したファイルがリストに表示されなくなりますが、Git を確認すると、それらがリポジトリにプッシュされていないことがわかります。

ログ ファイルを見ると、プッシュが失敗したことがわかります。webdesign ディレクトリに移動してプッシュ コマンドをテストすると、同じエラーが表示されます。

$ git push --dry-run
To git@github.com:MyRepository/design-project.git
 ! [rejected]        master -> master (non-fast-forward)

「design」ブランチを使用しているため、「master」ブランチでエラーが発生する理由がわかりません。

4

1 に答える 1

0

通常の状況では、デザイナーは通常「design」という名前の 1 つの git ブランチのみを使用します。上記のエラー メッセージは、master ブランチでの競合を示しています。

変更はローカル マシンのマスター ブランチにコミットされているがプッシュされていないように見えますが、他の場所の変更はマスター ブランチにコミットされ、リモート リポジトリにプッシュされています。

この競合を解決するには、マスター ブランチをチェックアウトし、プルを実行してリモートの変更をマージする必要があります。そうすれば、次のプッシュが機能します。終了したら、デザイン ブランチに戻すことを忘れないでください。

[stop the Designer]
$ git checkout master
$ git pull
[resolve any conflicts]
$ git push origin master

$ git checkout design
[start the Designer]

デフォルトでは、git はすべてのブランチにコミットをプッシュしようとします。この場合、マスター ブランチでの競合により、デザイン ブランチでの Web デザインの変更がコミットされないことがあります。これを防ぐには、現在のブランチのみをプッシュするように git のデフォルトの動作を構成できます。

$ git config push.default current

master ブランチが変更されている理由 (および 2 つの場所) を調査することもできます。

于 2012-11-06T22:20:19.527 に答える