我想知道,git中是否有一个选项可以让我提交更改,以便我可以继续使用其他PC /笔记本电脑而无需任何其他人拉动?
例如,我正在我的桌面电脑上工作一个分支中的一个功能(注意我不想创建一个新的分支),因为我没有完成它,我必须去一些放置几天,我想继续在我的笔记本电脑上工作,但我不希望别人能够拉,因为它没有完成它可能会导致一些不必要的行为。
所以基本上,只为我自己承诺,之后当我完成时,我可以推动项目中的其他人。
答案 0 :(得分:3)
但我不希望别人能够拉,因为它还没有完成它可能会导致一些不必要的行为。
该项目是公开的,不是吗?因此,当您最终发布下一个版本时,无论如何都会看到提交,不是吗?所以他们不能包含任何非法或有问题的东西,可以吗?他们唯一能做的就是打破国家......
因此,如果有人想通过明确地从名为for-test
或experiment
的分支中提取代码来自己开枪,那么问题就在于他们。
因此,会推送到分支。将其命名为test
(或for-test
或experiment
或类似名称,但没什么特别的,请)。我的意思是非常字面意思;分支只会在你在另一台机器上测试之前存在!
推进这样的分支是微不足道的:
git push origin HEAD:test
然后在另一台机器上,你只需拉动它:
git pull origin test
并测试并修复它。当您完成并将其合并到实际目标时,您只需再次删除测试分支:
git branch -d test
摆脱了本地分支,
git push -d origin test
摆脱了github上的那个。
是的,您还可以设置遥控器,以便从一台计算机直接推送到另一台计算机。但这需要让它们在同一网络上运行并具有ssh连接或其他东西。然后你想要让其他人也测试它,你仍然需要test
分支。
所以做一个test
分支;分支很便宜。
与提交属于分支机构的传统集中式版本控制系统相比,这是一个很大的不同。在创建之前你必须仔细考虑,因为它们永远存在。但在分布式系统中,分支只是修订的标签,可以轻松添加到现有的修订版中,并在不再需要时轻松删除。一旦你习惯了它,你会发现分支在git和其他分布式系统中更有用,然后它们就会在旧系统中使用。