我最近学习了很多关于 git log 的知识,并且想将其写入一个文件,以便我可以处理它并从中编写变更日志/发行说明。但是,当我在两个提交或两个标签之间写入 git 日志时,我会丢失其中的许多提交。我不知道这是为什么。我检查了 GitHub 网络图并手动检查了 GitHub 上的提交历史记录,我丢失的提交是属于该分支的提交,所以我认为我的命令错误或不完整。
这是我所做和尝试的
$ git log --pretty=oneline --no-merges --decorate=short > file1.txta384d44ff80de33aebd9057f3c99e822440fa545 Adjusted dev version (#13)
6ddf190dd11bcc71552b482b4751acc7c98a74d2 (tag: 0.0.1) 0.0.1
f7fb130f7b3f48d5fc0b2edde2bb888a891c76a6 Back to 0.1.1
881e70c8df9a3df6ec8ee8cba13b39165e9db179 Update DESCRIPTION version
d3dc1169705c5f48748bcd72d07ebd2bf5eff59f Update DESCRIPTION version
b766875b4fcaa978f6ec85129a2542ed5dd44762 Update description file version number to match version tag
ed04156444914785b002b5c94b501ed54b5b99a4 (origin/vd-networkPl )调试以修复 igraph graph_from_data_frame() 的问题
dd96aca4db22d5b9921726795642a2358248526d 编写网络图小插图
64d216700a9df8393eeab0b2c6967554da18a092 更新 codex 以使用网络图
git log --pretty=oneline --no-merges --decorate=short commit1..commit2> file2.txt …我坚持创建正确的正则表达式模式,该模式将拆分我的数据框列的内容,而不会让我失去任何元素。我必须使用包中的separate()函数,tidyr因为这是较长处理管道的一部分。由于我不想丢失字符串中的任何元素,因此我正在开发一个前瞻/后视表达式。
需要拆分的字符串可以遵循以下模式之一:
我想在每次元素更改时拆分,所以在字母和破折号之后。可以有一个或多个字母、一个或多个数字,但只能有一个破折号。只包含字母的字符串,不需要拆分。
这是我尝试过的:
library(tidyr)
myDat = data.frame(drugName = c("ab-1234", 'ab-1234', 'ab-1234',
'placebo', 'anotherdrug', 'andanother',
'xyz123', 'xyz123', 'placebo', 'another',
'omega-3', 'omega-3', 'another', 'placebo'))
drugColNames = paste0("X", 1:3)
# This pattern doesn't split strings that only consist of number and letters, e.g. "xyz123" is not split after the letters.
pat = '(?=-[0-9+])|(?<=[a-z+]-)'
# This pattern splits at all the right places, but the last group (the numbers), is separated and not …Run Code Online (Sandbox Code Playgroud)