1

私はhttps://github.com/notatestuser/giftライブラリを使用していますが、ここに私が持っているものがあります:

gitCommit.tree().contents (err, gitTreeContents) ->
  console.log gitTreeContents

これにより、ツリーの内容が得られます。これは、次のようなオブジェクトの配列です。

{ repo: 
   { path: '/mygitrepo',
     bare: false,
     dot_git: '/mygitrepo/.git',
     git: 
      { [Function]
        cmd: [Function],
        streamCmd: [Function],
        list_remotes: [Function],
        refs: [Function] } },
  id: 'ed38d79b10503a4e7e68910f37f387f24dedd5fa',
  name: 'address.js',
  mode: '100644' }

そこで2つ質問です。まず、それは何をid指しているのですか?コミット社じゃないからツリーっぽいのかな?次に、その時点でファイルがどのように見えたかを確認するにはどうすればよいですか?

ありがとう

4

1 に答える 1

2
  1. はい、それはツリーのような ID です。つまり、特定のファイル システム オブジェクトの sha-1 です。プレーン ファイルの場合は、そのコンテンツの sha-1 です。
  2. 特定の時点でオブジェクトを取得するには、最初に適切なコミットを選択する必要があります。プロジェクトでは、分岐の可能性があるため、特定の名前のファイルで特定の時間に複数のコミットが存在する可能性があることに注意してください。したがって、ブランチを選択してから、その時点でそのブランチの状態を照会する必要があります。また、ブランチでのマージの可能性があるため、複数のコミットが存在する可能性があります。
  3. giftコマンドライン git のシンプルなラッパーです。コマンド ライン git では、次のようなコマンドを実行する必要がありますgit cat-file blob <commit-sha-1>:</path/to/file>http://github.com/notatestuser/gift/blob/master/src/blob.coffeeを見てください。必要なことを正確に実行します。
于 2014-11-21T19:27:49.423 に答える