• linux下Github 同步与下载


    简介


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

    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 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的文件夹有没有下载到本地
    
  • 相关阅读:
    Interesting Finds: 2008.06.12
    8月19号
    8月22号
    8月20号
    8月21号
    第七章 Nginx配置虚拟主机
    第六章 Nginx配置文件详解
    第五章 Nginx搭建上传作业平台
    sqlserver2005提供的xml数据类型操作xml串
    事必躬亲利与弊
  • 原文地址:https://www.cnblogs.com/cyno/p/4452666.html
Copyright © 2020-2023  润新知