如何将代码托管到github

之前我写好的代码总是怕丢,所以我一般是复制几份,存到不同的地方,可是随着自己的版本更新,最后找起来非常费劲和耽误时间,不过现在有了github,我们就可以放心的将代码放到这个大平台托管了,不需要担心丢失问题,所以今天这篇主要是讲如何将自己的代码放到github上托管,真是有了github ,妈妈再也不用担心代码丢失问题了,github分收费和免费,免费的只能存储public文件,就是大家都可以共享,谁都可以看,如果交点保护费,你就可以享受自己的私人空间了,代码就保密了,除了自己谁也看不了,介绍的内容就到这里,我们进入今天的主题,今天的内容主要分以下几个部分:

1、git安装,建立本地库

2、github注册,ssh key 配置,建立远程库

3、建立本地库和远程库关联

4、git日常操作

 

现在开始我们第一部分内容,git本地安装和建立库:

安装命令:

#yum install git

安装完成,新建一个目录,例如:

#mkdir /home/project

这个目录就是你将来的git库目录,进入,然后初始化:

在这个目录下应该可以看到一个.git的目录,这个是git自己管理版本用的,不要修改。 git config 两行是用来配置提交的用户和邮箱认证,global表示是这台机器上都用这个配置,另外还会在/root/目录下生成一个.gitconfig文件,刚才的命令就配置到这个文件里,到这里本地库就建立完毕了,不过库里还没有任何文件,这个不急,一会我们再说如何使用,现在进入到我们第二部分。

github注册和建立远程库:

其实注册没什么好讲的,很容易,打开https://github.com/,填写用户和邮箱名称就可以,注意这里写的名字将来是你访问github的地址,例如我的注册名是glacier-ji,访问地址就是https://github.com/glacier-ji/,邮箱要着重说下,我试了163的邮箱是不行的,收不到验证信息,用qq邮箱注册可以,所以如果注册时请不要选择163邮箱,因为你根本验证不了,通过验证主要是为了采用ssh加密传输方式,因为这部分不好用文字描述,我就直接截图了,有图有真相:

登录自己账户,点击右上角图标,选择Settings,

github_create

点击左边栏ssh keys,然后点右边add ssh key,输入一个标题,然后把你key贴到里边就可以了。

github_create

也许你要问ssh key是啥,我没有从哪里搞一个呢,别急,下面我们就说下如何生成ssh key文件,在linux终端下输入命令:

会有一个id_rsa.pub文件,这个文件的内容就是ssh key文件内容,复制粘贴到github上就可以了,注意千万不要粘贴id_rsa ,这个是你的私钥文件,上传没用,这几个文件主要作用是你将来要用这个私钥进行加密,然后github用你上传的公钥进行解密。

下面将如何创建远程库(repository),用你注册账号登录,操作请看如下截图:

github_create

 

需要填写的我已用圆圈标注,需要填写其实就一个远程库名称,其它都可以不写,然后点开始创建,就建立完成了。

建立远程库与本地库的关联:

好了,现在们已经有了一个本地库和一个远程库,现在都没有任何代码文件,现在我们要建立他们之间的关系,使他们同步关联起来,进入本地库目录,操作如下:

然后,然后就没了,简单吧,一条命令搞定,不过这条命令需要着重说明下,origin 是远程库代号,glacier-ji是我的登录用户名,请大家一定要换成自己的,否则就关联到我的github上了,python_code.git是我建立的远程库名称。

最后我介绍下对github的操作,如何将本地代码与githubu同步:

基本步骤是先将文件加入到自己本地git库中,然后再推动到github上 ,以下展示如何将自己之前的代码推到github上:

现在我们来逐行解释,拷贝就不说了,git add 后跟一个文件或目录,是加到git库中,git commit 是进行提交,默认是放到git 缓存空间中,最后一个git push是将内地库内容同步到github上,第一次用-u参数,建立本地master和远程库master关联,以后再推动就可以直接用:

关于git  的使用还有很多有用的命令,深入学习的同学请自行学习,这里就不在介绍了。

正常情况下如果你一路按这个文档操作下来是不会有任何问题的,那如果有问题呢,其实也很简单,全部删除重新做一遍,当然为了大家都能一次成功,我以下写了可能会遇到的问题:

1、ssh无法连接到github,显示timeout ,解决:

这个问题有很多原因,我建议关闭防火墙,先试试,如果不行,就按以下方法来:

在.ssh/目录下,新建config文件,写入以下内容,

Host github.com
User your mail address
Hostname ssh.github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
Port 443

保存退出,然后测试:

第一次需要输yes,如果能看到 You’ve successfully authenticated, but GitHub does not provide shell access.就证明OK了。

2、关联远程库的时候提示远程库已经存在

解决:运行

#git remote rm origin

3、如果只是测试,遇到无法提交,可以强制进行合并提交:

运行命令:

#git push -f