我已经在我的第一台笔记本电脑上开始了项目。 git init,然后开始工作。 明天我要去度假。我想带上我的小笔记本电脑。
不时与项目合作。
我通过ssh从更大的笔记本电脑克隆存储库(git clone ssh:// adress)
当我回来时,将更改从较小的笔记本电脑推向更大的笔记本电脑的最佳方式是什么?
更大的笔记本电脑没有裸露的回购。
我想稍后在更大的笔记本电脑上使用该回购,所以我必须清楚地做到这一点。
答案 0 :(得分:5)
不要使用推;当您回来时,将您的旅行笔记本电脑存储库添加为另一台笔记本电脑上的回购中的遥控器,然后进行更改。
来自the manual:
请注意,“推送”的目标通常是裸存储库。您也可以推送到具有签出工作树的存储库,但推送不会更新工作树。如果你推送的分支是当前签出的分支,这可能会导致意外的结果!
答案 1 :(得分:2)
添加到mkarasek和5ound ....
如果这是您经常遇到的情况,一个好主意是在您的小型笔记本电脑上保留裸露的回购,并使用ssh协议定期推送/拉出。
在已签出工作分支的情况下从回购中推/拉可能很容易导致冲突和管理上的麻烦。
在您的小型笔记本电脑上保留一份裸仓库的副本(假定具有权威性),当您不在家时,可以使用file://协议灵活地推送它。当你回到家并在你的局域网上安装小型笔记本电脑时,只需使用ssh协议进行git pull。
答案 2 :(得分:1)
在大笔记本电脑上,你应该做一个“git pull”,将小笔记本电脑的变化拉到大笔记本电脑上。
虽然您可以从小型笔记本电脑上执行“git push”,但由于大笔记本电脑上的存储库不是裸机,您还需要在大笔记本电脑上执行“git checkout”或“git reset”与推送的更改同步,如果对大型笔记本电脑存储库进行了修改,则可能会遇到冲突。
答案 3 :(得分:0)
只是:
git push
如果您是通过ssh从大笔记本电脑上创建了一台小型笔记本电脑上的回购广告来自拥有大笔记本电脑上的回购的用户,而大笔记本电脑正在运行ssh服务,那么你会没事的。
如果你愿意的话,你可以提供更大的笔记本电脑和repo dir的git push参数,但它应该已经是你的起源了。
如果你这样做,只需记得采取适当的措施在你回到它时更新大笔记本电脑上的树。