当特定用户选择旧提交时,Git推送新分支

时间:2018-10-01 18:02:20

标签: git gitlab

为了触发一些自动化,我需要使用特定格式的特定分支,以具有分支名称的特定用户身份推送到gitlab存储库。为了参考起见,我们将该用户称为df1 %>% group_by(ID) %>% filter(Time_value_sec == min(Time_value_sec)) ,并将分支名称称为HttpClient client = new HttpClient(); string urlContents = await client.GetStringAsync("http://msdn.microsoft.com");

我想要抓取并推送到gitlab的已有提交,所以我更改了用户

Joe Programmer <jp@company.com>

删除分支(如果存在),并将该删除也推送到仓库中

example-branch

从我的已知有效提交中结帐

git config --local user.name "Joe Programmer"
git config --local user.email "jp@company.com"

并从中分支

git push origin --delete refs/heads/example-branch
git branch -D example-branch

然后我提交一个空的更改集并推送到原点。

git checkout good_commit

但是,当我查看Gitlab时,我发现它不仅是我的空提交(如Joe Programmer),而且是我在上面称为git checkout -b example-branch good_commit 的上一个提交,这归因于实际执行此操作的人提交。

我如何最轻松地省略git commit -m "triggering automation" --allow-empty git push origin example-branch ,所以唯一推到远程的是我作为Joe Programmer的提交?

1 个答案:

答案 0 :(得分:1)

一种选择,但可能并不完美,是修改最后一次提交。

因此,您将执行以下操作:

git commit  --amend --no-edit --author "Joe Programmer <jp@company.com>"
git push origin example-branch

据我了解,您需要更改作者,因此还添加了--author

因此,缺点是每个分支具有相同内容(但散列不同)的重复提交,但它可能比那些空的“触发自动化”提交要好。