私は2つのブランチを持っています。コミットは1つのブランチからもう1つのブランチにチェリーピックされています。この段階でgit cherry/git log - マージによって混乱している修理
> git init
Initialized empty Git repository in foo/.git/
> touch foobar; git add foobar; git commit -m "initial commit"
[master (root-commit) d109ffc] initial commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 foobar
> git branch somebranch
> echo a >> foobar; git add foobar; git commit -m "add a"
[master 1527212] add a
1 file changed, 1 insertion(+)
> touch anotherfile; git add anotherfile; git commit -m "add blank anotherfile"
[master 84821fc] add blank anotherfile
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 anotherfile
> git checkout somebranch; git cherry-pick -x 1527212
Switched to branch 'somebranch'
[somebranch b59ad0a] add a
Date: Sat May 13 15:41:16 2017 +0800
1 file changed, 1 insertion(+)
> git tree somebranch master
* b59ad0a (somebranch) add a
| * 84821fc (HEAD -> master) add blank anotherfile
| * 1527212 add a
|/
* d109ffc initial commit
、私が期待するものgit cherry
とgit log --cherry --oneline
表示::そうのように、私は戻って一緒に二つのブランチをマージする場合
> git cherry somebranch master
- 1527212b9047f882c7438d083505941c47ea9a5b
+ 84821fcb3d33d41b64dddcc56728dd3e22466e4a
> git log --cherry --oneline somebranch...master
+ 84821fc (HEAD -> master) add blank anotherfile
= 1527212 add a
は、しかし、私はこの出力を失う - の両方git cherry
とgit log --cherry
は桜厳選されたが、同じようにコミット認識に失敗:
> git checkout master
Already on 'master'
> git merge somebranch
Merge made by the 'recursive' strategy.
> git tree
* 90810f6 (HEAD -> master) Merge branch 'somebranch'
|\
| * b59ad0a (somebranch) add a
* | 84821fc add blank anotherfile
* | 1527212 add a
|/
* d109ffc initial commit
> git cherry somebranch master
+ 1527212b9047f882c7438d083505941c47ea9a5b
+ 84821fcb3d33d41b64dddcc56728dd3e22466e4a
> git log --cherry --oneline somebranch...master
+ 84821fc add blank anotherfile
+ 1527212 add a
は、私はgitのがSHOするために得ることができる方法はありますこれらのコミットは同じになっていますが、一緒に結合されても同じですか?
私はちょうど3ドットシンタックスについて学んだだけで、もっと知りました。下から検査を開始することは、マージです! – Zanchey