更改功能分支时自动 stash/apply 更改
Automatic stash/apply changes when changing feature branches
基本上我正在寻找的是一种将每个功能分支视为单独存储库的方法,如下示例工作流程所示:
1) 如果我的活动分支是功能 A,并且我已经 "foo.cpp" 修改并想要签出功能 B,我希望 SmartGit 在这样做时自动存储我的更改。
2) 在功能 B 中闲逛然后返回到功能 A,我希望它存储我对功能 A 的更改,然后应用(并可能删除)在步骤 1 的尾部创建的功能 A 存储。
有什么方法可以自动执行此操作,还是我要求的东西很荒谬?
SmartGit 不会将存储分配给某些分支,但您可以简单地在 A 中提交您的修改作为临时 WIP (work-in-progress) 提交,然后切换到 B,继续在那里工作,最后再次提交您的更改为 WIP 并切换回 A。现在你有几个选择:
- 本地|撤消上次提交到"unstash"你之前的工作;
- 只需继续工作并使用 Amend 选项提交现有的 WIP 提交。一旦您的功能准备就绪,请在 Outgoing 视图中使用 Edit Commit Message;
- 继续工作并提交新的 WIP 提交,一旦您的功能准备就绪,请在 中使用 Squash Commits传出 视图以将所有 WIP 提交压缩为一个整洁的最终提交。
就我个人而言,我更喜欢最后一个选择,因为有几个 WIP 提交让我可以更好地回顾我的进度(并看到可能 back-and-forth 我在任务之间切换时所做的) .
基本上我正在寻找的是一种将每个功能分支视为单独存储库的方法,如下示例工作流程所示:
1) 如果我的活动分支是功能 A,并且我已经 "foo.cpp" 修改并想要签出功能 B,我希望 SmartGit 在这样做时自动存储我的更改。
2) 在功能 B 中闲逛然后返回到功能 A,我希望它存储我对功能 A 的更改,然后应用(并可能删除)在步骤 1 的尾部创建的功能 A 存储。
有什么方法可以自动执行此操作,还是我要求的东西很荒谬?
SmartGit 不会将存储分配给某些分支,但您可以简单地在 A 中提交您的修改作为临时 WIP (work-in-progress) 提交,然后切换到 B,继续在那里工作,最后再次提交您的更改为 WIP 并切换回 A。现在你有几个选择:
- 本地|撤消上次提交到"unstash"你之前的工作;
- 只需继续工作并使用 Amend 选项提交现有的 WIP 提交。一旦您的功能准备就绪,请在 Outgoing 视图中使用 Edit Commit Message;
- 继续工作并提交新的 WIP 提交,一旦您的功能准备就绪,请在 中使用 Squash Commits传出 视图以将所有 WIP 提交压缩为一个整洁的最终提交。
就我个人而言,我更喜欢最后一个选择,因为有几个 WIP 提交让我可以更好地回顾我的进度(并看到可能 back-and-forth 我在任务之间切换时所做的) .