繁体   English   中英

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

[英]How to work with a non-commited git file over multiple computers

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

有没有一种方法可以在多台计算机上共享git中的文件,未完成,未经测试的文件,而这些文件不会保存为项目中的良好还原点? 我曾考虑过存储,但是据我所知,存储是本地的,所以我将无法在另一台计算机上检索到我的存储。

不可以,您不能与Git分享未跟踪的更改。 那不是Git的目的。 Git跟踪内容,如果你不告诉它来跟踪你的变化,Git会无助于存储或传输这些变化。

相反,不必太担心仅在“完成”某件事时才提交。

不断投入。 一直投入。 在分支上工作,完成后,将分支压缩到一个(或几个)提交。 Git专门为支持该工作流程而使分支和承诺的成本非常低。

我认为这不可能,相反,您可以创建其他分支并提交到该分支中,并且不要将该分支合并到主分支中,这样您的代码就可以保持还原点的原样。

您需要另一个分支。 进入当前分支-要分支的分支,然后执行以下操作:

git checkout -b new_branch

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

git push -u origin new_branch

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

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

是的,隐藏是本地的,因此对您没有帮助。 一种解决方案是将文件从一台计算机手动复制到另一台计算机,但是缺少版本控制的要点。 您为什么不使用自己的分支呢?

这样,您可以创建分支,并从两台PC都提交到该分支。 在此处阅读有关分支的更多信息。 但是,合并时,您的所有提交都将成为主人的历史。 但是没有什么是不可能的。

合并为master时有--squash选项,它将所有分支提交合并为一个。

- 壁球

--no-南瓜

产生工作树和索引状态,就像发生真正的合并一样(合并信息除外),但实际上不进行提交或移动HEAD,也不记录$ GIT_DIR / MERGE_HEAD导致下一个git commit命令创建合并承诺。 这使您可以在当前分支的顶部创建一个提交,其作用与合并另一个分支的作用相同(对于章鱼,则更多)。

完成所有工作后,您可以使用它来合并为(仅从中进行一次提交):

git checkout master
git merge --squash your_branch

让我知道这是否对您有帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM