快速同步git工作区跨计算机

6
我有一个个人项目,使用git在Github上托管,并经常跨多台计算机进行修改。由于我在家里工作,经常会被打断。当我在编写代码时,可能需要吃饭或换尿布。当我回来继续编码时,我可能会切换到另一台计算机。那么最好的方法是什么来获取最新版本呢?
我认为最正统的答案是提交和推送。我经常提交,但在这里提交似乎很混乱。代码可能处于完全破碎的状态,我正在思考中。即使在主题分支上提交和发布也不对。这也比我想要的步骤要多。
到目前为止,我一直在使用DropBox。但这似乎导致了索引损坏。这很容易想象,因为这些同步可以跨越不同版本的git和不同的操作系统。所以我害怕这种方式不可行。
有没有更好的替代方案?

也许在家里搭建一个gitolite作为github的补充? - fge
1
我会把它推到那个临时分支上,等你整理好后,可以随时从GitHub上删除该分支。没有必要让事情变得过于复杂 :) - Stuart Golodetz
如果你采纳了@StuartGolodetz的建议,我建议你将分支命名为“don't_clone_temp_feature_name”,以尽量减少有人抓取你的临时分支的可能性。 - wadesworld
1
@StuartGolodetz 我在考虑一种类似于 git 别名或插件的东西。把它叫做“spush”:stash 和 push 的缩写。然后如果你运行“spull”,它会获取并合并最近的 spush。这样我就不需要费心想出分支名称、记住那个分支名称以及运行多个命令等问题了。 - mmalone
@mmalone:不确定是否有“简单”的方法来做到这一点,但你可能可以编写几个批处理文件来完成它。 - Stuart Golodetz
这个问题可能是相关的:https://dev59.com/KnI_5IYBdhLWcg3wDOhC - Stuart Golodetz
3个回答

2

除了使用Git在多台计算机之间同步代码库之外,还有一种方法是将实际的代码库保存在你的Dropbox上。本质上,它只是一个本地文件夹,可以同步,因此无论你在哪台计算机上(只要你已经保存了当前的工作),它都会为你同步。这样就省去了将代码推送和拉取到Dropbox上的Git仓库的步骤。


是的,这就是我一直在做的事情,但最近遇到了一个损坏的索引。不确定它是如何发生的。 - mmalone
@mmalone 不,我不是指在Dropbox上保留Git存储库,而是你的实际项目文件。 - Abizern
1
@abizem 抱歉,也许我没有理解你的区别。我说的是包含我的代码工作目录的目录,其中还包括 '.git' 目录和其中的索引。你想到了其他的东西吗? - mmalone
是的,请忽略“.git”文件夹,然后同步工作树。 - xenithorb

1
我建议编写一个小脚本,将所需目录同步到所有指定的机器上。这应该非常简单,并且可以使用别名,因此从终端只需要一行命令即可完成。
在我的工作中,我经常这样做,使用vhost在本地机器上进行开发测试,但是当我需要在移动设备上进行测试时,我可以将所有内容同步到公共开发服务器上,并从移动设备上使用那里的vhost。

0

一个解决方案是使用私有服务器。可以购买GitHub微型帐户,或者只需使用您已经拥有访问权限的某个服务器。然后,您将提交并推送到私有服务器。当代码准备好后,您将在压缩/清理提交等操作后将其推送到公共服务器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接