华为云部署git裸服务器+idea使用git管理ssm项目

官网教程。https://git-scm.com/download/linux
我是用的华为云服务器,linux操作系统 ubuntu
1 首先 更新安装包 apt-get install git
在这里插入图片描述
2 安装 apt-get install git
在这里插入图片描述

3 查看看git 版本 git – version
在这里插入图片描述
4 对git进行初始化设置
git config --global user.name “tomatocc” (tomatocc是git的用户名) 然后回车即可
git config --global user.email “tomatocc@sina.com” (tomatocc@sina.com是git的用户名邮箱) 然后回车即可
5 生成授权证书
Git的授权证书是基于公钥和私钥的证书体系,所以需要证书体系
输入命令 ssh-keygen -t rsa -C "tomatocc@sina.com"生成证书。(1:表示文件名,2:表示生成证书的密码,3:表示确认密码),然后回车即可
在这里插入图片描述
6 切换到ssh目录下 cd ~/.ssh/ 查看证书是否生成
7 实现git和github的链接
1.将证书注册到github上。
1)首先登陆github,https://github.com/
2)登陆之后点击头像,点击Settings.
3) 然后点击【SSH and GPG Keys】-----> 【New SSH Key】
4) 然后填写SSH Key数据。Title是名字(随便写),Key是我们在上面床架你的公钥。
我们回到Linux服务器中,用命令cd ~/.ssh/ 切换到证书文件下,然后勇命令cat id_rsa.pub 查看公钥内容,并复制公钥内容,将该公钥黏贴到github中的key里面,然后点击【Add SSH Key】。
8 验证git的配置是否正确,是否能链接github
使用命令 ssh git@github.com 来链接github,然后回车
在这里插入图片描述
然后,系统会提示是否要连接,我们输入yes,然后回车。当出现上图红方框中的内容时,就表示我们的linux服务器已经和github连接成功。

配置裸服务器:

在开始架设 Git 服务器前,需要把现有仓库导出为裸仓库——即一个不包含当前工作目录的仓库
这通常是很简单的。 为了通过克隆你的仓库来创建一个新的裸仓库,你需要在克隆命令后加上 --bare 选项。 按照惯例,裸仓库的目录名以 .git 结尾,就像这样:

cd 目录路径
$ git clone --bare LibrarySyetem LibrarySyetem.git
Cloning into bare repository ‘LibrarySyetem.git’…
done.
现在,你的 LibrarySyetem.git 目录中应该有 Git 目录的副本了。
在这里插入图片描述
使用xftp传输到云服务器

设置访问权限
2. 为了安全起见,新建一个专门用于代码部署的无特权用户
useradd -m admain 在这里插入图片描述
passwd admain#设置该用户的密码,也可根据喜好配置成免密码登陆在这里插入图片描述

4.3将这个目录的属主和属组都改为上面新建的用户admain
cd /git/LibrarySystem.git
chown admain:admain 文件名
在这里插入图片描述

5 在 git 库下 查看权限所有者
cd /git/LibrarySystem.git
$ ls -la,查看git库的所有者
chown -vR “用户名” * 给权限
本机测试:
在本地选择一文件夹 作为仓库
文件夹中右键
选择 git bash here 链接
$ git clone ssh://library@121.36.32.96:/git/LibrarySyetem.git 在下载到本地
在这里插入图片描述

使用idea打开文件

在这里插入图片描述
重点,使用idea提交必须:新建忽略备份文件:相关博客:IDEA提交Git时忽略文件【ignore文件备份】 https://www.cnblogs.com/hero123/p/9114733.html

云git部署完成 便可以多人开发


出现问题:上述步骤已解决
在这里插入图片描述
权限问题: 服务器:
在 git 库下 查看权限所有者 $ ls -la,查看git库的所有者
chown -vR “用户名” * 给权限

也可以看廖雪峰教程:
https://www.liaoxuefeng.com/wiki/896043488029600/899998870925664

git 与Idea结合使用

1.有一个项目(新建或者拷贝)
2. 配置 git 与服务器相连
设置git集成到idea file ->sitting
在这里插入图片描述
博客说:要忽略git提交时的文件备份:
相关博客:IDEA提交Git时忽略文件【ignore文件备份】 https://www.cnblogs.com/hero123/p/9114733.html

将项目加入本地仓库,先创建本地仓库,VCS --> Import into Version Control —> create Git repository .
在这里插入图片描述
在这里插入图片描述

创建后,可以将本地项目文件,添加add到git缓存区,然后commit到git本地仓库
在这里插入图片描述

云端服务器。填入远程仓库的URL,name默认为origin

在这里插入图片描述
输入密码: 之前设置的admain 的 密码。
在这里插入图片描述
在这里插入图片描述

### 解决 Intellij IDEAGit 上传代码至华为云失败的方法 在处理从IntelliJ IDEA华为云Git仓库推送代码过程中遇到的问题时,通常会面临权限验证错误或连接问题。对于提到的密码提示问题,这通常是由于SSH密钥配置不正确引起的。 #### SSH 密钥配置不当引发的身份验证问题 当尝试通过命令`git pull git@codehub.devcloud.huaweicloud.com:19ce962b186c43b19d1d7786015239c1/test.git`拉取代码并被要求输入密码时,表明当前使用的不是基于公私钥对的身份验证方式而是用户名/密码模式[^3]。为了实现无交互式的身份验证过程,应该确保已经按照规定的方式生成了SSH Key,并将其添加到了华为云账户的安全设置里。 #### 正确配置 SSH Key 的步骤如下: - **确认本地已存在有效的SSH Key**:如果尚未创建,则需先执行`ssh-keygen -t rsa -C "your_email@example.com"`来生成新的SSH Key对。 - **将新生成的SSH Public Key 添加到华为云账号下**:登录华为云官网,在个人资料页面找到SSH Keys选项完成添加操作。 - **检查IDEA中的Git配置是否指向正确的SSH路径**:有时默认情况下可能并未指定使用特定用户的`.ssh/id_rsa`文件作为认证凭证。可以通过编辑全局或项目Git配置(`~/.gitconfig`)加入以下内容以强制指明: ```bash [core] sshCommand = ssh -i ~/.ssh/id_rsa_huawei_cloud ``` - **重启IDEA使更改生效** 一旦上述所有设置都已完成,再次尝试Pull/Push动作就不应再弹出任何关于密码的要求窗口了。此时所有的通信都将依赖于事先建立好的SSH通道来进行安全的数据交换。 ```python # 示例Python脚本用于自动化检测SSH连通性(非必要) import paramiko def test_ssh_connection(): try: client = paramiko.SSHClient() client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) private_key_path = '/path/to/private/key' mykey = paramiko.RSAKey.from_private_key_file(private_key_path) hostname = 'codehub.devcloud.huaweicloud.com' username = 'git' client.connect(hostname, username=username, pkey=mykey) stdin, stdout, stderr = client.exec_command('ls') print(stdout.read().decode()) client.close() return True except Exception as e: print(f"Failed to connect via SSH: {e}") return False if __name__ == "__main__": result = test_ssh_connection() if not result: exit(1) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值