相关疑难解决方法(0)

git rebase而不更改提交时间戳

git rebase在保留提交时间戳的同时执行是否有意义?

我相信结果是新分支不一定按时间顺序排列日期.这在理论上是否可行?(例如使用管道命令;只是好奇这里)

如果理论上可行,那么在实践中是否可以使用rebase,而不是更改时间戳?

例如,假设我有以下树:

master <jun 2010>
  |
  :
  :
  :     oldbranch <feb 1984>
  :     /
oldcommit <jan 1984>
Run Code Online (Sandbox Code Playgroud)

现在,如果我重新oldbranch启动master,则提交日期将从1984年2月更改为2010年6月.是否可以更改该行为以便不更改提交时间戳?最后我会得到:

      oldbranch <feb 1984>
      /
 master <jun 2010>
    |
    :
Run Code Online (Sandbox Code Playgroud)

那会有意义吗?甚至允许在git中有一个旧提交最近提交作为父项的历史记录?

git timestamp git-rebase

144
推荐指数
5
解决办法
4万
查看次数

如何以非交互方式运行git rebase --interactive?

可以做以下吗?

  1. git rebase --interactive标准样板输出到文件,而不是输出到文件并在编辑器中打开它.
  2. 让用户编辑文件.
  3. 让用户git rebase使用已编辑文件的名称重新运行.
  4. 继续通常的rebase过程.

用例:当然是脚本式的变基.例如,请参阅如何以非交互方式在Git中重新提交提交.

git scripting git-rebase non-interactive

41
推荐指数
6
解决办法
9717
查看次数

32
推荐指数
3
解决办法
1万
查看次数

如何将两个(或更多)完全不相关的线性分支祖先"拼接"成一个新的?

我正在尝试将每个具有不同根提交的两个分支组合成一个新的空分支.这不是通常的合并事情,因为我不希望仅在最后一次提交中将分支组合在一起(在这种情况下,新分支将具有合并提交,并且"下方"仍然是两个单独的历史.新分支仍将是有两个root提交.)

我的场景中的一个重要事实是两个分支完全不相关.任何一个分支的提交都不影响其他分支的提交的路径=>不存在冲突.

我们假设以下分支:

A---B-----C-D
  X---Y-Z
Run Code Online (Sandbox Code Playgroud)

这就是我要找的:

A-X-B-Y-Z-C-D
Run Code Online (Sandbox Code Playgroud)

重点是我希望按时间顺序进行提交.怎么实现?

git merge branch

3
推荐指数
1
解决办法
793
查看次数