質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Q&A

1回答

1290閲覧

VisualStudio Codeでのマージ後のコミットが進められません

FugahogeDS

総合スコア23

Visual Studio Code

Visual Studio Codeとは、Microsoft社が開発したマルチプラットフォーム対応のテキストエディタです。Visual Studioファミリーの一員でもあります。拡張性とカスタマイズ性が高く、テキストエディタでありながら、IDEと遜色ない機能を備えることができます。

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

0グッド

0クリップ

投稿2022/12/12 04:00

編集2022/12/12 20:19

前提

Visual Studio code(vscode)にて、競合発生後の対応コミットが進められないという問題で困っています。
GUI操作的に、どうやったらこのあと進められるのでしょうか?

発生している問題・エラーメッセージ

あるリポジトリをコラボレータ設定で共有し、同じファイルの同じ/近い場所を編集すると、後からのコミット側で競合が発生します。もちろんこの理屈はわかってます。

ところが競合を編集して解決した後、該当ファイルをステージに上げてコミットしようとすると、こんなメッセージがついてコミットが進みません。

イメージ説明

該当のソースコード

現在の行で50からnn文字オーバー

試したこと

上記のエラー画面の下(緑色ボタン)で↑n↓m(m>0)がでているため、git pullをパレットからやってもマージのコミット処理中ということになって完了できません。

ただ、ターミナルを開いて

$ git commit

で編集中になっているファイルを保存(viして:wq)し、コミットを継続させると↑n↓0となってpushに成功することは確認できています。
なので、エディタ側でコミット処理がうまく機能していないという感じです。

補足情報(FW/ツールのバージョンなど)

  • vscodeのオンライン版(1.74.0)
  • macOS上でのvscode(1.74.0)

いずれでも発生しております。

お返事に基づく確認

bsdfan様

ありがとうございます。なるほどvscode上の設定の話なのですね…
状況を再現してみました。

×ボタン部分を閉じてコミットをするようにしてみました。
イメージ説明

順当なエラーが出て一歩進んだと思いますが、既に手動のマージコミットをした状態なので、"0↓2↑"などになっているのが正しいように思います(他の人がコミットを送っていないこと前提)。
仕方ないのでパレットでgit pullしてみましたが変わりませんでした。

その上でパレットでgit commitしましたが、『コミットするものがない』と言われて動けませんでした。
でも端末を開いてgit commitするとマージコミットのメッセージ編集がタブで開かれました、保存して閉じた後に上下が動きました(0↓2↑)。

イメージ説明

手動マージ後に素直に該当ファイルの追加→コミット処理で"2↑"になってくれないと気持ち悪いところがまだ残ってしまいました…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

vs codeのgitのコミットメッセージの上限が、デフォルトでは50文字になっています。
(git.inputValidationSubjectLength)
50文字を超えて、50+26=76文字になっているという警告です。

警告なので、問題なければ、×を押して警告を消して、そのままコミットに進めばいいです。
もしくは、その上の部分のメッセージを、自分で編集して短くすれば、警告を消せると思います。

投稿2022/12/12 07:37

bsdfan

総合スコア4899

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

FugahogeDS

2022/12/12 20:00

なるほど、vscode側の設定にあったのですね。試してみます。結果は質問記事に追記させていただきます。
bsdfan

2022/12/12 23:30

やりたいことは何で、具体的にどういう操作をして、どうなっているかを整理いただくといいと思います。 今言えるのは、競合の解決ができていないのではということでしょうか。merge(pull)はちゃんとできますか?
FugahogeDS

2022/12/13 02:41

すみません、UI的にmergeがマージエディタ上などでできているし、ステージにも上げているのに、ボタンが押せない、↑↓の数がおかしいということです。 実際には手動での競合対応は完了しているのですが、UI的にマージコミットの処理が進められないという状況です。 (ですので端末でgit commitを走らせるとメッセージを書いている途中のものが出て、保存するとローカルでのマージが完了しているのです)。 むしろUI側の問題ではないかというところで、調べていると、コレかもしれないというのはありました。 → https://github.com/microsoft/vscode/issues/156576 実際このやりとりでもworkaroundとして"git commit"を[端末上で実行している](https://github.com/microsoft/vscode/issues/156576#issuecomment-1198176082)ようです
bsdfan

2022/12/13 03:41

症状が同じように見えますし、こちらの不具合にあたっていそうですね。 (ボタンが同期になっているので、どういう操作をしているか気になって、先ほどの質問になりました)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問