私はgit revert -mを実行する必要がありますが、コミットの親がどのように番号付けされているかに関するドキュメントは見つかりませんでした。私が見たすべてのもの(rev-parseのヘルプページを含む)は、両親に番号が付けられているが、どのように番号が付けられているかは分かりません。誰かが私にこれがどこに定義されているのか、どうやってこれを決定するのかを指摘できますか?マージコミットの親の番号付けを調べるにはどうすればよいですか?
答えて
git show --format="%P" <SHA>
は、指定されたコミットの親SHAを番号順に表示します。ほとんどの場合、git revert
に指定したいものは1
です。
ほとんどのマージの場合、チェックアウトされたブランチのSHAが最初の親になり、マージされたブランチのSHAが2番目になります。 (基本的にチェックアウトされたブランチは常に最初の親ですが、他のペアレントは指定順にマージコマンドに指定されたブランチです)
特定の親のSHAを検索する場合は、
- まず親:
git rev-parse <SHA>^1
- 第二の親:
git rev-parse <SHA>^2
エトセトラキャレットの演算子を使用しています。
コミット番号は実際にはSHA1ハッシュ値です。これにより、検証のための完全な整合性が得られます。
また、ブランチ&のマルチユーザ分散型VCSシステムをマージすることも自然な性質であるため、どのような方法でも実行できないという素晴らしい副作用があります。 HEAD ^やHEAD ^^など、多くのツリーウォークコマンドやコミットを参照する方法があります。
git help revisons
は、すべての異なる構文の完全な説明を示します。
質問は、コミットIDではなく親の番号付けに関するものです。 "最初の親" "2番目の親"( 'HEAD^1 '対' HEAD^2') – ABMagil
@ABMagil元の質問はHEAD ^^ ~~スタイル構文内で数えることを明示的に述べていませんでした。コミットの番号付けについては、正式にsha1です。 HEAD ^スタイルが利用可能であると言って終了しました - 私は 'git help revisons'をソースとして強調しませんでした。 –
マージコミットでgit logまたはgit showを実行すると、マージの親のリストが "Merge:"ヘッダーに表示されます。これは左から順にマージの親をリストします。
$ git show 0af53e188a3a8915f65c3b3edaeed3e07d8d3802
commit 0af53e188a3a8915f65c3b3edaeed3e07d8d3802
Merge: b81b758 8894d53
Author: Junio C Hamano <[email protected]>
Date: Thu Aug 11 11:04:28 2011 -0700
Merge branch 'cb/partial-commit-relative-pathspec'
* cb/partial-commit-relative-pathspec:
commit: allow partial commits with relative paths
b81b758は最初の親であり、そして8894d53にする第二の親である:最初のものは、第一の親、第一方は第二の親である、等gitリポジトリに例えば
ありますマージコミット0af53e1。マスターに枝fooという、バーやバズをマージし、新しいコミットマージを作成します
[on branch master]
$ git merge foo bar baz
:
コミットが行われたときに、親コミットがコマンドライン上の出現の順序に従って番号付けされています早送りができなかった場合。
結果のマージコミットでは、 "master"が最初の親 "foo" 2番目の "bar" 3rdと "baz" 4番目になります。
- 1. 自動番号付けをAcumaticaの既存の自動番号付けシーケンスに変更するにはどうすればよいですか?
- 2. divのスタックを親divの一番下に貼り付けるにはどうすればよいですか?
- 3. ボタンクリックでBXスライダの番号付けをリセットするにはどうすればよいですか?
- 4. アプリアイコンに番号なしの通知バッジを付けるにはどうすればよいですか?
- 5. 重複する行を順に番号付けするにはどうすればよいですか?
- 6. 注文ファイルの番号付けを変更するにはどうすればよいですか?
- 7. FPDF-列に自動インクリメントされたシリアル番号を付けるにはどうすればよいですか?
- 8. 私のZiggeoアプリケーションで、ページ番号を付けてすべての動画を見えるようにするにはどうすればいいですか?
- 9. Apache POI:ワードドキュメントの番号付きリストの番号付けを再開するにはどうすればよいですか?
- 10. SerialPortから着信データの行番号を付けるにはどうすればいいですか?
- 11. 特定の番号から番号列を開始するにはどうすればよいですか?
- 12. C# - 既存の番号に番号を追加するにはどうすればよいですか?
- 13. Javascriptで親/子配列のレベルを調べるにはどうすればよいですか?
- 14. 日の2つの日付の違いを調べるにはどうすればよいですか?
- 15. 要因の2つの日付の違いを調べるにはどうすればよいですか?
- 16. 番号がPEP8の別の番号で割り切れるかどうかを調べる
- 17. Rubyオブジェクトのメソッドを調べるにはどうすればよいですか?
- 18. Chromeプラグインのソースコードを調べるにはどうすればよいですか?
- 19. ウィジェットのToplevelコンテナを調べるにはどうすればよいですか?
- 20. アルゴリズム - 番号がすでにリストにあるかどうかを調べる
- 21. 特定の日付の週番号を確認するにはどうすればよいですか?
- 22. forループを調べてBig Oのパフォーマンスを調べるにはどうすればよいですか?
- 23. Google Apps Scriptで金融番号フォーマット番号を使用するにはどうすればよいですか?
- 24. 番号をフォーマットするにはどうすればよいですか?
- 25. セレンを使用してページ番号を付けてhtmlテーブルのすべての要素を取得するにはどうすればよいですか?
- 26. javascriptでhtmlを調べるにはどうすればよいですか?
- 27. sapuui5のsap.ui.table.Tableの列番号とセル番号を取得するにはどうすればいいですか?
- 28. 日付を年に続く週番号に変換するにはどうすればよいですか?
- 29. msiがタイムスタンプされているかどうかを調べるにはどうすればよいですか?
- 30. 週番号から日付を取得するにはどうすればよいですか?
良い答えですが、危険性はすべてではなく、「ほとんど」にあります。私はsvnから変換されたgit repoを持っていて、いくつかの 'git-filter-branch'操作が実行されています。そして今や、順序が逆の場合があります。 http:// stackoverflowを参照してください。com/questions/27704438/find-the-right-parent-of-a-merge-non-interactive-wayでのコミット –