
# 在JupyterLab使用Git克隆代码仓
在JupyterLab中使用Git插件可以克隆GitHub开源代码仓库，快速查看及编辑内容，并提交修改后的内容。
#### 前提条件
Notebook处于运行中状态。
#### 打开JupyterLab的git插件
在Notebook列表中，选择一个实例，单击右侧的"接入环境"，在"接入方式"对话框，单击JupyterLab接入右侧的"接入"，进入"JupyterLab"页面。
[图1]所示图标，为JupyterLab的Git插件。
图1Git插件   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002654288628.png)
#### 克隆GitHub的开源代码仓库
GitHub开源仓库地址：https://github.com/jupyterlab/extension-examples，单击![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000001458178070.png)，输入仓库地址，单击确定后即开始克隆，克隆完成后，JupyterLab左侧导航出现代码库文件夹。
图2使用git插件克隆GitHub的开源代码仓库   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002684448695.png)
#### 克隆GitHub的私有仓库
1. 克隆GitHub私有仓库时，会弹出输入个人凭证的对话框，如下图。此时需要输入GitHub中Personal Access Token信息。 ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000001945352804.png)
   
2. 查看Personal Access Token步骤如下：
   1. 登录[GitHub](https://github.com/join)，打开设置页面。
   
   2. 单击"Developer settings"。
   
   3. 单击"Personal access tokens \> Generate new token"。
   
   4. 验证登录账号。
   
   5. 填写Token描述并选择权限，选择私有仓库访问权限，单击"Generate token"生成Token。
   
   6. 复制生成的Token到编译构建服务即可。
   
   
   ![](https://support.huaweicloud.com/devtool-modelarts/public_sys-resources/notice_3.0-zh-cn.png)
   - Token生成后，请及时保存，下次刷新页面将无法读取，需要重新生成新Token。
   
   - 注意填写有效的Token描述信息，避免误删除导致构建失败。
   
   - 无需使用时及时删除Token，避免信息泄露。
    
   图3获取Personal Access Token   
   ![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000001945512120.gif "点击放大") 
 
#### 查看代码库信息
在Name下方列表中，选中您希望使用的文件夹，双击打开，然后单击左侧git插件图标进入此文件夹对应的代码库。
图4打开文件夹后打开git插件   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002654450696.png "点击放大")
即可看到当前代码库的信息，如仓库名称、分支、历史提交记录等。
图5查看代码库信息   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002582094988.png "点击放大")
![](https://support.huaweicloud.com/devtool-modelarts/public_sys-resources/note_3.0-zh-cn.png)
Git插件一般默认克隆master分支，如果要切换分支可单击Current Branch展开所有分支，单击相应分支名称可完成切换。
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002612495097.png "点击放大")
#### 查看修改的内容
如果修改代码库中的某个文件，在"Changes"页签的"Changed"下可以看到修改的文件，并单击修改文件名称右侧的"Diff this file"，可以看到修改的内容。
图6查看修改的内容   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000001401997440.png "点击放大")
#### 提交修改的内容
确认修改无误后，单击修改文件名称右侧的"Stage this change"，文件将进入Staged状态，相当于执行了git add命令。在左下方输入本次提交的Message，单击"Commit"，相当于执行了git commit命令。
图7提交修改内容   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002581937180.png "点击放大")
此时，可以在"History"页签下看到本地提交已成功。
图8查看是否提交成功   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002581938146.png "点击放大")
单击"push"按钮，相当于执行git push命令，即可提交代码到GitHub仓库中。提交成功后会提示"Successfully completed"。如果OAuth鉴权的Token过期，则此时再push会弹框让输入用户的Token或者账户信息，按照提示输入即可。这里推荐使用Personal Access Token授权方式，如果出现密码失效报错请参考[git插件密码失效如何解决？](https://support.huaweicloud.com/trouble-modelarts/modelarts_13_0256.html)
图9提交代码至GitHub仓库   
![](https://support.huaweicloud.com/devtool-modelarts/figure/zh-cn_image_0000002612457995.png)
完成上述操作后，可以在JupyterLab的git插件页面的History页签，看到"origin/HEAD"和"origin/master"已指向最新一次的提交。同时在GitHub对应仓库的commit记录中也可以查找到对应的信息。
