Git第一次初始化项目到远程仓库

文章介绍了在使用Git时遇到的Permissiondenied(publickey)错误的解决过程,包括生成SSHkey,将其添加到远程仓库,以及如何进行强制推送。在完成SSH设置后,依然遇到推送失败的问题,作者选择了使用gitpush-uoriginmaster进行强制推送。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步 git init

git init 命令用于初始化Git 仓库。git init之后会提示“Initialized empty Git repository in 某个目录”,此时就会在相应的目录下创建一个“.git”文件夹。这个文件夹里的文件就是git的实现。没有git init之前,git status会提示“not a git repository”

F:\JavaEE-Basic>git status
fatal: not a git repository (or any of the parent directories): .git

F:\JavaEE-Basic>git init
Initialized empty Git repository in F:/JavaEE-Basic/.git/

在这里插入图片描述

第二步 git remote add origin 远程仓库地址

git remote add origin git@gitee.com:flytalei/JavaEE-Basic.git

git@gitee.com:flytalei/JavaEE-Basic.git

报错:Permission denied (publickey)

当本地新项目一切准备就绪,准备git push origin master时报错了,
在这里插入图片描述
Permission denied (publickey)的官方解释
在这里插入图片描述
官方的解释没看懂,后来在博客上看到有人说**“Permission denied (publickey)的原因:没有将自己的电脑的SSH key添加到对应的git服务器上。”**Git报错:Permission denied (publickey) 解决办法
于是乎就去生成SSH key了

步骤1-生成SSH key

#生成SSH key
ssh-keygen -t rsa -C "邮箱地址@163.com"

在这里插入图片描述

步骤2-复制SSH key

Your public key has been saved in C:\Users\Administrator/.ssh/id_rsa.pub.
可以看出已经成功生成了Key,并保存在了C盘下了。
在这里插入图片描述
在这里插入图片描述

步骤3-粘贴SSH key

复制这个id_rsa.pub中的内容然后粘贴到你的远程仓库里
在这里插入图片描述
在这里插入图片描述

步骤4-查看ssh通信是否连接成功

ssh -T git@gitee.com

在这里插入图片描述
本地与远程Gitee仓库链接成功后再次push本地代码还是报错**“error: failed to push some refs to ‘gitee.com:flytalei/JavaEE-Basic.git’”**
在这里插入图片描述
按照报错以上截图提示git pull之后还是报同样的错,于是就只能强制推送到远程啦

第三步 git push -u -f origin master强制推送远程

这里慕课网的Geely老师解释说,为什么强制推送呢,因为我们远程项目刚创建好,第一次推送代码,远程仓库是空的什么都没有,直接进行一个master上的全覆盖是没有问题的。
在这里插入图片描述
在这里插入图片描述

### 首次提交代码到 Git 远程仓库的详细流程 在进行首次提交代码到远程仓库时,需要完成初始化本地仓库、关联远程仓库以及推送代码等步骤。以下是完整的操作流程: #### 初始化本地仓库 如果尚未初始化 Git 本地仓库,则需要在项目根目录下运行以下命令: ```bash git init ``` 这将创建一个新的 `.git` 子目录,标志着该目录已成为一个 Git 仓库。 #### 添加文件并提交到本地仓库 接下来,将项目中的所有文件添加到 Git 的暂存区,并提交到本地仓库: ```bash git add . git commit -m "Initial commit" ``` 其中 `git add .` 命令用于将当前目录下的所有文件加入暂存区,而 `git commit` 则会记录本次提交的信息 [^3]。 #### 关联远程仓库 使用 `git remote add origin <远程仓库地址>` 命令将本地仓库远程仓库进行关联。请将 `<远程仓库地址>` 替换为实际的远程仓库 URL: ```bash git remote add origin <远程仓库地址> ``` 此步骤非常重要,因为它建立了本地仓库远程仓库之间的连接 [^1]。 #### 推送代码到远程仓库 最后一步是将本地仓库的内容推送到远程仓库。对于首次推送,可以使用以下命令: ```bash git push -u origin master ``` 其中 `-u` 参数的作用是设置默认上游分支,这样后续的 `git pull` 和 `git push` 操作就不需要指定具体的分支名称了 。 如果远程仓库已经存在一些初始化文件(例如 README 或 .gitignore),则可能需要使用强制推送以覆盖这些内容: ```bash git push -u -f origin master ``` 这里的 `-f` 参数表示强制推送,它允许覆盖远程仓库中的现有内容 [^2]。 #### 处理冲突(可选) 如果远程仓库中已有其他提交且与本地有冲突,在推送之前可能需要先拉取远程仓库的内容并合并: ```bash git pull --rebase origin master ``` 或者使用 `git fetch` 获取远程仓库内容后手动执行 `git merge` 来处理冲突 [^4]。 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值