小编mok*_*tor的帖子

我怎样才能一次折叠多个分支?

我目前正在开发一个SVN用作存储库的项目.在本地,我用代码进行了几次"实验",我不想承诺回购.因此,我在SVN工作目录的顶部本地使用git,并使用多个分支进行不同的"实验".所以它看起来像这样.

C0 ---- C7 (master)
 \
  \---- C1 ---- C2 ---- C4 (exp1)
   \     \       \
    \     \       \---- C3 (exp2)
     \     \
      \     \---- C5 (exp3)
       \
        \---- C6 (exp4)
Run Code Online (Sandbox Code Playgroud)

在分支上master我想要有无污染的SVN回购,即C0是SVN Repo Revision x,C7是SVN Repo Revision x + n.

以某种方式很容易地将所有exp分支重新固定到C7上,使树看起来像下图?

C0 ---- C7 (master)
         \
          \---- C1' ---- C2' ---- C4' (exp1)
           \     \         \
            \     \         \---- C3' (exp2)
             \     \
              \     \---- C5' (exp3)
               \
                \---- C6' (exp4)
Run Code Online (Sandbox Code Playgroud)

我想使用rebase,因为我不想修改本地SVN Checkout的状态,并希望我的更改建立在SVN修订版之上.

我也对在SourceTree中工作的解决方案感兴趣,而不必使用shell.

git atlassian-sourcetree

38
推荐指数
4
解决办法
7136
查看次数

将整个 git 分支重新设置为孤立分支,同时保持提交树完整

我有一个存储库,其中有两个分支,mastermaster-old,它是作为孤儿分支创建的。

现在我想对整个masteron进行变基master-old,但每个提交的树应该保持不变,即每个提交的工作副本在变基之前mastermaster-old之后看起来应该完全相同。

Current state
-------------
A - B - C - D     <--- master

E - F - G - H     <--- master-old

Desired state
-------------
E'- F'- G'- H'- A'- B'- C'- D' <--- master
Run Code Online (Sandbox Code Playgroud)

我尝试使用 来完成此操作git rebase --onto master-old --root。问题是,在 的初始提交master和整个提交历史记录中master-old,创建了许多相同的文件,因此我需要解决大量冲突。

有没有办法以保持每次提交树完整的方式重写历史记录?

git git-rebase

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

TortoiseSVN 和 TortoiseGit 的不同图标叠加

我已经在我的 Windows 10 系统上安装了 TortoiseSVN 和 TortoiseGit。为了能够更轻松地区分基于 Git 和基于 SVN 的项目,我认为最好为两个客户端使用不同的图标覆盖。不幸的是,当我更改 TortoiseSVN 中的图标覆盖时,git-repositories 的覆盖也会更改为我在 TortoiseSVN 中选择的图标集。

有没有办法为 TortoiseSVN 和 TortoiseGit 使用不同的图标叠加?

tortoisesvn icons tortoisegit windows-10

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