我想工作中很多人都需要将自己的代码提交到远程代码管理仓库上,不管是github,gitlab还是码云,都是差不多的操作方式。接下来以github为例,讲述如何连接github并将自己本地的代码提交到github仓库上。
目录
准备工作:
1.安装git,我这里是通过IDEA的方式,在IDEA控制台输入命令,也可以在项目所在路径右键选择使用git shell。
2.有github的账号
开始:
1. 在github上创建自己的仓库
如下,点击new新建
输入仓库名称创建仓库2.
如果是第一次提交项目,使用命令git init 用于在目录中创建新的 Git 仓库,可以看到在你的项目中生成了 .git 这个子目录,这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。
3.
设置提交的用户名以及邮箱,这样可以看到每次项目的提交人是谁。
git config --global user.name 用户名
git config --global user.email 密码
4.
提交项目
git add . ====这是将文件添加到暂存区命令
git commit -m 输入提交的信息 =====这是将暂存区内容提交到本地的仓库
上述两种命令操作完成,仅仅是将自己本地的代码提交到了仓库上,并没有推送到远程的仓库。
5.
查看项目连接的远程仓库 git remote -v
我的项目已经和另一个远程仓库连接了,后面提交代码就会提交到该远程仓库上,如果我想修改提交的仓库呢,
使用git remote rm origin命令即可删除该仓库,然后通过命令git remote add origin "添加仓库地址",即可切换到新的仓库上。
仓库地址有两种连接方式,一种是https,另一种是ssh,这里我先介绍的是https的方式,后面介绍ssh的方式。
https传输方式提交代码:
如图所示,为https的连接下的仓库地址,复制地址,使用命令git remote add origin https://github.com/prime1019/redisSkeill.git将远程仓库与本地文件进行关联,关联成功后,看下是否关联成功
192:springboot-seckill michael$ git remote -v
origin https://github.com/prime1019/redisSkeill.git (fetch)
origin https://github.com/prime1019/redisSkeill.git (push)
好的,这样就可以了,
6.
接下来,我们可以将本地仓库的文件推送到远程仓库上了
git push origin 分支名
7.
可是当我提交的时候却发现提交失败,原因是一台电脑上有多个github的账户,我换了新的账户与原来的账户的冲突了
remote: Permission to prime1019/redisSkeill.git denied to PerseveranceForever.
fatal: unable to access 'https://github.com/prime1019/redisSkeill.git/': The requested URL returned error: 403
Mac的解决方法是:
在启动台搜索钥匙串,然后输入git,将github.com 删除,然后重新提交代码,这时需要输入你的github账户的用户名密码,输入完成后,即可提交代码,在github上就可以看到自己提交的项目啦。
SSH传输方式提交代码:
1.
如果你的本地仓库与远程仓库是通过ssh加密的,那么需要配置验证信息:
使用以下命令生成SSH key
ssh-keygen -t rsa -C "youremail@example.com" 注意:youremail@example.com改成你的账户的邮箱
2.
接下来默认一路回车
3.
根据上述提示的信息,打开存放SSH key的文件复制其中的内容,
4.
在github上配置该key。
输入key的title,将复制的key粘贴到Key值处。
添加成功后,验证下是否配置成功。输入命令ssh -T git@github.com,如下所示,表示配置成功。
192:.ssh michael$ ssh -T git@github.com
Hi prime1019! You've successfully authenticated, but GitHub does not provide shell access.
那么开始使用ssh传输方式提交代码
将上面https连接的地址删除,换成ssh连接的地址,即可正常提交代码。
192:springboot-seckill michael$ git remote rm origin
192:springboot-seckill michael$ git remote add origin git@github.com:prime1019/redisSkeill.git