GIT使用入门篇(管理自已的代码)

一、Git介绍

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

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

二、Git和Svn的区别

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

       Git是分布式版本控制系统,那么它就没有中央服务器的,每一个人的电脑就是一个完整的版本库,这样,工做的时候就不须要联网了,由于版本都是在本身的电脑上。既然每一个人的电脑都有一个完整的版本库,那多我的如何协做呢?好比说本身在电脑上改了文件A,其余人也在电脑上改了文件A,这时,大家两之间只需把各自的修改推送给对方,就能够互相看到对方的修改了。bash

三、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,下载地址在:ssh

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 gitsvn

3)在 Windows 上安装

在 Windows 上安装 Git 一样轻松,有个叫作 msysGit 的项目提供了安装包,能够到 GitHub 的页面上下载 exe安装文件并运行:工具

http://msysgit.github.com/

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

四、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仓库相关联。

五、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:\Users\Administrator\AppData\Local\GitHub\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\etc

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

相关文章
相关标签/搜索