1

package.json のオブジェクトまたは配列の最後の要素にコンマを追加できないため、行 Blame は保持されません。つまり、コミット A の package.json に次のものが含まれているとします。

{
  "version": "0.0.1"
}

次に、コミット BI に別のフィールドを追加します。

{
  "version": "0.0.1",
  "main": "index.js"
}

git blame package.jsonコミット B によって非難されている両方の行を示しています。代わりに、コミット A の最初のフィールド定義の最後にコンマを追加すると、非難は保持されます。

{
  "version": "0.0.1",
}

しかし、これは有効な JSON ではないか、少なくとも npm では許可されていません。これを実行してから実行すると、次のnpm installエラーが発生します。

npm ERR! install Couldn't read dependencies  
npm ERR! Failed to parse json 
npm ERR! Unexpected token } ...

npm エラーを回避する方法はありますか? または、コミット A が最初のフィールドの責任を負うべきであることを確認するために git Blame を使用する賢い方法はありますか?

4

1 に答える 1

-1

JS Object Notation (JSON) では、すべてのオブジェクト プロパティ (名前と値のペア) は で区切られ,ます。

したがって、プロパティが 1 つしかない場合,は、最後に追加する必要はありません。

私のポイントは、コミット B の行"version": "0.0.1"が追加されて変更されたこと,です。Blame は正常に動作しています。そして git では、これは前の行を置き換えるまったく新しい別の行です。

于 2015-01-20T09:46:06.360 に答える