往github里上传代码

说来惭愧,使用hexo博客这么久了,但是真正使用github保存代码却是第一次。因为要打算自己搞一个jenkins试试自动化部署,所以就打算把我那些不堪入目的代码放在github上,然后用jenkins去执行。今天这篇文章就是来记录如何把本地的代码文件上传到github上的过程,本次过程是在windows下操作的。

建立远端仓库

首先登录github的界面,然后建立一个新的仓库(repository),如图:
paradin

在建立仓库的时候,要注意最好选择一下Initialize this repository with a README这个选项,这样可以省去一些麻烦,如图:
paradin

在这里就用我刚建立的仓库—chentest

建立本地仓库

首先我们先去http://windows.github.com/上下载git工具,在安装的时候你还可以顺便登陆,如果没有github账号的话这一步可以跳过的。
paradin

安装完毕你的鼠标右键应该多了一个功能Git Bash Here,此时,可以在电脑找一个文件夹,这个文件夹不推荐安装在C盘,假设我就在E盘根目录下叫chentest的文件夹,这个文件夹名称应该与我们刚刚建立的github仓库名称相同。不然的话,可能在git pull的时候爆fatal: refusing to merge unrelated histories这个错误。

在这个chentest的空文件夹空白处,右键鼠标,然后选择Git Bash Here,就会出现一个类似dos的命令行窗口,此时需要输入git init,这个时候发现chentest文件夹里多一个隐藏文件叫.git,这就代表本地仓库已经创建成功了。

配置公私钥

然后就是建立一个SSH key,以后你上传任何东西到远端仓库的时候都要输入这个key,那么在命令窗口输入ssh-keygen -t rsa -C "你的GitHub注册邮箱",此时会让你输入一个文件路径,这个路径就是存放SSH key公钥和私钥的地方,由于我这个电脑已经在默认的/c/user/33664/.git/id_rsa已经存放了hexo博客的上传密钥了,于是我就手动把路径改成了/c/user/33664/.git/id_rsa-github,如图:
paradin

这里注意!如果你也之前有一个git id_rsa密钥的话,我个人强烈推荐这个密钥跟之前的id_rsa密钥是一样的。

在浏览器里返回到github的settings主页,在SSH and GPG keys里点击New SSH key,然后就把刚刚生成密钥的pub版输入进去,这个公钥是可以告诉别人的,但是私钥要保密好。如图:
paradin

再命令行里输入ssh -T git@github.com,这时候会让你输入一下/c/user/33664/.git/id_rsa的密钥,由于我刚刚把id_rsa-github密钥和id_rsa密钥内容是一样的,所以就输入正确了。如图:
paradin

进一步配置

此时,再在命令行里输入如下的语句:

1
2
3
4
5
git config --global user.name "your name"
git config --global user.email "your_email@youremail.com"
git remote add origin git@github.com:用户名/Git仓库名称.git #我这个例子里就是chentest.git
git config branch.master.remote origin
git config branch.master.merge refs/heads/master

一个项目可以同时拥有好几个远端仓库为了能够区分,通常会起不同的名字。通常主远端仓库被称为origin。

加完之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。如图:
paradin

下载与上传

由于这次是我们第一次上传,那么按照惯例,我们需要先下载一下,使用git pull origin master --allow-unrelated-histories,然后输入id_rsa密钥,看见chentest就多了那个README.md文件了。把这个README.md文件改成这样:

1
2
# chentest
这是一个做测试的仓库,做好了之后,就先尝试把代码传上去,然后结合Jenkins来搞!

同时也写一个新的代码,比如这个文件就叫test1.md,里面内容是:

1
2
3
4
#/bin/bash
echo "hello,chrisChan!"
echo "this is your first git"
ifconfig

这个shell脚本内容就是输出两个废话,然后打印ip地址。保存test1.md,然后在命令行里输入如下的内容:

1
2
3
git add README.md
git commit -m "提交注释" #这个注释内容是会在网站上体现出来的
git push origin master

git push命令会将本地仓库推送到远程服务器,而之前说过的git pull命令则相反。同样的输入id_rsa密钥,然后就会看到文件成功上传了!如图:
paradin

来到github网站里一看,果然刚刚写的那个test1.md出现了,如图:
paradin

结语

通过刚才的操作,我想各位应该对github操作有一点初步的了解。其实Git命令行是一个版本控制工具,Github是一个用Git做版本控制的项目托管平台。形象解释的话Git相当于是弓,GitHub是靶,你的代码是箭,弓把箭射到靶上。

参考资料

https://www.jianshu.com/p/0fce531dba31
http://blog.csdn.net/zhangmingbao2016/article/details/73478899
http://www.cnblogs.com/findingsea/archive/2012/08/27/2654549.html

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------