将本地的代码推送到公网的github账号去
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
最近工作上需要用到github账号,拜读了一位叫廖雪峰的大神的文档,把git的前世今生说的特别详细,大家有兴趣的口语去看看,及时你是小白你也能看明白,前提是你得静下心来看。如果你是个开发的话,知识想讲本地的代码推送到你的github账号上去,那么我这篇博客会手把手教你如果实现,好了,废话不多说,我们直接开始我们的表演吧。
一.在服务器上安装git
说白了,git是个linux程序,当然很早以前就有人把git移植到windows操作系统了,我这篇博客主要写的是在linux操作系统上实现的。操作系统用的是centos6.6(官网的iso镜像)。安装起来特别麻烦。其实没有必要用源码安装,反而把事情弄复杂了。安装命令如下:
[root@yinzhengjie yinzhengjie]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
:2e::::d5:1f::8b:ab:1b:0e::1c::eb root@yinzhengjie
The key's randomart image is:
+--[ RSA ]----+
| o.o. ... |
| o o . o |
| . . . o o |
| . . .. o |
| o S . . |
| o * + . |
| + + E. |
| . o.. |
| o. |
+-----------------+
[root@yinzhengjie yinzhengjie]#
[root@yinzhengjie yinzhengjie]# cat /root/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApVko3f9uiyfNX6Xu02e33258dtFooKKnDMbx4FJUP1VP7DhZZfrUWjwcrsfAc9FUlmcVzoR40KzfMvaCxW5ZBPv+IRCLyB7EsdjLefbXD4f+1GwTI0LVNAAy4bezvLXZJKO8Pi0TM0r58gi0aAqFN4AZ4phYXzjrW2FRhIG3qPrRWR/2CXf448MMw0mQ+xhS8SaRR2aEaA/b8xmb75xtbK/gYehGsyCagpokGokAXUwPkcH6/300QdRpdMgSVJVpPFNM/fDRBwJnZB0Sl6pSSLroG3WiiUXL2fN/7ZnT3mNp4jYHwYMvhbsaEhG72uSFl7HlMO3nxITkHibqd1ThGw== root@yinzhengjie
[root@yinzhengjie yinzhengjie]#
d>.填写使用GitHub的信息
f>.去你填写的邮箱进行验证
3.配置秘钥,新建一个机器的秘钥,
4.将刚刚在服务器上自己生成的公钥贴上去
5.创建成功如果没有提交代码,钥匙为灰色,提交后会显示绿色
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com '''
[root@yinzhengjie ~]# cd $GOPATH
[root@yinzhengjie go_file]# pwd
/yinzhengjie/go_file
[root@yinzhengjie go_file]# cd src/
[root@yinzhengjie src]# mkdir -pv github.com/yinzhengjie
mkdir: created directory `github.com'
mkdir: created directory `github.com/yinzhengjie'
[root@yinzhengjie src]#
[root@yinzhengjie yinzhengjie]# mkdir golib && cd golib
[root@yinzhengjie golib]# cp /yinzhengjie/go_file/src/day1/golib/math.go ./
[root@yinzhengjie golib]#
[root@yinzhengjie golib]# ll -a
total 12
drwxr-xr-x 2 root root 4096 Jun 15 12:18 .
drwxr-xr-x 3 root root 4096 Jun 15 12:18 ..
-rw-r--r-- 1 root root 94 Jun 15 12:18 math.go
[root@yinzhengjie golib]#
[root@yinzhengjie golib]# git init
Initialized empty Git repository in /yinzhengjie/go_file/src/github.com/yinzhengjie/golib/.git/
[root@yinzhengjie golib]#
[root@yinzhengjie golib]# ll -a
total 16
drwxr-xr-x 3 root root 4096 Jun 15 12:19 .
drwxr-xr-x 3 root root 4096 Jun 15 12:18 ..
drwxr-xr-x 7 root root 4096 Jun 15 12:19 .git #初始化成功会生成这个隐藏目录,里面记录着每次修改或删除的文件信息,最好不要去动这个文件。
-rw-r--r-- 1 root root 94 Jun 15 12:18 math.go
[root@yinzhengjie golib]#
'''
2.添加文件到Git仓库
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com '''
为什么Git添加文件需要add,commit一共两步呢?
答:因为commit可以一次提交很多⽂文件,所以你可以多次add不同的文件。
''' '''
[root@yinzhengjie golib]# git add math.go #使用命令 git add ,注意,可反复多次使用,添加多个文件;
[root@yinzhengjie golib]#
[root@yinzhengjie golib]# git commit -m "first" #使用命令 git commit ,完成。其中"-m"参数表示每次提交的代码是的备注信息。
[master (root-commit) 6862a88] first
1 files changed, 7 insertions(+), 0 deletions(-)
create mode 100644 math.go
[root@yinzhengjie golib]#
'''
3.在github创建与本地相对应的项目
由于咱们在本地上创建了golib这个项目,那么我们就得在github服务器上创建相应的项目,不然你在往你的github推送你的代码的时候就会报错,所以我们需要手动在github上创建一个项目,其实配置很简单。跟着我一起操作吧。
a>.点击新的仓库
b>.创建golib仓库
c>.创建成功后就敲击提示界面的命令将代码上传到该项目中来。
4>.在服务端将代码推送到github上去
#!/usr/bin/env python
#_*_coding:utf-8_*_
#@author :yinzhengjie
#blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/
#EMAIL:y1053419035@qq.com '''
[root@yinzhengjie golib]# git remote add origin git@github.com:yinzhengjie/golib.git
[root@yinzhengjie golib]# git push -u origin master
Warning: Permanently added the RSA host key for IP address '192.30.255.112' to the list of known hosts.
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 286 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:yinzhengjie/golib.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
[root@yinzhengjie golib]# echo $?
0
[root@yinzhengjie golib]#
'''
通过以上命令就将代码传送成功了,这个时候你在看看咱们之前配置的秘钥,就会发现它变绿了。
5.在github上查看是否“push”成功。
点击进去,看看上传代码的内容
五.查看GitHub的项目详解
1.查询你感兴趣的开源项目
2.查看搜索到的相关开源项目
3.项目界面介绍
4.查看个人首页
你也许还注意到,GitHub给出的地址不止一个,还可以用类似"https://github.com/yinzhengjie/gitskills.git"这样的地址。实际上,Git支持多种协议,默认的git://
使用ssh,但也可以使用https
等其他协议。使用https
除了速度慢以外,还有个最大的麻烦是每次推送都必须输入口令,但是在某些只开放http端口的公司内部就无法使用ssh
协议而只能用https
。