设为首页 收藏本站
查看: 1023|回复: 0

[经验分享] linux下Github 同步与下载

[复制链接]

尚未签到

发表于 2015-10-29 14:53:27 | 显示全部楼层 |阅读模式
简介
  github是备份工作记录的优秀工具,工作机制比较复杂,但是使用却非常简单。github相当于文件备份的云,其上传操作和云的同步功能类似,下载和普通下载类似。上传工作原理如下图。
DSC0000.png

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

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

例如:将一个简单的java工程上传到github。  
* HelloWorld工程在workspace文件夹下。
  
* HelloWorld文件夹下有src,bin,lib子文件夹,分别存放源代码,可执行文件和库。
  

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

1.申请帐号:Click Here


  • 邮箱作为帐号,例如我的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>  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 at sina dot 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的文件夹有没有下载到本地

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-132422-1-1.html 上篇帖子: mysql通过gitd方式实现多线程主从复制 下篇帖子: Linux的centos搭建git服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表