zoukankan      html  css  js  c++  java
  • ubuntu上建立本地git 和 网络 github的上传与下载

    github工具是一个很好用的工具,可以在本地建立一个git仓库,存储当前写的程序或者数据,然后通过ssh与github建立联系。具体怎么实现,下面进行介绍。

    1、首先要安装git 软件

    在Linux上安装Git

    首先,你可以试着输入git,看看系统有没有安装Git:

    
    
    $ git
    The program 'git' is currently not installed. You can install it by typing:
    sudo apt-get install git

    如果之前没有安装过git的话,输入上面的git命令就会出现The program 'git' is currently not installed. You can install it by typing:
    sudo apt-get install git
    ,然后输入sudo apt-get install git,就可以安装git了。

    2、安装好了git之后就可以创建版本库了。什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以
    被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
    所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:

    $ mkdir learngit
    $ cd ./learngit
    $ pwd
    /home/sawyer/learngit
    pwd命令用于显示当前目录。
    我的电脑下面显示如下:
    sawyer@sawyer-ThinkPad:~$ cd ./learngit
    sawyer@sawyer-ThinkPad:~/learngit$ pwd
    /home/sawyer/learngit
    3、在home下面建立好了一个文件夹之后就可以建立一个git仓库了。
    建立git仓库的命令如下:
    通过git init命令把lerarngit这个目录变成Git可以管理的仓库:
    
    
    $ git init
    Initialized empty Git repository in /home/sawyer/learngit/.git/

    我的电脑显示如下:
    sawyer@sawyer-ThinkPad:~/learngit$ git init
    Initialized empty Git repository in /home/sawyer/learngit/.git/
    现在就已经初始化好了,已经建立了一个git本地仓库。在命令行输入ls无法显示.git,因为这是个隐藏文件。可以使用ls -al命令,然后会有显示,或者打开对应的文件夹,
    使用快捷键ctrl+h,就可以看到在learngit 文件夹下面有一个.git文件。

    4、在本地库添加一个文件命令如下
    $ nano readme.txt

    在readme.txt 中输入一句文本:this is my first git,然后保存
    和把大象放到冰箱需要3步相比,把一个文件放到Git仓库只需要两步。
    第一步,用命令git add告诉Git,把文件添加到仓库:
    $ git add readme.txt
    执行上面的命令,没有任何显示,这就对了,

    第二步,用命令git commit告诉Git,把文件提交到仓库:
    $ git commit -m "first git"

    我的电脑显示如下:
    sawyer@sawyer-ThinkPad:~/learngit$ git commit -m "first git"
    [master (root-commit) 48819ed] first git
     1 file changed, 1 insertion(+)
     create mode 100644 readme.txt
    简单解释一下git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
    git commit命令执行成功后会告诉你,1 file changed:1个文件被改动(我们新添加的readme.txt文件);1 insertions:插入了一行内容(readme.txt有一行内容)。

    为什么Git添加文件需要addcommit一共两步呢?因为commit可以一次提交很多文件,所以你可以多次add不同的文件。

    初始化一个Git仓库,使用git init命令。

    
    

    添加文件到Git仓库,分两步:

    
    
    1. 使用命令git add <file>,注意,可反复多次使用,添加多个文件;
    2. 使用命令git commit -m <message>,完成。

    以上是建立了一个本地仓库的完整过程。下面将要介绍把建好的本地库上传到github上面。

    5、创建一个ssh,这里解释一下,如何把本地的仓库上传到github呢,首先需要先建立一个联系,将本地仓库与github建立联系使用ssh。

    第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsaid_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:

    $ ssh-keygen -t rsa -C "youremail@example.com“

     你需要把邮件地址换成你自己的邮件地址,然后一路回车,使用默认值即可,由于这个Key也不是用于军事目的,所以也无需设置密码。

    如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面有id_rsaid_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。

    第二步:将新生成的key添加到ssh-agent中(这一步必不可少):

    # start the ssh-agent in the background
    eval "$(ssh-agent -s)"
    Agent pid 59566
    ssh-add ~/.ssh/id_rsa

    第3步:登陆GitHub,打开“Account settings”,“SSH Keys”页面:

    然后,点“Add SSH Key”,填上任意Title,在Key文本框里粘贴id_rsa.pub文件的内容,点“Add Key”,你就应该看到已经添加的Key。

    小提示,如果不想手动打开id_rsa.pub,可以选择使用命令进行复制,命令代码如下:

    sudo apt-get install xclip
    # Downloads and installs xclip. If you don't have `apt-get`, you might need to use another installer (like `yum`)
    
    xclip -sel clip < ~/.ssh/id_rsa.pub
    # Copies the contents of the id_rsa.pub file to your clipboard

    为什么GitHub需要SSH Key呢?因为GitHub需要识别出你推送的提交确实是你推送的,而不是别人冒充的,而Git支持SSH协议,所以,GitHub只要知道了你的公钥,就可以确认只有你自己才能推送。

    当然,GitHub允许你添加多个Key。假定你有若干电脑,你一会儿在公司提交,一会儿在家里提交,只要把每台电脑的Key都添加到GitHub,就可以在每台电脑上往GitHub推送了。

    最后友情提示,在GitHub上免费托管的Git仓库,任何人都可以看到喔(但只有你自己才能改)。所以,不要把敏感信息放进去。

    6、现在本地库和github已经建立起了连接诶,现在就可以将本地库的信息上传到github库中了。在将本地库上传到github时需要在github上建立一个库。

    现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以让其他人通过该仓库来协作,真是一举多得。

    首先,登陆GitHub,然后,在右上角找到“Create a new repo”按钮,创建一个新的仓库:

    在Repository name填入learngit,其他保持默认设置,点击“Create repository”按钮,就成功地创建了一个新的Git仓库:

    目前,在GitHub上的这个learngit仓库还是空的,GitHub告诉我们,可以从这个仓库克隆出新的仓库,也可以把一个已有的本地仓库与之关联,然后,把本地仓库的内容推送到GitHub仓库。

    现在,我们根据GitHub的提示,在本地的learngit仓库下运行命令:

    $ git remote add origin git@github.com:Deep/learngit.git

    请千万注意,把上面的Deep替换成你自己的GitHub账户名,否则,你在本地关联的就是我的远程库,关联没有问题,但是你以后推送是推不上去的,因为你的SSH Key公钥不在我的账户列表中。

    添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。

    下一步,就可以把本地库的所有内容推送到远程库上:

    $ git push -u origin master

    把本地库的内容推送到远程,用git push命令,实际上是把当前分支master推送到远程。

    由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

    以上6步完成了本地仓库的创建,本地仓库与github建立联系,本地仓库上传到githuab仓库,下面介绍如何从github上面下载文件。

    7、如何克隆github的数据,这里我以下载刚才上传的文件为例进行克隆下载。

    $ git clone git@github.com:Deep/learngit.git

    这个命令就可以克隆Deep帐号下的learngit了。   

    通过下载的这个learngit,可以修改里面的文件,在使用下面这个命令

    $ git push  origin master

    就可以把修改的内容在上传到github上了。实现了修改github的内容。

    这篇随笔主要是自己在学习git与github做的记录,学习内容参考了廖雪峰老师的网站,他写的很好,很细致,适合新手学习,在此贴上链接:https://www.liaoxuefeng.com/

    里面有很多的教程。

     







     
  • 相关阅读:
    底图与蒙版的过渡效果transition
    消除blur属性的边框
    jquery ajax实例教程和一些高级用法
    常用js正则表达式大全
    HTML5 + JS 调取摄像头拍照下载
    JS运动框架
    JS 实现AJAX封装(只限于异步)
    事件委托详解
    JS 实现随机验证码功能
    利用JS调取电脑摄像头,实现拍照功能
  • 原文地址:https://www.cnblogs.com/sawyer22/p/9265784.html
Copyright © 2011-2022 走看看