zoukankan      html  css  js  c++  java
  • GitHub初体验

    1、Git介绍

      Git 是一款免费的、开源的、分布式的版本控制系统。旨在快速高效地处理无论规模大小的任何软件工程。

    每一个 Git克隆 都是一个完整的文件库,含有全部历史记录和修订追踪能力,不依赖于网络连接或中心服务器。其最大特色就是“分支”及“合并”操作非常快速、简便。

    2、Git和Svn的区别

      SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时 候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须 联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。

           Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑 上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各 自的修改推送给对方,就可以互相看到对方的修改了。

    3、Git安装

    1)在 Linux 上安装

    如果要在 Linux 上安装预编译好的 Git 二进制安装包,可以直接用系统提供的包管理工具。在 Fedora 上用 yum安装:

    $ yum install git-core

    在 Ubuntu 这类 Debian 体系的系统上,可以用 apt-get 安装:

    $ apt-get install git

    2)在 Mac 上安装

    在 Mac 上安装 Git 有两种方式。最容易的当属使用图形化的 Git 安装工具,界面如图 1-7,下载地址在:

    http://code.google.com/p/git-osx-installer

    另一种是通过 MacPorts (http://www.macports.org)安装。如果已经装好了 MacPorts,用下面的命令安装 Git:

    $ sudo port install git-core +svn +doc +bash_completion +gitweb

    这种方式就不需要再自己安装依赖库了,Macports 会帮你搞定这些麻烦事。一般上面列出的安装选项已经够用,要是你想用 Git 连接Subversion 的代码仓库,还可以加上 +svn 选项,具体将在第八章作介绍。(译注:还有一种是使用homebrew(https://github.com/mxcl/homebrew):brewinstall git

    3)在 Windows 上安装

    在 Windows 上安装 Git 同样轻松,有个叫做 msysGit 的项目提供了安装包,可以到 GitHub 的页面上下载 exe安装文件并运行:

    http://msysgit.github.com/

    完成安装之后,就可以使用命令行的 git工具(已经自带了ssh 客户端)了,另外还有一个图形界面的 Git 项目管理工具。

    4、Git本地仓库使用

    1)初始化

    git init

    cd到你本地的工程目录,初始git使用环境,当前目录下会创建一个.git目录。

    image

    我这是之前init过了,所以会提示reinit。

    2)添加文件到版本库

    git add [file/dir]

    这样,把文件添加到git本地管理目录中,这类似Svn的add操作,实际上,还没有提交到本地管理仓库。利用

    git status

    通过git status可以看到,刚才的添加操作,对于本地仓库的文件有没有什么变化?

    image

    下一步,需要把readme.txt添加到本地仓库中去,利用:

    git commit -m '你的注释说明'

    这样,就把文件添加到了本地Git仓库了。

    image

    当然,你可以再运行git status,看一下,还有没有没提交的代码。现在本地仓库的提交已完成,下节会讲到如何把本地仓库和远程Github仓库相关联。

    5、Git远程仓库使用

    先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置:

    1)创建SSH Key

    在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果有的话,直接跳过此如下命令,如果没有的话,打开命令行,输入如下命令:

    ssh -keygen  -t rsa –C “youremail@example.com”

    由于我本地此前运行过一次,所以本地有,如下所示:

    image

    本人是记不得路径的(建议可以安装everything这个软件,找文件非常方便)

    登录github,打开“settings”中的SSH Keys页面,然后点击“Add SSH Key”,填上任意title,在Key文本框里黏贴github_rsa.pub文件的内容。

    image

    2)添加远程仓库

    我们已经在本地创建了一个Git仓库后,又想在github创建一个Git仓库,并且希望这两个仓库进行远程同步,这样github的仓库可以作为备份,又可以其他人通过该仓库来协作。

    image

    image

    点击”Create repository“,便创建了一个远程仓库。

    3)关联本地Git仓库

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

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

    如果提示:

    image

    提示出错信息:fatal: remote origin already exists.

    找到你的github的安装路径,我的是C:UsersAdministratorAppDataLocalGitHubPortableGit_054f2e797ebafd44a30203088cd3d58663c627efetc

    找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]和下面对应的几行删掉即可。

    4)提交本地代码到远程仓库

    git push –u origin master

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

    但是敲入命令后,出现如下问题。

    image

    原因是:在Github新建目录时,同时选择了创建一个readme.txt,这样造成了远程仓库和本地仓库版本不一致。

    解决办法:

    image

    git pull [remote_path] master

    相当于把远程目录拉下做一个代码版本合并的操作。

    image

    Ok,至此,整个工程就添加上去了

  • 相关阅读:
    Account group in ERP and its mapping relationship with CRM partner group
    错误消息Number not in interval XXX when downloading
    错误消息Form of address 0001 not designated for organization
    Algorithm类介绍(core)
    梯度下降与随机梯度下降
    反思
    绘图: matplotlib核心剖析
    ORB
    SIFT
    Harris角点
  • 原文地址:https://www.cnblogs.com/kongxs/p/4089532.html
Copyright © 2011-2022 走看看