当工作没有完成并且我正在移动工作场所时,git提交并推送

时间:2016-02-25 15:52:59

标签: git

我知道提交并推送到存储库未完成的工作并不是一个好主意。

然而,有时候,我需要将工作场所从公司搬到家里,把家搬到公司。拥有一个临时存储库可能会解决问题,但我认为它需要一些令人厌烦的解决方法:

$ cp ~/real_proejct ~/temp_project
$ cd ~/temp_project
$ git add . && git commit -m 'I am returning home' && git push temp_repo master
# Now I am home
$ cd ~/temp_project && git pull
# some edit
$ git add . && git commit -m 'I am going to company' && git push temp_repo origin
# In company
$ git pull
$ cp ~/temp_project ~/real_project

我认为这不是一件好看的事情。在这种情况下你如何处理这种情况?

  1. 我不在家工作
  2. 使用便携式驱动器
  3. 确切地说OP所说的
  4. 其他

2 个答案:

答案 0 :(得分:2)

使用分支。有关语法/示例,请参阅Git experimental branch or separate experimental repository?。 (但我不确定樱桃挑选总是最好的,尽管那里建议......你也可以拉动并合并完整的分支。)

如果其他人正在自己的分支机构或主分支机构工作,那么无论是编译还是崩溃,您都不会为代码而烦恼。有些人还使用它来同时开发多个独立功能。也许你被一个bug阻止,所以你分支你的代码,然后修复bug,然后回到你的分支。在工作正常之前提交非工作代码是没有意义的。

答案 1 :(得分:0)

有几种选择:

  • 使用公共远程分支
  • 使用另一个存储库(git remote是您的朋友)

请注意,如果你推动未完成的工作,强迫推动摆脱破坏的历史可能会很有趣(在推送之前重新设定/重构你的提交历史)。

我建议您执行以下操作:

  • 为您的私人工作设置新的存储库
  • 将新存储库添加为远程
  • 在本地添加新的同步分支
  • 将同步分支中的跟踪分支添加到新仓库
  • 当您想要同步环境时,请使您的本地分支看起来像您想要的那样
  • 强制推送本地分支
  • 远程机器上的
  • 进行提取。并将同步分支重置为远程/同步

请参阅: