在提交之前,我可以使用git多次推送工作目录吗?

时间:2015-11-06 02:07:48

标签: git

我在我的主机上运行了两个VM,我将代码从主机操作系统复制到每个客户操作系统,因此我可以在内核中编译模块并加载/测试。

主机操作系统加载了tools / utils / desktop,但每个虚拟机都是最小的,除了编译器,很少的工具和脚本之外。所以我的进程是主机上的更改代码,并复制到每个guest虚拟机进行编译,加载,测试。如果我对访客进行了更改,我只需要复制到主持人和其他访客。

所以现在我已经转换为使用git,我将相同的代码放在主机上,并想知道是否有办法从我在主机上做的更改(w) / o提交),然后我要做的就是让git将它们拉过来,然后我可以将它们推回去。在我准备好在主机上提交之前,客户端和主机之间有很多推拉。

如果git可以做到这一点,那对我来说会很有用。可能的?

1 个答案:

答案 0 :(得分:1)

作为Paul Hicks already noted in a comment,推送适用于提交,因此如果您没有实际提交,那么推送没什么新内容。

值得注意的是pull并不是真的。或者更准确地说,它是两个的东西。 pull脚本只是执行git fetch后跟git merge的便捷快捷方式。它是与另一个(远程)git对话的git fetch步骤,并且它也基于提交而工作。 (您可以将git pull配置为使用git rebase而不是git merge,通常您应该这样做 - 或者只是自己执行以下两个步骤:git fetch,然后检查结果如果需要,git rebasegit merge视情况而定。分开这两个步骤可以让您了解自己要改变或合并的内容。通常不需要先查看,但如果您想要,之前看起来比之后要容易得多。)

在许多临时分支上进行大量提交,然后使用最终版本来制作"真实"并没有错。承诺"真实"科。 Git使用squash merges直接支持此功能。一旦你完成了squash-merge,你就可以删除临时分支。或者,如果您要保存所有中间工作,请执行常规(非压缩)合并,然后再次删除临时分支。