1. 为什么需要将本地项目部署到GitLab作为一个开发者你可能已经习惯了在本地电脑上写代码、调试程序。但当项目逐渐成型或者需要和团队成员协作时就需要一个安全可靠的地方来存放代码。这就是GitLab这类代码托管平台的价值所在。我第一次使用GitLab是在2015年当时团队需要协作开发一个电商项目。记得当时最头疼的问题就是代码版本混乱A同事改了B同事的代码却不自知导致项目频繁出错。后来我们统一使用GitLab后这些问题都迎刃而解了。GitLab不仅是一个代码仓库它更像是一个完整的开发协作平台。你可以安全存储代码再也不怕电脑崩溃导致代码丢失轻松实现团队协作多人同时开发也不会冲突使用CI/CD功能自动化构建和部署通过issue系统管理项目任务进行代码审查保证代码质量2. 准备工作创建GitLab项目2.1 注册GitLab账号如果你还没有GitLab账号第一步当然是去官网注册。GitLab有免费版和付费版个人和小团队使用免费版就足够了。注册过程很简单访问GitLab官网点击Register按钮填写邮箱、用户名和密码完成邮箱验证提示建议使用常用邮箱注册这样不会错过重要通知。我有个朋友用临时邮箱注册后来忘记密码找回时特别麻烦。2.2 创建新项目登录后点击右上角的号选择New project。这里有几个关键选项需要注意项目名称建议使用有意义的英文名比如ecommerce-backend项目描述简单说明项目用途方便其他人理解可见性级别Private只有你授权的用户能看到Internal组织内成员可见Public所有人都能看到开源项目选这个我建议新手先从Private开始等熟悉后再考虑调整。创建完成后你会看到一个空项目的页面记下项目的SSH地址格式如gitgitlab.com:yourname/project.git后面会用到。3. 本地项目Git初始化3.1 安装Git客户端如果你还没安装Git需要先下载安装。Windows用户可以从Git官网下载安装包Mac用户可以通过Homebrew安装brew install git安装完成后验证是否成功git --version3.2 初始化本地仓库进入你的项目文件夹右键选择Git Bash HereWindows或直接在终端中cd到项目目录。首先初始化Git仓库git init这个命令会在项目根目录创建一个隐藏的.git文件夹用来存储Git的所有版本信息。接下来把项目文件添加到暂存区git add .这个.表示添加当前目录下的所有文件。如果只想添加特定文件可以指定文件名git add index.html style.css然后提交到本地仓库git commit -m Initial commit-m参数后面的字符串是提交信息建议写得清晰明了方便以后查看历史记录时知道这次提交做了什么。4. 关联本地与远程仓库4.1 添加远程仓库现在要把本地仓库和GitLab上的远程仓库关联起来。使用之前记下的SSH地址git remote add origin gitgitlab.com:yourname/project.git这里origin是远程仓库的别名可以自定义但通常都使用origin。如果遇到错误fatal: remote origin already exists说明之前已经添加过同名的远程仓库。可以先删除再重新添加git remote rm origin git remote add origin gitgitlab.com:yourname/project.git4.2 验证关联添加完成后可以查看远程仓库信息确认是否成功git remote -v正常应该显示类似这样的输出origin gitgitlab.com:yourname/project.git (fetch) origin gitgitlab.com:yourname/project.git (push)5. 推送代码到GitLab5.1 处理分支差异在推送代码前建议先拉取远程仓库的内容虽然是个新项目但可能有README等文件git pull --rebase origin master这里可能会遇到几种情况如果远程仓库是全新的没有任何提交会提示Couldnt find remote ref master如果远程仓库有内容会拉取下来并尝试合并如果遇到分支命名冲突比如本地是master而远程是main可以这样解决git branch -m master main # 重命名本地分支 git pull --rebase origin main5.2 解决合并冲突如果在pull时出现冲突Git会提示哪些文件有冲突。你需要打开冲突文件找到冲突标记, , 手动解决冲突保留需要的代码保存文件后将修改加入暂存区git add . git rebase --continue5.3 推送代码最后将本地代码推送到远程仓库git push -u origin master如果是第一次推送-u参数会建立本地分支和远程分支的追踪关系以后可以直接用git push。如果使用main分支git push -u origin main6. 验证与常见问题6.1 验证推送结果推送完成后刷新GitLab项目页面应该能看到你的所有文件。如果没看到检查是否推送到正确的分支确认推送时没有错误信息尝试等待几秒后刷新有时GitLab需要一点时间处理6.2 常见问题解决问题1权限被拒绝错误信息Permission denied (publickey). fatal: Could not read from remote repository.解决方法检查是否配置了SSH key将SSH key添加到GitLab账户设置中问题2分支不匹配错误信息error: failed to push some refs解决方法确保本地和远程分支名称一致尝试强制推送慎用会覆盖远程内容git push -f origin master问题3大文件推送失败GitLab默认拒绝超过10MB的文件。如果项目中有大文件使用.gitignore忽略不需要版本控制的文件对于必须的大文件考虑使用Git LFSLarge File Storage7. 进阶技巧与最佳实践7.1 使用.gitignore文件在项目根目录创建.gitignore文件列出不想上传的文件和文件夹比如# 忽略node_modules node_modules/ # 忽略IDE配置文件 .idea/ .vscode/ # 忽略系统文件 .DS_Store这样可以避免把无关文件推送到仓库保持仓库整洁。7.2 分支管理策略建议采用Git Flow等分支管理策略master/main稳定版本develop开发分支feature/xxx功能开发分支hotfix/xxx紧急修复分支创建新分支git checkout -b feature/new-login7.3 提交信息规范好的提交信息应该第一行简短描述不超过50字符空一行详细说明如果需要关联issue如Fix #123示例优化用户登录流程 - 增加记住密码功能 - 修复手机号验证码错误 - 调整登录页样式 Fix #457.4 使用GitLab CI/CDGitLab内置了强大的CI/CD功能。在项目根目录创建.gitlab-ci.yml文件配置自动化构建和部署流程。例如stages: - build - test - deploy build_job: stage: build script: - echo Building the project... - npm install - npm run build test_job: stage: test script: - echo Running tests... - npm test deploy_job: stage: deploy script: - echo Deploying to production... - npm run deploy8. 实际项目中的经验分享在过去的项目中我总结出几个实用经验频繁提交不要等到代码完美才提交小步快跑更安全。我曾经因为一天没提交结果电脑蓝屏丢失了大量工作。善用分支每个新功能都应该开新分支开发完成后合并到develop分支。这样主分支始终保持稳定。代码审查GitLab的Merge Request功能非常适合团队代码审查。我们团队规定所有代码必须至少经过一人审查才能合并。备份重要分支除了推送到GitLab我还会定期将重要分支打包备份到其他位置。有一次GitLab维护我们正好需要紧急修复线上问题本地备份派上了大用场。利用Wiki和IssuesGitLab不仅仅是代码仓库它的Wiki和Issues功能非常适合项目管理。我们把需求文档、API说明都放在Wiki中开发任务通过Issues分配和跟踪。
从零到一:手把手教你将本地项目部署至GitLab远程仓库
发布时间:2026/5/17 5:27:07
1. 为什么需要将本地项目部署到GitLab作为一个开发者你可能已经习惯了在本地电脑上写代码、调试程序。但当项目逐渐成型或者需要和团队成员协作时就需要一个安全可靠的地方来存放代码。这就是GitLab这类代码托管平台的价值所在。我第一次使用GitLab是在2015年当时团队需要协作开发一个电商项目。记得当时最头疼的问题就是代码版本混乱A同事改了B同事的代码却不自知导致项目频繁出错。后来我们统一使用GitLab后这些问题都迎刃而解了。GitLab不仅是一个代码仓库它更像是一个完整的开发协作平台。你可以安全存储代码再也不怕电脑崩溃导致代码丢失轻松实现团队协作多人同时开发也不会冲突使用CI/CD功能自动化构建和部署通过issue系统管理项目任务进行代码审查保证代码质量2. 准备工作创建GitLab项目2.1 注册GitLab账号如果你还没有GitLab账号第一步当然是去官网注册。GitLab有免费版和付费版个人和小团队使用免费版就足够了。注册过程很简单访问GitLab官网点击Register按钮填写邮箱、用户名和密码完成邮箱验证提示建议使用常用邮箱注册这样不会错过重要通知。我有个朋友用临时邮箱注册后来忘记密码找回时特别麻烦。2.2 创建新项目登录后点击右上角的号选择New project。这里有几个关键选项需要注意项目名称建议使用有意义的英文名比如ecommerce-backend项目描述简单说明项目用途方便其他人理解可见性级别Private只有你授权的用户能看到Internal组织内成员可见Public所有人都能看到开源项目选这个我建议新手先从Private开始等熟悉后再考虑调整。创建完成后你会看到一个空项目的页面记下项目的SSH地址格式如gitgitlab.com:yourname/project.git后面会用到。3. 本地项目Git初始化3.1 安装Git客户端如果你还没安装Git需要先下载安装。Windows用户可以从Git官网下载安装包Mac用户可以通过Homebrew安装brew install git安装完成后验证是否成功git --version3.2 初始化本地仓库进入你的项目文件夹右键选择Git Bash HereWindows或直接在终端中cd到项目目录。首先初始化Git仓库git init这个命令会在项目根目录创建一个隐藏的.git文件夹用来存储Git的所有版本信息。接下来把项目文件添加到暂存区git add .这个.表示添加当前目录下的所有文件。如果只想添加特定文件可以指定文件名git add index.html style.css然后提交到本地仓库git commit -m Initial commit-m参数后面的字符串是提交信息建议写得清晰明了方便以后查看历史记录时知道这次提交做了什么。4. 关联本地与远程仓库4.1 添加远程仓库现在要把本地仓库和GitLab上的远程仓库关联起来。使用之前记下的SSH地址git remote add origin gitgitlab.com:yourname/project.git这里origin是远程仓库的别名可以自定义但通常都使用origin。如果遇到错误fatal: remote origin already exists说明之前已经添加过同名的远程仓库。可以先删除再重新添加git remote rm origin git remote add origin gitgitlab.com:yourname/project.git4.2 验证关联添加完成后可以查看远程仓库信息确认是否成功git remote -v正常应该显示类似这样的输出origin gitgitlab.com:yourname/project.git (fetch) origin gitgitlab.com:yourname/project.git (push)5. 推送代码到GitLab5.1 处理分支差异在推送代码前建议先拉取远程仓库的内容虽然是个新项目但可能有README等文件git pull --rebase origin master这里可能会遇到几种情况如果远程仓库是全新的没有任何提交会提示Couldnt find remote ref master如果远程仓库有内容会拉取下来并尝试合并如果遇到分支命名冲突比如本地是master而远程是main可以这样解决git branch -m master main # 重命名本地分支 git pull --rebase origin main5.2 解决合并冲突如果在pull时出现冲突Git会提示哪些文件有冲突。你需要打开冲突文件找到冲突标记, , 手动解决冲突保留需要的代码保存文件后将修改加入暂存区git add . git rebase --continue5.3 推送代码最后将本地代码推送到远程仓库git push -u origin master如果是第一次推送-u参数会建立本地分支和远程分支的追踪关系以后可以直接用git push。如果使用main分支git push -u origin main6. 验证与常见问题6.1 验证推送结果推送完成后刷新GitLab项目页面应该能看到你的所有文件。如果没看到检查是否推送到正确的分支确认推送时没有错误信息尝试等待几秒后刷新有时GitLab需要一点时间处理6.2 常见问题解决问题1权限被拒绝错误信息Permission denied (publickey). fatal: Could not read from remote repository.解决方法检查是否配置了SSH key将SSH key添加到GitLab账户设置中问题2分支不匹配错误信息error: failed to push some refs解决方法确保本地和远程分支名称一致尝试强制推送慎用会覆盖远程内容git push -f origin master问题3大文件推送失败GitLab默认拒绝超过10MB的文件。如果项目中有大文件使用.gitignore忽略不需要版本控制的文件对于必须的大文件考虑使用Git LFSLarge File Storage7. 进阶技巧与最佳实践7.1 使用.gitignore文件在项目根目录创建.gitignore文件列出不想上传的文件和文件夹比如# 忽略node_modules node_modules/ # 忽略IDE配置文件 .idea/ .vscode/ # 忽略系统文件 .DS_Store这样可以避免把无关文件推送到仓库保持仓库整洁。7.2 分支管理策略建议采用Git Flow等分支管理策略master/main稳定版本develop开发分支feature/xxx功能开发分支hotfix/xxx紧急修复分支创建新分支git checkout -b feature/new-login7.3 提交信息规范好的提交信息应该第一行简短描述不超过50字符空一行详细说明如果需要关联issue如Fix #123示例优化用户登录流程 - 增加记住密码功能 - 修复手机号验证码错误 - 调整登录页样式 Fix #457.4 使用GitLab CI/CDGitLab内置了强大的CI/CD功能。在项目根目录创建.gitlab-ci.yml文件配置自动化构建和部署流程。例如stages: - build - test - deploy build_job: stage: build script: - echo Building the project... - npm install - npm run build test_job: stage: test script: - echo Running tests... - npm test deploy_job: stage: deploy script: - echo Deploying to production... - npm run deploy8. 实际项目中的经验分享在过去的项目中我总结出几个实用经验频繁提交不要等到代码完美才提交小步快跑更安全。我曾经因为一天没提交结果电脑蓝屏丢失了大量工作。善用分支每个新功能都应该开新分支开发完成后合并到develop分支。这样主分支始终保持稳定。代码审查GitLab的Merge Request功能非常适合团队代码审查。我们团队规定所有代码必须至少经过一人审查才能合并。备份重要分支除了推送到GitLab我还会定期将重要分支打包备份到其他位置。有一次GitLab维护我们正好需要紧急修复线上问题本地备份派上了大用场。利用Wiki和IssuesGitLab不仅仅是代码仓库它的Wiki和Issues功能非常适合项目管理。我们把需求文档、API说明都放在Wiki中开发任务通过Issues分配和跟踪。