Git从入门到工作流:GitLab私有仓库最佳实践(SSH免密、.DS_Store全局忽略) 本文将带你从零开始配置GitLab私有仓库涵盖SSH密钥免密登录、本地仓库初始化与推送、以及macOS下.DS_Store文件的全局忽略与清理。每一步都有命令和解释适合新手和想规范Git工作流的开发者。一、注册GitLab账号并创建私有仓库1. 注册账号访问 GitLab.com注意不要使用极狐GitLab gitlab.cn两者账号不互通。推荐使用Gmail或其他国际邮箱QQ邮箱也可以。注册后登录。2. 创建私有仓库点击右上角New project→Create blank project。填写项目信息Project name例如my-notes或linux-network-labProject slug自动生成保持默认即可Visibility Level选择Private私有仓库仅自己可见取消勾选Initialize repository with a README如果本地已有代码不要初始化README避免冲突。点击Create project。创建成功后页面会显示后续需要用到的Git命令。二、配置SSH密钥免密登录使用SSH密钥可以避免每次git push时输入用户名和密码。1. 生成SSH密钥在Mac/Linux终端执行# 推荐 ED25519 算法安全性高性能好ssh-keygen-ted25519-Cyour_emailexample.com# 或者使用 4096 位 RSAssh-keygen-trsa-b4096-Cyour_emailexample.com一路回车使用默认路径~/.ssh/id_ed25519或~/.ssh/id_rsa可以不设置密码留空直接回车2. 将公钥添加到GitLab查看公钥内容cat~/.ssh/id_ed25519.pub复制输出的全部内容以ssh-ed25519开头以邮箱结尾在GitLab网页点击右上角头像 →Preferences→SSH Keys左侧菜单将公钥粘贴到Key文本框Title任意起名如“My Mac”点击Add key3. 测试SSH连接ssh-Tgitgitlab.com如果看到Welcome to GitLab, 用户名!说明配置成功。三、本地仓库初始化并推送代码1. 配置Git身份信息每个仓库独立配置也可全局gitconfig--localuser.name你的用户名gitconfig--localuser.email你的邮箱example.com2. 三种常见场景的推送方式场景一本地还没有Git仓库全新开始# 克隆空仓库会自动创建项目文件夹gitclone gitgitlab.com:username/my-project.gitcdmy-projectgitswitch--createmaintouchREADME.mdgitaddREADME.mdgitcommit-madd READMEgitpush --set-upstream origin main场景二本地已有代码文件夹未初始化为Git仓库cdexisting_foldergitinit --initial-branchmain --object-formatsha1gitremoteaddorigin gitgitlab.com:username/my-project.gitgitadd.gitcommit-mInitial commitgitpush --set-upstream origin main场景三本地已有Git仓库想更换远程地址cdexisting_repogitremoterenameorigin old-origingitremoteaddorigin gitgitlab.com:username/my-project.gitgitpush --set-upstream origin--allgitpush --set-upstream origin--tags推送成功后刷新GitLab页面即可看到上传的文件。四、优雅处理 .DS_Store 文件macOS用户必看.DS_Store是macOS自动生成的隐藏文件用于存储文件夹的显示偏好。它不应该被Git跟踪。1. 配置全局忽略规则推荐一劳永逸在终端执行# 创建全局忽略文件并加入 .DS_Storeecho.DS_Store~/.gitignore_global# 告诉Git使用这个全局忽略文件gitconfig--globalcore.excludesfile ~/.gitignore_global验证配置gitconfig--globalcore.excludesfile# 应输出: /Users/你的用户名/.gitignore_global2. 清理已被Git跟踪的 .DS_Store 文件如果之前已经提交过.DS_Store需要从仓库中移除但保留本地文件。进入你的Git仓库目录执行# 递归移除所有 .DS_Store 的跟踪find.-name.DS_Store-print0|xargs-0gitrm--cached--ignore-unmatch# 提交变更gitadd.gitcommit-mchore: 移除并忽略 .DS_Store 文件# 推送到远程gitpush origin main3. 针对VMware共享文件夹的特殊情况如果你在Linux虚拟机中通过VMware共享文件夹操作Git仓库可以在仓库根目录创建.gitignore文件cd/mnt/hgfs/your-projectecho.DS_Store.gitignoregitadd.gitignoregitcommit-mchore: 忽略 .DS_Store 文件gitpush origin main完成后git status将不再显示.DS_Store仓库保持干净。五、总结通过以上步骤你已经掌握了GitLab私有仓库的创建与SSH免密配置本地代码推送到远程的标准流程跨平台特别是macOS下.DS_Store文件的正确忽略方法这套工作流适合个人笔记、代码练习、开源项目等多种场景。接下来你可以放心地使用Git管理你的所有学习代码和博客草稿。下一篇预告下一篇将进入网络编程实战从socket到epoll手写一个 Reactor 模型的高性能服务器欢迎关注。如果你在配置中遇到问题欢迎留言交流。 系列文章推荐上一篇[M4 Mac mini 安装 Linux 虚拟机] —— 搭建 Ubuntu ARM64 开发环境解决共享文件夹自动挂载、SSH 免密、VSCode 远程开发等痛点。本文所有命令均已在macOS GitLab.com 环境下验证可放心使用。