九游平台/ 代码托管 codearts repo/ 用户指南/ / 在git bash创建分支并开发代码
更新时间:2025-03-10 gmt 08:00

在git bash创建分支并开发代码-九游平台

  1. 进入本地仓库目录,打开git bash。执行如下命令,基于master分支新建一条分支feature1,并切换到feature1分支。
    git checkout -b feature1
  2. 以下步骤模拟将字符串“hello cr”写入到名为hello_cr.txt的文件中。
    echo 'hello cr' > hello_cr.txt
  3. 将当前目录下所有修改过的文件添加到git的暂存区中,准备提交到版本库。
    git add .
  4. 将当前修改的代码提交到本地代码仓库中,并添加一条提交信息。
    git commit -m 'hello cr'
  5. 查看最近一次提交的详细信息。
    git log -1
  6. 执行如下命令,将本地分支feature1推送到用户远程仓库的origin分支,并将本地分支与远程分支建立追踪关系。
    git push --set-upstream origin feature1 
    • 执行步骤6时,如果提示“connect to host ********.com port 22: connection timed out”,表示用户的网络被限制,无法访问代码托管服务,请求助用户本地所属网络管理员。
    • 如果用户在创建commit后,把本地路径带到codearts repo的代码仓库里,用户不能更改提交代码的路径,只能本地删除该文件或者回退commit强制提交,然后重新提交。
    • 检查ip白名单。注意,在未配置白名单时,全部ip均会放行,如果配置了则只允许名单内的ip访问。
  7. 进入要新建合并请求的代码仓库九游平台首页,选择“合并请求” > “新建”,选择要发起合并请求的源分支和目标分支。用户可勾选“是否使用临时分支”,如果勾选,那用户将使用新生成的临时分支提交合并请求。在“新建合并请求”页面的下方可以看到两条分支的文件差异对比详情、要合并分支的提交记录信息。

本地提交代码的常见问题

  • 提交本地代码到codearts repo,需要使用git push命令,git commit只是将本地仓库中的修改保存到本地仓库中,每次commit都会生成一个新的commit记录,记录了修改的内容、作者、时间等信息。commit操作只会将代码更改保存到本地仓库中,并不会将修改同步到远程仓库。
  • 向codearts repo推送代码时,提示“you are not allowed to push code to protected branches on this project”。原因是该分支为受保护分支,用户没有权限推送代码到这个分支。九游平台的解决方案:仓库所有者或者项目管理员进入代码仓库详情页,选择“设置 > 策略设置 > 保护分支”,单击,解除对该分支的保护。
  • 向codearts repo推送代码时,提示“src refspec master does not match any”。原因是用户没有使用git add、git commit命令依次将文件从工作区加入暂存区。九游平台的解决方案:在执行git push命令之前,请先使用git add、git commit将修改后的文件提交至暂存区中,再使用push命令推送至云端代码仓库中。
  • 向codearts repo推送代码时,提示“error: failed to push some refs to 'https://codehub”。原因是codearts repo的该仓库与本地仓库代码不一致,所以从本地提交代码的操作被拒绝。九游平台的解决方案:先使用git pull命令拉取codearts repo远端仓的代码,与本地代码仓库合并,再使用git push命令推送代码到codearts repo。
  • 使用git pull命令拉取代码失败,提示“merge branch "master’ of https://codehub/testmaven please enter a commit message to explain why this merge is necessary”。原因是codearts repo的代码仓库与用户本地仓库内容不一致,拉取代码时会跟本地代码进行合并(merge),弹框是提示是否确认本次merge操作,并提交备注信息。九游平台的解决方案请参考使用git pull拉取代码失败,报错"merge branch 'master' of https://xx.com please enter a commit"章节。
  • 执行步骤4时,如果报错“unable to auto-detect email address”,原因是未设置用户名、邮箱。用户可以执行如下命令配置用户的个人信息。
    git config --global user.name {用户的名字}
    git config --global user.email {用户的邮箱}
  • 执行步骤6时,如果报错“'origin' does not appear to be a git repository...”,原因是远程不存在origin这个仓库名称,具体九游平台的解决方案请参考.执行git push 命令时,报错'origin' does not appear to be a git repository...”章节。
  • 执行步骤3时,如果报错“not a git repository”,原因是用户不在当前代码仓目录下,需要使用cd命令进入代码仓库目录下。
  • 提交合并请求时,如果报错"failed to push some refs to '....git'",请参考解决合并请求冲突
  • 执行步骤6时,提示“connection reset by test port 22 fatal: could not read from remote repository.”,原因是网络不稳定,该请求被重置,如果该问题是偶现,可能为网络原因。
  • 如果用户的仓库是“所有访客只读”,当用户新建或者修改mr“标题”时,且标题内容包含违规词汇,新建或者修改mr标题将失败,并在右上角报错提示“合并请求标题存在违反法律法规的内容,请修改后重新提交。”
  • 如果用户的仓库是“所有访客只读”,当用户的“描述”包含违规词汇或者图片,会审核不通过,在mr标题右侧将显示“标题或描述内容审核不通过,请及时修改,否则mr仅项目内成员可见。”并且此mr将不对其他成员展示,修改并合规后,将正常展示此mr信息。
  • 如果用户的仓库是“所有访客只读”,当用户的“评审意见”包含敏感词汇或者图片,将会在评价所在行显示“审核不通过”

相关文档

网站地图