我正在研究一个使用git自动化代码管理的特定用例。我不确定git是否内置了这一功能,或者有一款产品已经内置了。如果你能为我指明正确的方向,我将不胜感激。
这个想法很简单,过程如下:(我知道这可能不是传统的Git使用方式,而是一个特定的用例)
-
调度器将用户之间共享repo中的代码提交到GitLab(使用调度器user_id)
-
在用户(使用GUI界面)完成对代码的应用更改并选择他们所做的更改后的第二天,
-
在步骤2中,脚本\代码修改提交以根据用户的整体调整Git Blame输出(此步骤可能需要将提交中断为多个提交并更改用户作者)
如有任何帮助,我们将不胜感激。
我确实使用了"git_blame_someone_else"代码和rebaseing\cherrypicking的组合,然而,我认为我可能太努力了,这可能是git中的一个内置功能。(破坏提交并更改代码作者)
不,git没有内置这个功能。我能想到的最接近的是交互式重新定基,它可以让你把一个提交分成几个(甚至给它们不同的作者),但这是一个手动过程,而不是通常从脚本中做的事情。
公平地说,将不同的人的承诺合并为一个承诺似乎效率极低,但后来不得不将这些承诺分开。实际上,我建议重新检查和质疑默认的git工作流(不同人员的提交作为单独的提交)不适用于您的原因。我怀疑你可能会找到一个更好的解决方案来解决更高层次的问题,这样你就不必按照你所描述的去做了。
关于步骤1:如何在共享回购中输入修改?代码是如何从共享回购"提交"到gitlab的?
-
gitlab
是一个git服务器,非常适合托管共享repo的副本; -
在用户之间使用共享回购的标准方法是:每个用户创建提交,然后将这些提交推送到共享回购;使用这个标准工作流,每个用户都被注册为他们创建的提交的作者;
-
你可以完美地拥有多个共享存储库,存储库之间的共享通常是通过推送或将从一个副本拉到另一个副本来完成的;pusing和pulling不会更改共享提交的作者,因此不应该采取任何额外的操作来对其初始作者进行修改。
在以上第1点、第2点和第3点中,哪一点与您当前的工作流程不匹配
你能更详细地解释一下你的用例吗?