向github上提交代码的步骤
第一步:ssh-keygen -t rsa -C “554059979@qq.com”
第二步:这个是默认保存秘钥/root/.ssh/id_rsa的路径
第三步:cd /root/.ssh/ 进入.ssh目录
第四步:在.ssh目录下找到id_rsa.pub文件
第五步:打开id_rsa.pub,将里面的内容复制到github上,进入 Account Settings(账户配置),左边选择SSH Keys,Add SSH Key,title随便填,粘贴在你电脑上生成的key。具体操作如下图所是:
在右边按钮下面点击setting会弹出如上的界面,然后在左边的菜单栏,点击SSH and GPG keys 。点击了SSH和GPG keys后。会弹出下图:
然后点击 New SSH key,会出现如下图所是的:
最后将你从id_rsa.pub复制的密码复制到上面的框里面。
第六步:测试,连接是否可用。在命令行中输入ssh -T git@github.com,得出的测试结果如下图所是:出现了下面的代码表示成功了。
[root@centos01 .ssh]# ssh -T git@github.com
Enter passphrase for key ‘/root/.ssh/id_rsa’:
Hi tdw1234! You’ve successfully authenticated, but GitHub does not provide shell access.
第七步:可以将本地仓库的项目上传之github之上。我们要做的就是把本地仓库传到github上去,在此之前还需要设置username和email,因为github每次commit都会记录他们。如下面的代码所是:
git config --global user.name “tdw1234”
git config --global user.email “554059979@qq.com”
第八步 :在执行第七步的过程中,可能会出现没有git命令,这个时候,就需要使用yum install git. 安装成功后,可以使用git --version 来进行版本的查看。
第九步:就是推送代码到github上面,但是在将代码推送到github上之前,先要在本地建立一个仓库:具体步骤如下所是:
步骤一:我的例子是在software文件夹下面新建一个resposity文件。/software/resposity
步骤二:将需要上传的代码复制该文件夹下面:
cp -r /software/workspace/singledatamutipletableshardingjdbc/. /software/resposity/
步骤三:切换到路径下面:cd /software/resposity/ 然后之执行git init;
[root@centos01 resposity]# git init
初始化空的 Git 版本库于 /software/resposity/.git/
步骤四:可以使用git status,看下状态值:
[root@centos01 resposity]# git status
# 位于分支 master
#
# 初始提交
#
# 未跟踪的文件:
# (使用 "git add <file>..." 以包含要提交的内容)
#
# .idea/
# pom.xml
# singledatamutipletableshardingjdbc.iml
# src/
# target/
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
这里提示你虽然把项目粘贴过来了,但还没有add到Git仓库上,然后我们通过git add .把刚才复制过来的项目全部添加到本地仓库上。
步骤五:使用git add . 将项目添加到仓库中。然后在用git status 看一下。
[root@centos01 resposity]# git add *
# 位于分支 master
#
# 初始提交
#
# 要提交的变更:
# (使用 "git rm --cached <file>..." 撤出暂存区)
#
# 新文件: .idea/compiler.xml
# 新文件: .idea/encodings.xml
# 新文件: .idea/misc.xml
# 新文件: .idea/workspace.xml
# 新文件: pom.xml
# 新文件: singledatamutipletableshardingjdbc.iml
# 新文件: src/main/java/david/soft/com/OrderApplication.java
# 新文件: src/main/java/david/soft/com/algorithm/ModuloTableShardingAlgorithm.java
# 新文件: src/main/java/david/soft/com/common/BaseEntity.java
# 新文件: src/main/java/david/soft/com/common/PageResult.java
# 新文件: src/main/java/david/soft/com/common/Result.java
# 新文件: src/main/java/david/soft/com/config/DataSourceConfig.java
# 新文件: src/main/java/david/soft/com/config/Swagger2Config.java
# 新文件: src/main/java/david/soft/com/order/OrderConstants.java
# 新文件: src/main/java/david/soft/com/order/controller/OrderController.java
# 新文件: src/main/java/david/soft/com/order/entity/Order.java
# 新文件: src/main/java/david/soft/com/order/mapper/OrderMapper.java
# 新文件: src/main/java/david/soft/com/order/service/OrderService.java
# 新文件: src/main/java/david/soft/com/order/service/impl/OrderServiceImpl.java
# 新文件: src/main/java/david/soft/com/order/vo/OrderVO.java
# 新文件: src/main/resources/application.yml
# 新文件: src/main/resources/mybatis/1
# 新文件: src/main/resources/mybatis/mapper/OrderMapper.xml
# 新文件: target/classes/META-INF/spring-configuration-metadata.json
# 新文件: target/classes/application.yml
# 新文件: target/classes/david/soft/com/OrderApplication.class
# 新文件: target/classes/david/soft/com/algorithm/ModuloTableShardingAlgorithm.class
# 新文件: target/classes/david/soft/com/common/BaseEntity.class
# 新文件: target/classes/david/soft/com/common/PageResult.class
# 新文件: target/classes/david/soft/com/common/Result.class
# 新文件: target/classes/david/soft/com/config/DataSourceConfig.class
# 新文件: target/classes/david/soft/com/config/Swagger2Config.class
# 新文件: target/classes/david/soft/com/order/OrderConstants.class
# 新文件: target/classes/david/soft/com/order/controller/OrderController.class
# 新文件: target/classes/david/soft/com/order/entity/Order.class
# 新文件: target/classes/david/soft/com/order/mapper/OrderMapper.class
# 新文件: target/classes/david/soft/com/order/service/OrderService.class
# 新文件: target/classes/david/soft/com/order/service/impl/OrderServiceImpl.class
# 新文件: target/classes/david/soft/com/order/vo/OrderVO.class
# 新文件: target/classes/mybatis/1
# 新文件: target/classes/mybatis/mapper/OrderMapper.xml
步骤六:用git commit把项目提交到仓库。git commit -m “first commit” 到此本地仓库已经建立好了。
第十步:就是通过命令连接到github上,进行代码的上传。
git remote add origin https://github.com/tdw1234/resposity.git
第十一步:关联好之后我们就可以把本地库的所有内容推送到远程仓库(也就是Github)上了,通过:
$ git push -u origin master :上传之后如下所示:
! [rejected] master -> master (fetch first)
error: 无法推送一些引用到 'https://github.com/tdw1234/resposity.git'
提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外
提示:一个版本库已推送了相同的引用。再次推送前,您可能需要先合并远程变更
提示:(如 'git pull')。
提示:详见 'git push --help' 中的 'Note about fast-forwards' 小节。
第十二步:需要强制上传:git push -u origin +master :上传后如下所示:
Username for 'https://github.com': tdw1234
Password for 'https://tdw1234@github.com':
Counting objects: 76, done.
Compressing objects: 100% (58/58), done.
Writing objects: 100% (76/76), 36.77 KiB | 0 bytes/s, done.
Total 76 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), done.
To https://github.com/tdw1234/resposity.git
+ 21688c9...70f6842 master -> master (forced update)
分支 master 设置为跟踪来自 origin 的远程分支 master。