如何使用git在不提交代码的情况下进行代码同步?

8
我在Eclipse中使用EGit,通过位于Bitbucket的存储库在两个位置之间同步我的代码。我希望能够从任一位置处理代码。通常,我会在一天结束时提交更改。
有没有其他更好的方法?因为我最终会得到很多针对仍然不完善的代码的提交记录。
我以为最好的做法是只在代码可以运行时才提交。那么,有什么最佳实践方法,我可以更新存储库中的代码而无需提交,只有在代码可用时才提交呢?

2
使用分支,在任务未完成时在分支上工作,然后合并分支。 - Mladen Uzelac
此外,在合并之前,您可以将分支中的所有提交压缩为1个单独的提交,以便在主分支的历史记录中创造一种假象,即您只有一个完整功能的原始提交。 - Asaph
1
很失望因为一个出于善意的问题被踩。这似乎是SO的常态。 - localhost
2个回答

3
如果你使用Linux终端,你可以使用rsync命令。下面的答案来自我其他回答
只需使用rsync命令。确保你处于本地存储库根路径下,并运行:
rsync -a --exclude=.git . root@xxx.xxx.xxx.xxx:[Your Remote Path]

您可以在本地修复代码,然后进行rsync同步。当代码可以部署时,再提交部署问题。
您可以在~/.ssh/config文件中配置ssh远程别名,请搜索了解如何配置它。然后您的命令将是:
rsync -a --exclude=.git . [remote-alias-name]:[Your Remote Path]

并且不需要输入密码。


3
在开始之前,请创建一个单独的(特性)分支并切换到该分支。现在你可以提交任何想要的内容,无论是有错误的代码还是一些实验。你也可以获取你的主分支(或dev等)并在其上进行变基(或dev等),以使你的分支保持最新状态。一旦你将代码调整到最终状态,使用交互式变基*来清理/压缩/重新组织你的提交历史,并与主分支合并。

*你也可以使用git reset(中间模式)回到你的特性分支分叉的点,然后创建一个全新的提交。


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