趣文网 > 作文大全

Git使用SSH方式上传本地项目到GitHub仓库(win10)

2021-01-01 00:30:01
相关推荐

本文目录结构:

本文适用场景在GitHub创建仓库设置ssh密匙同步代码

01

本文使用场景:

Windows 10本地已经存在开发中项目 git-test,需要上传到远程仓库git 已经安装好远程仓库这里使用GitHub

02

在GitHub创建仓库

个人头像下拉菜单中 打开 Your repositories,可以查看自己的仓库列表。

两种创建新仓库的方法:

①:在仓库列表页面点击New按钮可用创建新仓库。

②:在个人头像左边点击 New repository也可以创建新仓库

创建仓库时的填写内容

创建完成

clone地址:

03

3.生成SSH Key(生成 公钥和私钥)

①:打开Git Bash,在这里使用命令 ssh-keygen -t rsa -C "邮箱地址"

命令详解如下:

ssh-keygen -t rsa -C “any comment can be here”

-t = 密钥的类型(The type of the key to generate) ,这里参数值是 rsa

-C = 用于识别这个密钥的注释 ,可以是任何内容(comment to identify the key)

虽然可以填写任何内容,但为了方便记忆,一般都填写邮箱。

②:选择密匙文件保存位置

会生成两个文件 id_rsa和id_rsa.pub

默认路径是:/c/Users/iskyl/.ssh/

其中iskyl是我的windows10 用户名。

如果默认就直接回车。

③:输入密匙密码,直接回车代表不设置。

如果电脑只可能你自己使用,那不设置操作更方便,不然每次提交都输入秘钥的密码,很烦人。

④:生成秘钥的地址

⑤:查看公钥的内容,这个需要复制,设置到github中。

04

4、将公钥设置到GitHub中

①:点击 头像的下拉菜单的Settings,进入设置页面

②:点击 New SSH Key,新增公钥

③:设置公钥,名字随便,当有多个时,能知道代表含义就可以。key中内容就是生成的id_rsa.pub内容完全复制过来的。

保存之后的列表显示:

④:验证公钥连接。ssh -T ...(后面的不敢写全了,上次因为这个百家扣了群殴10分,说是广告,无语了,还不能申诉。只能说xxxx0000)

连接成功,会生成known_hosts文件,并且将github.com连接的ip,通信公钥等内容加入到文件中。作为信任列表。

05

5. 上传本地代码。

以下步骤中有两部分可能你不会遇到,所有有些内容是因为环境,可以跳过,关键是知道原因,选择执行:

git config --local设置email和name,如果之前电脑中使用设置过 git,或者设置过git config --global user.email或者name,就不会遇到步骤④的提示,也可以跳过设置。如果远程github上面创建的仓库文件和本地文件不同,也就是没有冲突,也就可以顺利的git pull之后,顺利git push,完成同步。也不会遇到文件冲突,解决冲突。在设置好ssh key,能通信后,其实以下各个步骤就是为了完成代码准备好后提交:先建立本地仓库(git init);添加文件,提交到本地仓库(git add 和git commit);提交到远程仓库(git remote add、git pull、git push)。①:在需要上传的项目文件夹上面,右键打开Git Bash Here

②:建立项目git仓库 git init . (注意最后的点 .)执行后 项目目录下回新增 .git文件夹

③:添加文件到暂存区 git add -A . (同样注意最后的点 .)含义是当前文件夹的所有变化都提交到暂存区。

因为我的项目中有 .gitignore文件,设置了不需要提价的一些文件,所以会有 warning。

(注意:因为github上创建仓库时我选择了创建 .gitignore文件,所以会导致后续更新GitHub代码步骤的文件冲突,并且自动merge会失败,稍后说明解决办法。)

④:插播:设置提交时的 email和name,这个是显示的提交人,所有人可见,非账号(当然也可以设置为github账号邮箱)。

提示的是设置 global全局,但是我打算其他项目使用其他账号,比如公司内部的仓库提交记录显示工号姓名。所以我使用的是 git config --local (--local参数表明设置只对本目录项目生效)

查看设置结果 git config --list

⑤:提交到本地仓库

⑥:设置 remote :origin是名称,后面是git远程仓库地址,当前是ssh的.git地址

⑦:拉取远程仓库的代码到本地(先拉取代码、编辑冲突,然后才提交全部代码)

⑧:异常及解决方式:

异常1:fatal: refusing to merge unrelated histories,本地和远程仓库历史不一致。这个是因为上一步 git pull,不是使用的git clone,但是这里不能使用 git clone,解决方式是 git pull 后面加参数 --allow-unrelated-histories,完整命令:git pull origin master --allow-unrelated-histories异常2:文件冲突

⑨:提交到远程仓库

⑩:查看GitHub提交记录

OVER!

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

寒冷的一天作文 三年级作文过生日 名人写人的作文 作文谢谢你我的妈妈 观察作文800字 关于地球污染的作文 高中万能英语作文模板 关于调查的英语作文 特写作文怎么写 听歌有感作文 三百字左右的作文 校园里的雨作文 中国高铁作文 家乡的竹林作文 假期生活作文450字 真诚的道歉作文 三年级关于关爱的作文 随遇而安的作文素材 描写陀螺的作文 我不再胆怯作文 以笑为主题的作文题目 制作飞机模型作文 鬼屋探险作文 关于写朋友的英语作文 民宿作文 成长经历作文600字 稻草定律作文800字 我的好朋友作文六年级 我最喜欢的地方作文450字 遵守纪律的作文200字