Git将未完成的更改推送到回购

Git将未完成的更改推送到回购,git,repository,Git,Repository,如果有人不介意回答的话,还有一个Git问题: 我在办公室的台式机上开发网站,在家工作时在笔记本电脑上开发网站,将文件存储在本地驱动器上,并使用在线Git存储库进行跟踪 当我从家里的笔记本电脑上创建一个新功能时,将这些更改转移到桌面的最佳方式是什么?我是否会阶段更改,为更改创建一个提交,然后将其推送到在线回购,即使该功能仍然不完整,还是有更好的方式 我真的不确定在功能分支上创建一个新的提交是否正确,只是为了将更改推送到repo,以便我在办公室时能够获取更改,但也许我错了…?在创建新功能或修复bug

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

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

当我从家里的笔记本电脑上创建一个新功能时,将这些更改转移到桌面的最佳方式是什么?我是否会阶段更改,为更改创建一个提交,然后将其推送到在线回购,即使该功能仍然不完整,还是有更好的方式


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

在创建新功能或修复bug时,您应该随时使用一个新分支—您可能已经在这样做了

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


如果您想在将提交合并到master之前整理提交,那么您可以将它们压扁。。。查看此问题:

我有完全相同的问题,我用它来保持我的两台计算机同步,不过我相信任何其他文件同步服务(如Google Drive或Box)也可以工作(请参阅竞争对手列表)。只需将您的本地git存储库放在Dropbox文件夹中,Dropbox将确保您在一台机器上更改的任何内容在另一台机器上也会更改。这包括未老化或未跟踪的更改,以及切换分支或提交某些内容时的更改

与推送到存储库相比,这种方法的优点是其他开发人员看不到您的更改,并且如果您确实想修复本地分支的历史记录,您不会为其他用户破坏这些内容


只有一个警告:在开始在另一台机器上工作之前,必须让同步完成。如果您一直在使用机器A并希望切换到机器B,则必须允许Dropbox完成从机器A上载的所有更改,并在开始使用机器B之前让机器B下载所有更改。如果不这样做,您将导致一些有趣但有时是灾难性的Dropbox合并冲突。它通常是您可以从中恢复的内容,但也可能会丢失未推送到远程存储库的任何内容。话虽如此,这是一个很容易避免的问题。

谢谢您提供的信息。该链接将我引向了另一个链接--第一条评论说挤压已经推送的提交是不明智的?是的,我对特性使用了单独的分支该文章中所说的是正确的。。。它可以破坏其他用户的东西。。。如果您正在协作,则不要在主控中挤压提交。。。在您的功能分支中执行此操作应该很好。。。如果这是一个真正的问题,那么就不要挤压,你只会有一些工作正在进行。。。没什么大不了的:)谢谢你的帮助,马特·库珀。我将把你的建议添加到我的工作流程中。一旦我开始在笔记本电脑上开发一个新功能,即使它还没有完成,我将阶段性地进行更改,提交它们,并推送到repo,然后在桌面上获取功能分支上的更改,合并它们,挤压任何不整洁的提交。功能完成后,将其合并到主分支中。