边界提交是限制修订范围但不属于该范围的提交。例如,修订范围HEAD~3..HEAD由3个提交(HEAD~2,HEAD~1和HEAD)组成,并且该提交HEAD~3充当其边界提交。
更正式地说,git通过从指定的提交开始并通过父链接获取其他提交来处理修订范围。它停止于不符合选择标准的提交(因此应排除在外)-这些是边界提交。
插图:
$ mkdir test
$ cd test
$ git init
Initialized empty Git repository in ~/playground/git/test/.git/
$ touch a
$ git add a
$ for i in {1..5}; do echo $i >> a; git commit -m "Commit #$i" a; done
[master (root-commit) bf958f1] Commit #1
1 file changed, 1 insertion(+)
create mode 100644 a
[master 3721a8b] Commit #2
1 file changed, 1 insertion(+)
[master d69efcc] Commit #3
1 file changed, 1 insertion(+)
[master 72cd21d] Commit #4
1 file changed, 1 insertion(+)
[master 17ae9c3] Commit #5
1 file changed, 1 insertion(+)
$ git log --oneline
17ae9c3 Commit #5
72cd21d Commit #4
d69efcc Commit #3
3721a8b Commit #2
bf958f1 Commit #1
$ git log --oneline HEAD~3..
17ae9c3 Commit #5
72cd21d Commit #4
d69efcc Commit #3
$ git log --oneline HEAD~3.. --boundary
17ae9c3 Commit #5
72cd21d Commit #4
d69efcc Commit #3
- 3721a8b Commit #2 <-- This is the boundary commit HEAD~3 that would
not be included in the output had the '--boundary'
option NOT been provided
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1051 次 |
| 最近记录: |