在我的 AWS SageMaker 项目的 GitHub 存储库中,提交被标记为由用户“EC2 默认用户”创建。
如何在 SageMaker 中自定义此用户的名称,以便每次启动笔记本实例时都使用它?
要系统地解决此问题,您可以在Lifecycle 配置中使用Start notebook configuration 。
这是脚本模板:
#!/bin/bash
set -e
cat << EOF >> /home/ec2-user/.gitconfig
[user]
name = John Doe
email = johndoe@example.com
EOF
请用您的实际值替换name
和。email
此脚本会将行追加到SageMaker 机器上的.gitconfig
文件中。ec2-user
这与您可以使用以下 2 个命令手动实现的效果相同:
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
只有保存在 /home/ec2-user/SageMaker 文件夹中的文件和数据在笔记本实例会话之间保留。当笔记本实例停止并重新启动时,保存在此目录之外的文件和数据将被覆盖。
您需要将此添加为Start notebook脚本,因此每次启动 Notebook Instance 时都会运行它。
这是 AWS Web 控制台的屏幕截图:
启动脚本配置示例
您是从 ec2 实例推送吗?
提交作者与用于验证推送的 ssh 密钥无关。
它与当前的 Git 配置有关:
git config user.name
git config user.email
确保这些本地设置的值是正确的(EC2 Git 存储库的本地设置),并且下一个新提交将由正确的作者提交。
我复制并感谢这篇文章:如何在通过 ssh 推送 git 时更改用户身份?
您还可以使用 SageMaker 笔记本的内置 Git 集成来定义用户名(并为其提供密码)。