zoukankan      html  css  js  c++  java
  • [转载]Github轻松上手1-Git的工作原理与设置

    作为一个程序猿,如果没有接触过stack overflow和Github,就如同在江湖中行走,却把师傅临行赠送的宝刀屠龙和倚天长剑废弃不用。

    Stack Overflow还好,一个简单易用的社交问答网站,使用起来很方便。

    Github就相对复杂一点,但功能也更强大一些,甚至连google都在使用它来管理开源项目的不同版本。

     

    以下将对如何配置Github,如何上传和管理自己的项目进行简单的说明。

     

    第一部分 Git的工作原理

     

    GitHub的核心是一个开源版本控制系统VCS(version control system),称作Git。Git是由设计Linux系统的同一帮人搞出来的。

    如果想了解更多有关Git的东西,不妨看看这里:http://progit.org/book/ch1-3.html

     

    这里简单说明一下:

    首先是一般的版本控制系统的工作方式:[转载]Github轻松上手1-Git的工作原理与设置

     

    然后是Git的工作方式:

     [转载]Github轻松上手1-Git的工作原理与设置

    也就是说,每次提交版本变动的时候,git会保存一个快照(snapshot)。如果文件没有被更改,git也不会再次保存,而是提供一个到原来文件的链接。这样一来,git更像是一个小型的文件系统。

    此外,git的所有操作都可以是本地的,仅仅在将新版本的内容上传到服务器上时才需要连接网络。

    git里面使用了SHA-1检验,因此,你几乎不可能瞒过git对项目代码进行任何修改。

    git只会添加数据,而不会删除数据。因此不要担心我们做一些测试时会破坏原有的数据。

    git的三种状态:已提交,已更改,和已标记。

    已提交表示数据已经安全存储在本地数据库,已修改表示已经修改了文件,但还没有提交到数据库,已标记表示已经在当前版本标记了一个更改的文件,以便进入下一次提交的快照。

    参看下图:

     [转载]Github轻松上手1-Git的工作原理与设置

    Git目录是Git保存元数据和对象数据库的地方。这也是Git最重要的部分。

    working directory是项目某个版本的内容。

    staging area是一个简单的文件,通常包含在Git目录中。其中存储了将要进入下一次提交的信息。

    Git的基本工作流程如下:

    1.在working directory中修改文件。

    2.标识(stage)文件,并将文件快照添加到staging area。

    3.执行commit,将获取staging area中的文件,并将快照永久保存到Git目录中。

     

    第二部分 设置Git

     

    1.下载安装Git

    从以下链接下载安装最新版本的Git: http://code.google.com/p/git-osx-installer/downloads/list?can=3

     [转载]Github轻松上手1-Git的工作原理与设置

    如果打开不了这个页面,那么只有上VPN了。

    虽然文件名的后缀是-snow-leopard.dmg,但是在Lion系统下也完全可以使用。

     

     

    2.设置SSH

     

    我们会使用SSH密钥在本地电脑和GitHub服务器之间建立安全连接。设置SSH并不复杂,只是需要使用命令行工具。

    首先使用电脑右上角的Spotlight找到Terminal(终端工具)。

    [转载]Github轻松上手1-Git的工作原理与设置

     

    如果之前没用过Terminal的命令行,那么不妨去了解一下一种叫Bash的脚本语言。这里默认你懂,那么就继续吧。

    (1)检查是否已有SSH key

    输入以下命令:

    $ cd ~/.ssh

    如果提示“No such file or directory“,则跳转到第3步,如果不是则继续第2步。

    (2)备份并删除已有的SSH key

    $ ls

    Lists all the subdirectories in the current directory

    config id_rsa id_rsa.pub known_hosts

    $ mkdir key_backup

    makes a subdirectory called "key_backup" in the current directory

    $ cp id_rsa* key_backup

    Copies the id_rsa and id_rsa.pub files into key_backup

    $ rm id_rsa*

     

    注意,以上只有美元符号后面才是你要在命令行中输入的命令,其它是对该命令的解释说明,或者输入命令后返回的结果。

     

    (3).创建一个新的SSH key

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

    Creates a new ssh key using the provided email

    Generating public/private rsa key pair.

    Enter file in which to save the key (/Users/your_user_directory/.ssh/id_rsa):<press enter>

     

    首先注意,your_email@youremail.com这里要用你自己的邮箱地址,可别真的复制粘贴这个命令,那就有点2B了。

    然后会提示输入passphrase(密码):

    Enter passphrase(empty for no passphrase):<输入你的密码>

    Enter same passphrase again:<再次输入你的密码>

     

    然后就会显示类似下面的结果:

     [转载]Github轻松上手1-Git的工作原理与设置

    (4)将SSH key添加到GitHub中

     

    在GitHub网站登录中点击Account Settings,然后点击SSH Keys<,点击Add SSH Key,参考下图:

     [转载]Github轻松上手1-Git的工作原理与设置

    使用文本编辑器打开id_rsa.pub文件。就会显示你的公共SSH密钥。

    当然,这个文件属于隐藏文件,如果不知道怎么显示mac系统下的隐藏文件,可以使用下面的命令行:

    $ pbcopy < ~/.ssh/id_rsa.pub

     

    然后把它复制到”Key”字段中,参考下图:

     [转载]Github轻松上手1-Git的工作原理与设置

    (5)测试

     

    为了确保一切正常,需要进行小小的测试。

     在命令行中输入下面的命令:

    $ ssh -T git@github.com

     

    正常情况下会显示:

    [转载]Github轻松上手1-Git的工作原理与设置



    输入yes,就会看到:

    Hi username! You’ve successfully authenticated,but GitHub does not provide shell access.

     

     

    3.设置信息

     

    现在Git已经设置完毕,也输入了SSH Key,就可以配置个人信息了。

     

    (1)设置用户名和email

    $ git config --global user.name "Firstname Lastname"

    Sets the name of the user for all git instances on the system

    $ git config --global user.email your_email@youremail.com

     

    需要注意的是,这里的name是你的真名,不是Github的注册账号。

     

    (2)设置GitHub token

     

    有些工具可以无需使用SSH连接到GitHub,这样就必须设置API Token。

     

    在网页上点击Account Setting,

     [转载]Github轻松上手1-Git的工作原理与设置

    然后在命令行中输入下面的命令:

    $ git config --global github.user username

    Sets the GitHub username for all git instances on the system

    $ git config --global github.token 0123456789yourf0123456789token

     

    注意,其中的绿色部分是GitHub用户名和刚才的API Token。

     

    此外,每次修改了GitHub密码后,都会创建新的API Token。

     

    到这里,Git的设置工作就圆满了。

     

     

  • 相关阅读:
    当期所得税费用总额
    所得税净利润算法
    [AGC028B]Removing Blocks 概率与期望
    bzoj 4319: cerc2008 Suffix reconstruction 贪心
    bzoj 2430: [Poi2003]Chocolate 贪心
    BZOJ 2839: 集合计数 广义容斥
    luogu 5505 [JSOI2011]分特产 广义容斥
    CF504E Misha and LCP on Tree 后缀自动机+树链剖分+倍增
    CF798D Mike and distribution 贪心
    CF707D Persistent Bookcase 可持久化线段树
  • 原文地址:https://www.cnblogs.com/linewman/p/9918798.html
Copyright © 2011-2022 走看看