git commit to remote

本文详细介绍了如何在GitHub上使用SSH密钥进行安全的代码推送。从生成SSH密钥对,到添加密钥到SSH agent,再到在GitHub上添加SSH公钥,以及常见错误的排查,如权限设置不当导致的警告,提供了全面的操作步骤。

Generating key

ssh-keygen -t rsa -C "youremail@example.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/y/.ssh/id_rsa): 
/home/y/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/y/.ssh/id_rsa.
Your public key has been saved in /home/y/.ssh/id_rsa.pub.
The key fingerprint is:

Add ssh key in git.

xclip -sel clip < ~/.ssh/id_rsa.pub

Check

ssh -T git@github.com

Succeed

Hi *! You've successfully authenticated, but GitHub does not provide shell access.

Error

ssh -T git@github.com
sign_and_send_pubkey: signing failed: agent refused operation
git@github.com: Permission denied (publickey).
ssh-agent -s
ssh-add
Identity added: /home/y/.ssh/id_rsa (/home/y/.ssh/id_rsa)

Warning

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0744 for '/home/y/.ssh/id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

Permissions 0744 are too open.

chmod 600 /home/y/.ssh/*
Identity added: /home/y/.ssh/id_rsa (/home/y/.ssh/id_rsa)
### 初始化 Git 仓库并完成首次提交和推送的完整流程 #### 创建新的 Git 仓库 执行 `git init` 命令会在当前目录下创建一个新的 `.git` 子目录,其中包含初始化后的 Git 仓库所需的所有必要文件[^1]。 ```bash git init ``` #### 配置 .gitignore 文件 为了忽略某些不需要纳入版本控制的文件或目录,可以通过以下方式配置 `.gitignore` 文件。可以选择在 GitHub 上创建新仓库时启用 “Add .gitignore” 功能来生成预定义模板[^3],或者手动编辑 `.gitignore` 文件: ```bash echo "*.log" >> .gitignore echo "node_modules/" >> .gitignore ``` 以上命令将所有扩展名为 `.log` 的日志文件以及整个 `node_modules/` 目录排除在外。 #### 将现有文件添加至暂存区 使用 `git add` 命令可将工作区中的修改内容加入到暂存区(Staging Area)。若需一次性添加全部改动,则运行以下指令: ```bash git add . ``` #### 提交更改到本地仓库 利用 `git commit` 把暂存区域的数据正式保存进历史记录里,并附带一条描述性的消息以便后续查阅: ```bash git commit -m "Initial commit" ``` #### 关联远程仓库地址 当已有对应的线上存储位置时,可通过下面这条语句指定其 URL 地址作为项目的远端目标之一;这里假设名称默认设为 origin : ```bash git remote add origin https://github.com/[username]/[repository].git ``` #### 推送数据至上游服务器 最后一步就是借助 `git push` 实现从本地分支向关联好的远程 master/main 分支上传最新变动成果了 。如果是第一次推送的话可能还需要强制覆盖参数 `-u` 来建立追踪关系方便以后简化操作过程. ```bash git push -u origin main ``` 注意:部分旧版系统可能会采用 `master` 而非 `main` ,具体视实际情况调整相应标签名即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值