1. ホーム
  2. git

[解決済み] 「SourceTreeでプッシュしようとすると「タグがすでに存在するため、更新が拒否されました。

2022-04-26 04:41:51

質問

ソースツリー経由でPushしようとすると、以下のエラーが発生します。

git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree push -v --tags origin refs/heads/master:refs/heads/master 
Pushing to https://[email protected]/repo.git
To https://[email protected]/repo.git
 = [up to date]      master -> master
...
 ! [rejected]        example_tag -> example_tag (already exists)
updating local tracking ref 'refs/remotes/origin/master'
error: failed to push some refs to 'https://[email protected]/repo.git'
hint: Updates were rejected because the tag already exists in the remote.
Completed with errors, see above

私が知る限り、このタグには何の変更も加えていません。どうすれば直せますか?

どのように解決するのですか?

保持したいタグにローカルな変更を加えていない場合は という理由で拒否されたタグを削除します。 すでに存在する ( example_tag この場合)。

  1. タグを右クリックして、削除を選択します(必ず チェックをはずす すべてのリモートからタグを削除する のチェックボックス)にチェックを入れてください。
  2. を選択します。 フェッチ オプション(すべてのタグをローカルにフェッチして保存します。 ない を有効にする必要があります)。
  3. これで、削除されたタグが元に戻り、次のような試みができるはずです。 プッシュ は、もうエラーメッセージを表示しません。

SourceTreeでこのようなことがよくあるのは すべてのタグをプッシュ オプションは オン をデフォルトで使用します。(このエラーを非表示にするには、このオプションのチェックを外すという方法もあります)。