如何在多台计算机上使用非提交的git文件

时间:2015-03-01 14:39:06

标签: git

好吧,我认为这是一个棘手的问题,甚至可能是"不可能",但这是我的问题:我目前正在同时使用两台计算机进行项目。使用Git,我可以在一台计算机上更改文件,提交它,将其上传到服务器并在另一台计算机中获取。但是当你准备好提交时,应该提交#34;随着变化。我不想提交未完成的文件,或者破坏和未经测试的文件,除此之外会使我的所有修订历史变得混乱。

有没有办法可以在git上共享多个计算机上的文件,未完成的,未经测试的文件,哪些东西不能保存为项目中的良好还原点?我考虑过藏匿,但据我所知,藏匿是本地的,所以我不能在另一台计算机上找回我的藏匿处。

4 个答案:

答案 0 :(得分:3)

不,你不能用Git分享未经修改的更改。这不是Git的用途。 Git会跟踪内容,如果您没有告诉它跟踪您的更改,Git会 nothing 来存储或传输这些更改。

相反,不要过分担心只有当事情已经完成时才会承诺。

不断承诺。一直承诺。在分支机构上工作,当您完成后,将该分支压缩到一个(或几个)提交。 Git专门为支持这项工作流而进行分支和提交非常便宜。

答案 1 :(得分:1)

我认为这是不可能的,你可以做其他分支并提交到该分支,并且不要将该分支合并到主分支中,这样你的代码仍然可以恢复点。

答案 2 :(得分:1)

你需要另一个分支。上你当前的分支 - 你要分支的那个分支然后做:

git checkout -b new_branch

然后进行更改,提交并上传该分支。

git push -u origin new_branch

然后在另一台计算机上拉下那个分支。

执行此方法不会弄乱master分支上的任何其他文件,当您准备将此new_branch合并到master时,您只需将其合并即可。在git中无法共享未提交的文件。

答案 3 :(得分:1)

是的,存放是本地的,所以它不会帮助你。一种解决方案是手动将文件从一台计算机复制到另一台计算机,但是缺少版本控制点。为什么不使用自己的分支呢?

这样你就可以创建分支,并从两个pc上提交它。阅读有关分支here的更多信息。但是,合并时会将所有提交都放到master的历史记录中。但没有什么是不可能的。

在合并到master中时有--squash选项,它将所有branch-commits合并为一个。

  

- 壁球

     

- 无壁球

     

生成工作树和索引状态,就像发生了真正的合并一样(合并信息除外),但实际上并没有   提交或移动HEAD,也不记录$ GIT_DIR / MERGE_HEAD导致   next git commit命令用于创建合并提交。这允许你   在当前分支的顶部创建一个提交,其效果是   与合并另一个分支相同(或者在章鱼的情况下更多)。

完成所有工作后,您可以将其合并为(仅从中进行单一提交):

git checkout master
git merge --squash your_branch

请告诉我这是否对您有帮助!