服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡

简介: 服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡

服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡

引言

服务器上代码已经是最新,由于新功能部分同事在服务器开发了,本地和gitee库都不是最新怎么办,以实战项目为例如下:

假设服务器上的项目地址是/www/wwwroot/api.siyusiyu.com已经搭建好了, 但是目前要挂载gitee对应的https://gitee.com/youyacao/siyu-api仓库地址,目前服务器上的代码为最新代码,详细应该怎么操作,其次要把服务器的最新代码提交至gitee仓库,详细步骤

假设服务器已经是最新

我来为您详细说明如何将服务器代码与Gitee仓库关联并提交的步骤:

第一步:在Gitee仓库添加服务器SSH公钥

1. 生成SSH密钥对(如果还没有)

ssh-keygen -t rsa -C "your_email@example.com"
# 按Enter使用默认路径,设置密码(可选)

2. 查看并复制公钥

cat ~/.ssh/id_rsa.pub

3. 在Gitee添加公钥

  • 登录Gitee → 个人设置 → SSH公钥
  • 粘贴公钥内容,添加标题

第二步:初始化Git仓库并关联远程仓库

1. 进入项目目录

cd /www/wwwroot/api.siyusiyu.com

2. 初始化Git仓库

git init

这里如果提示:

git init
-bash: git: command not found

如何处理请看这篇关于标题文章

宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡

3. 配置用户信息

git config user.name "Your Name"
git config user.email "your_email@example.com"

提示 hint: Using ‘master’ as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config —global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of ‘master’ are ‘main’, ‘trunk’ and
hint: ‘development’. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>

提示这个,但是可以不用管

不是一个错误(Error),而是一个提示(Hint/Warning)。这是 Git 在新版本中为了更加友好和包容而引入的提示信息。

提示信息解释

这个提示告诉您:

  • Git 使用 master 作为新仓库的默认分支名称
  • 这个默认分支名称将来可能会改变
  • Git 建议您配置一个不同的初始分支名称

解决方案

您有以下几种处理方式:

方案一:配置全局默认分支(推荐)

设置一个您喜欢的默认分支名称,这样以后创建新仓库时就不会再有这个提示了。

设置默认分支为 main(目前最流行的选择):

git config --global init.defaultBranch main

或者设置为其他名称:

# 设置为 development
git config --global init.defaultBranch development
# 设置为 trunk
git config --global init.defaultBranch trunk
# 设置为 primary
git config --global init.defaultBranch primary

方案二:重命名当前仓库的分支

如果您已经创建了仓库,可以立即重命名分支:

# 将当前分支从 master 重命名为 main
git branch -m main
# 或者重命名为其他名称
git branch -m development

方案三:忽略提示(不推荐)

您也可以选择完全忽略这个提示,继续使用 master 作为分支名称。Git 仍然会正常工作,只是每次创建新仓库时都会显示这个提示。

完整操作示例

如果您想一劳永逸地解决这个问题,建议按以下步骤操作:

  1. 设置全局默认分支:
git config --global init.defaultBranch main
  1. 验证配置是否生效:
git config --global init.defaultBranch

这会显示您设置的默认分支名称。

  1. 重新初始化 Git 仓库(如果需要):
# 删除原来的 .git 文件夹
rm -rf .git
# 重新初始化
git init
  1. 或者重命名现有分支:
# 如果您想保留之前的初始化,只需重命名分支
git branch -m main

为什么会有这个提示?

近年来,科技行业开始重新审视一些可能带有负面历史含义的术语。master 分支的名称被认为可能引用历史上的主奴关系,因此许多项目和公司(包括 GitHub)已经将默认分支从 master 改为 main

总结

  • 这不是错误,只是一个友好的提示
  • 推荐解决方案:执行 git config --global init.defaultBranch main
  • 这个配置只需要设置一次,对所有新仓库都有效
  • 设置完成后,以后执行 git init 就不会再看到这个提示了

4. 添加远程仓库地址

git remote add origin https://gitee.com/youyacao/siyu-api.git

或者使用SSH方式(推荐):

git remote add origin git@gitee.com:youyacao/siyu-api.git

第三步:提交服务器代码到Gitee

1. 添加所有文件到暂存区

git add .

2. 提交更改

git commit -m "初始提交:从服务器同步最新代码"

3. 拉取远程仓库内容(处理可能的冲突)

