Git将未完成的更改推送到repo

时间:2013-06-28 08:58:52

标签: git repository

另一个Git问题,如果有人不介意回答:

我在办公室桌面上开发网站,在家里工作时在笔记本电脑上开发网站,将文件存储在本地驱动器上,并使用在线Git存储库进行跟踪。

当我在家中从笔记本电脑创建新功能时,将这些更改转移到桌面的最佳方式是 - 我是否会进行更改,为他们创建提交然后将其推送到在线仓库即使该功能仍然不完整,还是有更好的方法?

我真的不确定是否在功能分支上创建一个新提交只是为了将更改推送到repo只是为了我在办公室时可以获取更改是正确的方法,但也许我'我错了......?

2 个答案:

答案 0 :(得分:8)

您应该在创建新功能或修复错误时使用新分支 - 您可能已经在使用它。

我只是在本地功能分支上提交更改并将更改推送到远程功能分支,然后在其他计算机上将其下拉,这没有问题...

如果你想在将它们合并到母版之前整理你的提交,那么你可以压缩它们......看到这个问题:Squash my last X commits together using Git

答案 1 :(得分:-3)

我遇到了完全相同的问题并使用Dropbox来保持我的两台计算机同步,但我确信任何其他文件同步服务(如Google云端硬盘或Box)也能正常运行(请参阅竞争对手列表{{ 3}})。只需将您的本地git存储库放在Dropbox文件夹中,Dropbox将确保您在一台计算机上更改的任何内容也会在另一台计算机上更改。这包括未分级或未跟踪的更改,以及切换分支或提交内容时。

此方法优于推送到存储库的优势在于其他开发人员看不到您的更改,如果您确实想要修复本地分支的历史记录,则不会为其他用户破坏。< / p>

只有一点需要注意:在开始使用其他计算机之前,必须先完成同步。如果您一直在使用机器A并想要切换到机器B,则必须允许Dropbox完成从机器A上传所有更改,并让机器B在您开始使用机器B之前下载所有更改。如果您不要,你最终会得到一些有趣但有时灾难性的Dropbox合并冲突。它通常可以从中恢复,但您也可能丢失任何未推送到远程存储库的内容。话虽如此,这是一个容易避免的问题。