Saving git log number of the current commit in MATLAB
49 次查看(过去 30 天)
显示 更早的评论
I wanted to save the current git commit hash of the code that I am currently running. Ideally, something like:
git_hash_string = get_current_git_hash()
dips(git_hash_string)
and then have it written to some file or displayed to the matlab command line. Is that possible?
0 个评论
采纳的回答
Kelly Kearney
2016-3-22
To simply query using the git command via the OS:
[s,git_hash_string] = system('git rev-parse HEAD')
Not sure how this might play with Matlab's git stuff... I haven't touched that, but use git separately to manage several of my Matlab libraries. I assume the underlying git management is the same regardless of whether you initialized the repo in Matlab or outside of it.
5 个评论
Kelly Kearney
2016-3-28
I'd use the -C flag (an option for many git commands, including git-rev-parse):
[s,r] = system('git -C path/to/repo rev-parse HEAD')
Robert Cadman
2023-8-24
As of git 1.8.3.1 on Linux, this gives me "Unknown option: -C"
[s,r] = system('git --git-dir=/path/to/repo/.git rev-parse HEAD')
To make it work, I had to give it the path to the hidden directory ".git" in my repo.
更多回答(1 个)
men8th
2023-3-3
If you are wanting to get a build number then I find the following works well:
system("git describe --tags --first-parent --abbrev=7 --long --dirty --always")
This will return the most recent tag in the repo, followed by the commit hash. I then write this to a file and append with a timestamp. You can then read the value from the file to get a build ID for your toolbox or similar, which can be displayed with the output.
Build: 1.0-4-gb52160e 03-Mar-2023 12:58:39
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Source Control 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!