如何进行nbgitpuller的分析
本篇文章为大家展示了如何进行nbgitpuller的分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
nbgitpuller (notebook git puller),可以通过点击一个简单的链接,就将git仓库中的内容发布给用户,它能够确保用户永远不会直接接触到git。主要与JupyterHub一起使用,但也可以在用户的本地笔记本电脑上工作。什么样的情况下会使用到nbgitpuller?
在教学中使用JupyterHub,并希望有一种简单的方式来向学生分发材料,而不需要他们了解什么是git
可以通过其他途径收集作业,因为通过nbgitpuller拉取的项目不能通过Git方式进行push
什么样的情况下不应该使用nggitpuller?
当使用JupyterHub在本地进行编程并推送到Git仓库时,应该直接使用Git因为如果用git推送而用nbgitpuller拉取的话,nbgitpuller的假设和设计会带来意想不到的惊喜
总而言之,nggitpuller只能用于pull拉取和分发材料,而不能处理git push操作!
nbgitpuller的安装
可以在安装了Jupyter Notebook的同一个环境中,用pip从PyPI安装nbgitpuller
pip install nbgitpuller
nbgitpuller的使用方法
关于nbgitpuller的用法,在上一节中有仔细介绍,此处不再赘述
nbgitpuller的冲突合并规则
nbgitpuller 试图确保点击链接的终端用户无需手动与 git repo 进行交互,这就要求它在处理学生和老师的不同版本材料之间的合并操作时,要处理各种冲突问题
下面是nbgitpuller处理合并冲突的几个原则:
1 教师修改了文件,但学生没有修改
学生的修改不做变化,教师的修改则直接拉取存储
最常见的情况,即教师向git repo中添加了新的文件或者目录
2 学生和教师修改了同一文件的不同位置
与情况1相似,学生的修改不做变化,教师的修改直接拉取后写入
3 学生和教师修改了同一文件的相同位置
保留学生的修改,nbgitpuller的最大准则就是永远保留学生的作业操作
4 学生在本地删除了文件,而教师没有
如果学生在本地删除了一个文件,但该文件仍然存在于远程repo中,那么远程repo中的文件会被拉到学生的目录中
这就实现了学生在对一个文件做了很多修改后,想 "重新开始 "的情况
他们可以简单地删除这个文件,再点击 nbgitpuller 链接,然后得到一个新的副本
5 学生在本地创建了新文件,而教师也创建了同名文件
例如,学生在nbgitpuller拉了一个仓库的目录下手动创建了一个名为Untitled141.ipynb的文件
在之后的某个时刻,教师也创建了一个名为 Untitled141.ipynb 的文件,并将其推送到 repo 中
当学生接下来点击nbgitpuller链接时,我们要确保不会破坏学生的工作
由于它们是在两个不同的地方创建的,所以它们可合并的可能性很低
所以我们将学生的文件重命名,并将教师的文件拉下来
所以学生的Untitled141.ipynb文件将重命名为Untitled141_<timestamp>.ipynb,而教师的文件将保留在Untitled141.ipynb
上述内容就是如何进行nbgitpuller的分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注蜗牛博客行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论