git pull origin master --allow-unrelated-histories
# 或者如果远程仓库是main分支:
# git pull origin main --allow-unrelated-histories

4. 推送代码到Gitee

git push -u origin master
# 或者如果远程仓库是main分支:
# git push -u origin main

完全没问题了,解决了,不过我们遇到新的问题 这个就不属于本文的问题了

To https://gitee.com/youyacao/siyu-api.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to ‘https://gitee.com/youyacao/siyu-api.git
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: ‘git pull’ before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push —help’ for details.

也就是仓库的代码没有先拉 ,但是我要强制推送 服务器的内容至远程仓库

其实也很简单,直接强推即可

git push —force origin master

如果遇到冲突的解决方案

查看冲突文件

git status

手动解决冲突后

git add .
git commit -m "解决合并冲突"
git push origin master

第四步:验证设置

1. 检查远程仓库配置

git remote -v

2. 检查分支情况

git branch -a

常用Git命令备忘

# 查看当前状态
git status
# 查看提交历史
git log --oneline
# 查看文件更改
git diff
# 强制推送(谨慎使用)
git push -f origin master

注意事项

  1. 备份重要数据:在操作前建议备份重要代码
  2. 分支名称:确认Gitee仓库默认分支是master还是main
  3. 忽略文件:建议创建.gitignore文件忽略不必要的文件
  4. 权限问题:确保有对Gitee仓库的写入权限

创建.gitignore文件示例

# 创建.gitignore
cat > .gitignore << EOF
# 依赖目录
node_modules/
vendor/
# 配置文件
.env
config/database.php
# 日志文件
*.log
storage/logs/
# 系统文件
.DS_Store
Thumbs.db
# IDE文件
.idea/
.vscode/
*.swp
*.swo
EOF

完成以上步骤后,服务器代码就会成功同步到Gitee仓库了。之后可以通过常规的git pull和git push命令来保持代码同步。

目录
相关文章
|
1月前
|
Shell Linux 网络安全
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
325 3
宝塔服务器面板部署安装git通过第三方应用安装收费怎么办—bash: git: command not found解决方案-优雅草卓伊凡
|
3月前
|
监控 Java Linux
Apache NiFi项目的编译与部署于CentOS服务器
总而言之,Apache NiFi的编译和部署虽然涉及多个步骤,但这些操作步骤简明扼要,即使是不太熟悉Java或Maven的用户也能跟随指南完成。通过遵循上述步骤,您将能够在CentOS服务器上成功部署Apache NiFi,为您的数据流处理任务建立一个功能强大的平台。
258 16
|
4月前
|
监控 关系型数据库 数据库连接
FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
131 3
FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
|
4月前
|
弹性计算 缓存 监控
​带宽与宽带的本质区别:为什么测试服务器5M带宽足够?-优雅草卓伊凡
​带宽与宽带的本质区别:为什么测试服务器5M带宽足够?-优雅草卓伊凡
839 1
​带宽与宽带的本质区别:为什么测试服务器5M带宽足够?-优雅草卓伊凡
|
5月前
|
弹性计算 安全
阿里云服务器镜像,快速迁移项目数据
有时候旧服务器快到期了,想把项目、数据、软件挪到新服务器上,如果全部重新搭建的话,那无疑是耗时又费力。有了镜像迁移,就方便了许多。
471 1
|
8月前
|
Docker Python 容器
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
948 1
|
8月前
|
存储 弹性计算 固态存储
阿里云服务器租用价格参考:云服务器各收费项目收费标准与活动价格
阿里云服务器收费项目有实例价格、预留实例券、专有宿主机、块存储价格、存储容量单位包、带宽价格和快照服务价格,收费模式有包年包月和按量付费模式。本文为大家汇总了2025年阿里云服务器各个收费项目的最新收费标准与云服务器的最新活动价格,以供参考和了解。
|
28天前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
198 10
|
26天前
|
运维 安全 Ubuntu
阿里云渠道商:服务器操作系统怎么选?
阿里云提供丰富操作系统镜像,涵盖Windows与主流Linux发行版。选型需综合技术兼容性、运维成本、安全稳定等因素。推荐Alibaba Cloud Linux、Ubuntu等用于Web与容器场景,Windows Server支撑.NET应用。建议优先选用LTS版本并进行测试验证,通过标准化镜像管理提升部署效率与一致性。