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,至此,整个工程就添加上去了

  • 相关阅读:
    【转载】python基础-文件读写'r' 与 'rb' 和‘r+'与’rb+'区别
    python-IndexError: list index out of range
    NameError:name ‘xrange’ is not defined
    k8s 结合docker搭建私有仓库
    部署Kubernetes-dashboard
    通过Kubeadm搭建Kubernetes集群
    .net core +gogs + jenkins +docker自动化发布、部署
    .NET Core 使用ModelBinder去掉所有参数的空格
    mysql主从同步
    IdentityServer4同时使用多个GrantType进行授权和IdentityModel.Client部分源码解析
  • 原文地址:https://www.cnblogs.com/kongxs/p/4089532.html
Copyright © 2011-2022 走看看