2

以下は、show-rev の git 出力です。

$ git name-rev  --all

2651919f941c11581c794b40aadb2028c4f52ab4 joincolumn_issue
2617f2a1410ce0ec8ea268bbb073008b73490e78 master~2
292def505dd3cdbfd9ac974396775683b5f4c288 ls
0ec9116840a3f21c0b800617c29b7ddab5fda928 joincolumn_issue~2
ee9bb706c8fcc329fac4acf69ad6b684f1069170 master~1
d56a6751771b1f62d9ceb0bcce9a2391c004ee44 master^2
3d80a12ed375c6a9572cde39b5be0722c8cb6439 joincolumn_issue~1
df1834dbe560c2c95c8abaeec494eb1767b96a1e master

ご覧のとおり、master^2master~2 So の行がありますが、これら 2 つの違いは何なのか疑問に思っており、出力も時系列順ではありません。

さらに、git グラフは以下のように表示されます

$ git log --all --oneline --graph

* 2651919 (origin/joincolumn_issue, joincolumn_issue) changing to @JoinColumn(name="country_nm")
* 3d80a12 hibernate ignoring joinColumn value
* 0ec9116 changing name in joinColumn is breaking
| * 292def5 (origin/mappedBy, mappedBy, ls) OneToMany using mappedBy
|/
*   df1834d (HEAD -> master, origin/master) Merge branch 'master' of https://github.com/samshers/graphql-hibernate
|\
| * d56a675 fixed country null issue
* | ee9bb70 fixed country null issue
|/
* 2617f2a hibernate cascade error issue. country field in state table set to null
4

1 に答える 1

9

構文BRANCH^は、 の最初の親を意味しますBRANCH。構文BRANCH^nは、ブランチの n 番目の親を意味します。つまり、BRANCH^と同等BRANCH^1です。マージがある場合にのみ複数の親を持つことができるため、BRANCH^2(およびタコのマージBRANCH^3以上の場合)マージがある場合にのみ使用されます。

構文BRANCH~は と同等BRANCH^1であり、のBRANCH~nn 個のコピー^1を の末尾に追加することと同等ですBRANCH。言い換えれば、後者は、BRANCHそれぞれの場合に最初の親のみに従う n 番目の親です。

通常、最初の親はメイン ブランチであり、2 番目以降の親はそれにマージされるサイド ブランチであるため、これらの構文はこの場合に最適化されています。

キャレットを使用する構文は他にもありますが、動作や意味が異なります。を使用すると、Git リビジョンの構文に関するすべてを確認できますman gitrevisions

于 2019-09-14T19:15:33.580 に答える