Git 分别推送每个提交
Git push every commit seperately
我有大约 100 个提交,出于 某些原因,我希望每个提交都单独推送。我的意思是:
例如,我有 1 个名为 developing
的分支,这个分支有 100 次提交(持续 1 周)。我不想一下子全部推。我想要 git
,推送第一个提交,然后推送第二个提交,依此类推,一个接一个。我知道这可能需要大量的互联网和时间,但我需要它。
有什么想法吗?或者如何为它编写脚本?
(我检查了this。这不是我的问题。)
编辑:
我正在使用 gitlab。在 gitlab 中,有 2 个选项(AFAIK)来检查提交。 “一个”在 Project Overview
选项卡上:
正如我所说,问题在于我无法按顺序查看每个提交。我必须打开每个推送才能看到内部提交。不好了。
"第二个选项"在Repository
选项卡上:
而这个问题是
- 它没有显示所有提交。
- 它不显示按日期排序的提交。我要select一个分支。假设我这周在 8 个分支机构工作。我必须记住分支名称以检查它们,而且它们不是按顺序排列的。
我想要这样的东西:
git log #git log --oneline --graph
谢谢。
您最初的问题已由以下片段回答:
git push origin 09a079fa26e0176f13c5423a47fefb2b860205d6:draft/testing-hot-dev-branch
git push origin afeeee97560ade9067bfb3f62243c3edf804fa54:draft/testing-hot-dev-branch
事实上,如果你有 100 个提交要推送,你不能像那样手动完成,你将不得不编写脚本,并确保你的团队的所有人都使用你的脚本。而且你必须非常小心,以错误的顺序推送提交或忘记提交可能会有问题。
在我看来,你最好找到解决根本问题的方法。此外,它还可以解决 'past',当您过去一次推送多个提交时。
关于潜在的问题(您无法在 Gitlab 网站上找到按日期排序的所有提交的方法),解决方案可能是使用 Graph 视图,显示所有分支的所有提交,按时间降序排列。
该界面有点误导,因为它显示在页面顶部 'main',但实际上所有分支都在图中。如果将鼠标悬停在代表提交的点上,可以看到提交的 SHA 和一些细节,并且这些点是可点击的。
NB1:为了制作这张图片,我使用了下面的命令,您可以看到我在一个推送命令中推送了我的三个提交:
$ git checkout -b draft/testing-hot-dev-branch origin/main
$ touch test1 && echo "1" > test1
$ git add test1
$ git commit -m "first commit"
$ touch test2 && echo "2" > test2
$ git add test2
$ git commit -m "second commit"
$ touch test3 && echo "3" > test3
$ git add test3
$ git commit -m "third commit"
$ git push --set-upstream origin draft/testing-hot-dev-branch
NB2:如果你查看此页面的 XHR 查询,你还可以看到可利用的 JSON 格式的图表(所以我想你也可以通过 Gitlab API 检索它)
NB3 :如果你单独推送所有 100 次提交,一个副作用是你的管道将 运行 100 次而不是 1 次(不知道在你的上下文中它是优势还是不方便,对我来说显然是不方便)
我有大约 100 个提交,出于 某些原因,我希望每个提交都单独推送。我的意思是:
例如,我有 1 个名为 developing
的分支,这个分支有 100 次提交(持续 1 周)。我不想一下子全部推。我想要 git
,推送第一个提交,然后推送第二个提交,依此类推,一个接一个。我知道这可能需要大量的互联网和时间,但我需要它。
有什么想法吗?或者如何为它编写脚本?
(我检查了this。这不是我的问题。)
编辑:
我正在使用 gitlab。在 gitlab 中,有 2 个选项(AFAIK)来检查提交。 “一个”在 Project Overview
选项卡上:
正如我所说,问题在于我无法按顺序查看每个提交。我必须打开每个推送才能看到内部提交。不好了。
"第二个选项"在Repository
选项卡上:
而这个问题是
- 它没有显示所有提交。
- 它不显示按日期排序的提交。我要select一个分支。假设我这周在 8 个分支机构工作。我必须记住分支名称以检查它们,而且它们不是按顺序排列的。
我想要这样的东西:
git log #git log --oneline --graph
谢谢。
您最初的问题已由以下片段回答:
git push origin 09a079fa26e0176f13c5423a47fefb2b860205d6:draft/testing-hot-dev-branch
git push origin afeeee97560ade9067bfb3f62243c3edf804fa54:draft/testing-hot-dev-branch
事实上,如果你有 100 个提交要推送,你不能像那样手动完成,你将不得不编写脚本,并确保你的团队的所有人都使用你的脚本。而且你必须非常小心,以错误的顺序推送提交或忘记提交可能会有问题。
在我看来,你最好找到解决根本问题的方法。此外,它还可以解决 'past',当您过去一次推送多个提交时。
关于潜在的问题(您无法在 Gitlab 网站上找到按日期排序的所有提交的方法),解决方案可能是使用 Graph 视图,显示所有分支的所有提交,按时间降序排列。
该界面有点误导,因为它显示在页面顶部 'main',但实际上所有分支都在图中。如果将鼠标悬停在代表提交的点上,可以看到提交的 SHA 和一些细节,并且这些点是可点击的。
NB1:为了制作这张图片,我使用了下面的命令,您可以看到我在一个推送命令中推送了我的三个提交:
$ git checkout -b draft/testing-hot-dev-branch origin/main
$ touch test1 && echo "1" > test1
$ git add test1
$ git commit -m "first commit"
$ touch test2 && echo "2" > test2
$ git add test2
$ git commit -m "second commit"
$ touch test3 && echo "3" > test3
$ git add test3
$ git commit -m "third commit"
$ git push --set-upstream origin draft/testing-hot-dev-branch
NB2:如果你查看此页面的 XHR 查询,你还可以看到可利用的 JSON 格式的图表(所以我想你也可以通过 Gitlab API 检索它)
NB3 :如果你单独推送所有 100 次提交,一个副作用是你的管道将 运行 100 次而不是 1 次(不知道在你的上下文中它是优势还是不方便,对我来说显然是不方便)