git将本地仓库的项目推送到远程空仓库的操作

时间:2024-04-14 16:19:59

1、登录git账户,新建一个代码仓库
git将本地仓库的项目推送到远程空仓库的操作
2、将本地和远程厂库关联起来

git remote add origin [email protected]:地址/远程项目名称.git

3、将本地代码推送到库上

git add .

git commit -m ‘first’ -n

git push -u origin master

可能出现的问题如下:
问题1.
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

解决方法:
使用ssh key这种方式进行clone ,pull github上面的项目,使用 git clone或者git pull origin master出现permission denied (publickey),原因是因为ssh key过期失效或者没有ssh key。 那么解决这种的问题的方法就是重新生成一个新的ssh key ,然后将这个ssh key添加到github账户上面,就可以了。

  1. 检查SSH key是否已经存在

用这个命令

ls ~/.ssh/

进行检查 id_rsa.pub 是否存在,如果存在,就不用生成一个新的SSH key了,直接跳到下面的第3步。

  1. 如果第1步中的SSH key不存在,生成一个新的SSH key

先:

cd /Users/your_user_name/.ssh

命令如下:

ssh-****** -t rsa -b 2048 -C “[email protected]

其中,[email protected]要修改成你的邮箱地址。

回车后输出如下:

Generating public/private rsa key pair. Enter file in which to save the key (/Users/your_user_name/.ssh/id_rsa):

直接回车,会将key保存到默认文件中。

接着会输出:

Enter passphrase (empty for no passphrase): Enter same passphrase again:

这两步是让你输入一个密码,以及确认密码,这个密码在你提交代码到Github时会用到【注意:记住这个密码,最简单的方式就是设置的和github账户登入密码一样,容易记住】

回车后就提示成功了:

Your identification has been saved in /Users/your_user_name/.ssh/id_rsa. Your public key has been saved in /Users/your_user_name/.ssh/id_rsa.pub. The key fingerprint is: 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

到这一步,你会发现 /Users/your_user_name/.ssh/id_rsa.pub 文件已经生成了。

  1. 将ssh key添加到git

打开id_rsa.pub文件,复制里面的内容,然后粘贴到git中相关的位置中。

例如对于gitlab 来说:
git将本地仓库的项目推送到远程空仓库的操作

  1. 把ssh 添加到keychain中
    这个时候如果去git clone代码,会让你输入密码,如果一个还好说,如果关联了很多的话,那就比较麻烦了,这个时候的解决方法就是添加到keychain中:
    ssh-add -K /Users/youre_user_name/.ssh/id_rsa

问题2.
! [rejected] master -> master (non-fast-forward)
error: 无法推送一些引用到 ‘[email protected]:fjydpf/ECUControl.git’
提示:更新被拒绝,因为您当前分支的最新提交落后于其对应的远程分支。
提示:再次推送前,先与远程变更合并(如 ‘git pull …’)。详见
提示:‘git push --help’ 中的 ‘Note about fast-forwards’ 小节。

解决方法:
$git fetch origin //获取远程更新
$git merge origin/master //把更新的内容合并到本地分支

问题3:
$ git merge origin/master
fatal: refusing to merge unrelated histories

解决方法:
使用这个强制的方法

git pull origin master --allow-unrelated-histories

后面加上 --allow-unrelated-histories , 把两段不相干的 分支进行强行合并

然后再执行git push -u origin master