[英]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.