linux 从github拉取更新_linux下Github 同步与下载

简介

github是备份工作记录的优秀工具,工作机制比较复杂,但是使用却非常简单。github相当于文件备份的云,其上传操作和云的同步功能类似,下载和普通下载类似。上传工作原理如下图。

working dir是本地目录,HEAD是云目录,中间的index是缓存区。若要实现本地与github上同步,首先把要同步或要修改的文件或代码在缓存区(index)整理好,然后统一提交(commit)到云。

下面用一个简单的例子介绍github的使用。

例如:将一个简单的java工程上传到github。

* HelloWorld工程在workspace文件夹下。

* HelloWorld文件夹下有src,bin,lib子文件夹,分别存放源代码,可执行文件和库。

准备工作

准备比较麻烦,但一劳永逸。真正使用就非常简单了,最常用的上传修改和下载只要记住几行命令即可。

邮箱作为帐号,例如我的github帐号:cynorr @ sina.com

用户名:sinorr

2.创建Repository

点击 New Repository

创建一个名为HelloWorld的Repository。

3.配置SSH keys

这一步就像QQ设备管理,例如你的1号PC生成长串乱码(passphrases),预存到github帐号信息里,就保证你的1号PC可以安全的连接github。如果你有多台PC,要在github帐号里面添加各个PC生成的SSH keys。只要完全按照命令打上去就完成了,如果想要了解passphrases工作原理:Click Here

$ ssh-keygen -t rsa -C "cynorr@sina.com" #引号里面填写你的github邮箱

你会看到

Creates a new ssh key using the provided email

Generating public/private rsa key pair.

Enter file in which to save the key (/home/.ssh/id_rsa):

直接点击回车,不要输入任何东西。

$ Enter passphrase (empty for no passphrase): #输入一个密码,这将是以后在终端下链接github的密码

$ Enter same passphrase again: #再次输入,确认密码

接着会出现

Your identification has been saved in /your_home_path/.ssh/id_rsa.

Your public key has been saved in /your_home_path/.ssh/id_rsa.pub.

The key fingerprint is:

01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db cynorr@sina.com

继续

$ eval "$(ssh-agent -s)"

Agetn pid xxxxx

$ ssh-add ~/.ssh/id_rsa

到此,生成了所在PC的一个key,下面一步只要是把这个可以添加到github上就好了。

操作如下:

$ gedit ~/.ssh/id_rsa.pub #用文本管理器打开ssh文件

#然后把里面的内容全选,复制到剪切板

进入你的github主页,依次进入

设置 -> SSH keys -> Add SSH key

之后,你会看到你个空的标题,和ssh文本框。

标题可以写上你的PC名称,比如“实验室机器”,内容就是刚才复制的ssh文件内容,直接粘贴进去。

点击 右下方的Add key。

4.全局配置

git config --global user.name "sinorr" #引号里填自己github的用户名

git config --global user.email cynorr@sina.com #田写github邮箱

到此,准备工作结束,一劳永逸。

上传文件

1.初始化本地文件夹

$ cd workspace/

$ git init #该操作会在workspace文件夹下生成.git的文件夹,存放要链接的github帐号信息。

$ git add HelloWorld/ #把java的HelloWorld整个文件夹先放到缓存区。

$ git commit -m 'all file' #commit是从缓存区到github上的操作集合,例如本次的操作只是add HelloWorld/

#如果还有其他操作,全部写在commit前面,例如删除,编辑等操作。

$ git remote add test git@github.com:sinorr/HelloWorld.git #指定要存的Repository

#如果下面的操作(添加或删除文件)都在HelloWorld的Repository中,就不用在重复创建remote,直接引用已经创建好的test即可。

$ git push -u test master # 最后一步,执行同步命令。

下面可以到github个人主页上验证有没有把代码传上去了。

下载文件

相对简单,一个fork加一行命令,两步搞定。

例如,在其他用户上找到网络爬虫的git,想要下载下来。

git名称:spider.git

1.fork到自己的github

找到fork按钮,点击。就可以复制到自己的github上

2.下载

$ git clone git@github.com:sinorr/spider.git

下载完毕

$ ls #看看spider的文件夹有没有下载到本地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值