Git 资源整理

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

官方网站

http://git-scm.com/

教程

托管

书籍

  • Git Community Book 中文版
  • Git Magic
  • Git Pocket Guide
  • Git Recipes
  • Git Succinctly
  • Git 使用指南
  • Git 魔法
  • Git- Version Control for Everyone
  • Gitolite Essentials
  • Git使用体会
  • Git权威指南
  • Pragmatic Guide to Git
  • Pro Git(cn)
  • Pro Git-读书笔记
  • Pro Git
  • Version Control with Git(2nd)
  • 版本控制之道:使用 Git
  • 看日记学Git

Git实验指南

Git 安装使用简介:

在介绍安装和简单使用前,先看一下百度百科中的简介吧:

————————————————————————————————————————

Git --- The stupid content tracker, 傻瓜内容跟踪器。

Linux 是这样给我们介绍 Git 的:

Git 是用于Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。

————————————————————————————————————————

下面我用ubuntu 10.10上的命令为例:(这些命令都是在本地客户端处使用,非服务器操作裸库使用)

(本文中尖括号内包含尖括号都将是描述内容,请在输入实际命令时替换成描述内容所符的内容。)

1、安装:

$ sudo apt-get install git

$ sudo apt-get install gitk#此为安装官方的图形界面,不需要的可以不安装

2、cd到需要管理的代码、文件所在的第一级目录

3、初始化:

$ git init

4、添加当前目录所有内容:

$ git add .

5、查看状态:

$ git status

6、添加commit:

$ git commit -am "first commit."

7、版本对比:

$ git diff

8、查看历史记录:

$ git log

9、分支操作

查看分支:$ git branch

创建分支:$ git branch 分支名称 (注意:请不要在服务端建立分支)

切换分支:$ git checkout 分支名称

删除分支:$ git branch -d 分支名称

10、加入服务器

$ git remote add 用户名@计算机名或IP:~/某个目录

11、推送数据

$ git push master master #本地master推送到远端master

如果想快捷的使用git push就推送到默认远端分支master,可以做个一次性设置:

$ git remote add origin <实际的ssl用户名>@<IP地址>:<Git在远端的path>

做完以上设置,以后直接使用git push 就会自动推送到上述设置地址了,但如果要推送到其他分支,还是需要加参数的,这个设置只是相当于一个默认参数而已。

12、接收数据

$ git pull origin master

如果想直接使用git pull直接接收,同样需要提前做一个一次性设置(同样也是不能应用多分支pull情况):

$ git branch --set-upstream master origin/master

13、本地库设置个人姓名和邮件

$ git config --global user.name "你的姓名,最好由没有符合和空格的英文字母组成"

$ git config --global user.email <邮件名>@<邮箱服务商后缀>

如果不设置个人信息,提交的信息将不会有更改者信息,这样会加大项目管理的难度。

14、启动图形界面

$ gitk

Git操作指南(1) —— Git for Linux裸库的建立

在linux上建立裸库的操作,其实是非常的简单,例如:我用jmcx帐号,在家目录下的文件夹jmcx_git_bare中建立一个裸库,操作如下:






jmcx@mvp:~$ pwd    /home/jmcx

jmcx@mvp:~$ mkdir jmcx_git_bare

jmcx@mvp:~$ ls  jmcx_git_bare

jmcx@mvp:~$ cd jmcx_git_bare

jmcx@mvp:~/jmcx_git_bare$ git init --bare  Initialized empty Git repository in /home/jmcx/jmcx_git_bare/

jmcx@mvp:~/jmcx_git_bare$ ls  branches  config  description  HEAD  hooks  info  objects  refs

这样就搞定了~

Git操作指南(2) —— Git Gui for Windows的建库、克隆(clone)、上传(push)、下载(pull)、合并


1、下载并安装

下载地址:

http://code.google.com/p/msysgit/downloads/detail?name=Git-1.7.10-preview20120409.exe

安装的话,新手的话,全部“下一步(next)”即可。

2、建库(init)

(如果你需要在本机计算机建库并管理自己的代码,请看此节。)

首先,新建一个文件夹,进入文件夹后点击右键,选择“Git Init Here”:

执行完这个操作后,会发现此文件夹中,多了一个“.git”的隐藏文件夹,说明执行成功。

然后,将源代码copy到此目录中(也可以直接在源代码处直接init):

做完这个操作后,再点击鼠标右键后,点击“Git Commit Tool”,填写完commit后,点击“提交”即可:

最后,我们来看一下History,右键点击鼠标选择“Git History”:

Enjoy~!\(^o^)/~

3、克隆(clone)

(如果你从属于某个项目下,需要将远程的库down到本机计算机,请看此节。)

在需要建立库的目录下点击右键选择:“Git Gui” :

在弹出窗口点击“克隆已经版本库”:

重点来了,之所以将这步称为重点,是因为网上大多数这一步的教程都错误的!

     然后在Source Location中输入完整的待克隆版本库所在地址,在Target Directory中输入或选择本地的目录(请注意此处会自动新建一个目录,不需要提前建立!)

我以ssh为例,

以下第一幅图是局域网内部为例的:

上面是局域网案例的。

下面是访问外网IP的方式:

外网访问可以需要注意几点:

(1)、因为Gui的source location这里其实不能更换ssh默认端口,就算加上“:实际端口号”也会返回以下错误信息:

————————————

ssh: connect to host 123.117.67.67 port 22: Bad file number

fatal: The remote end hung up unexpectedly

————————————

(2)、不能使用~号来代替家目录的路径组成部分了,必须使用git远端库的绝对地址

然后点击“克隆”,会提示输入ssh对应的密码:

输入密码后,就会自动克隆了,这里可能要输入3次密码,请一次次认真输入吧。成功后会提示类似信息:

——————————————————————————

From 192.168.31.130:~/jmcx

 * [new branch]      master     -> origin/master

——————————————————————————

关闭掉当前窗口,会自动弹出git gui,然后可以在“版本库”下选择“浏览master上的文件”查看已下载文件,也可以直接去刚才的Target Directory中查看相关文件。

4、上传(push)

(如果你从属于某个项目下,已经clone了远程的库,需要将本地代码修改后,上传到远端库,请看此节。)

前提条件需要满足已经完成上面的“2、建库”操作了。修改文件后,在Git Gui下进行“缓存改动”,然后输入描述,点击“提交”,点击“上传”,输入密码后回自动上传。成功应该是:

5、下载(pull - fetch)

右键在git库所在目录下打开Git Gui,在上方找到“远端(remote)”,点开之后选择“从..获取(fetch)”,自动展开后,点击“origin”:

然后输入密码,点击OK,即可完成操作:

这样就OK了,不过这样只是下载了,并没有和你本地的代码合并,要合并的话,还需要做一个操作,请看下节。

6、合并(pull - merge)

fetch之后,到Git Gui的“合并(merge)”下点击“本地合并”,一般情况下是默认条件直接点击“合并(merge)”即可:

————————————————————————————————————————————

到这里教程就告一段落了。

Git 初学者使用指南及Git 资源整理的更多相关文章

  1. Git命令使用指南

    继续git相关的东西,网上很多讲解的,但是还是喜欢这个图:(爱屋及乌,当然内容也很好,文章链接:http://me.iblogc.com/2015/01/16/Git命令使用指南/) Git是软件开发 ...

  2. Git和GitHub在线学习资源整理

    电子书 GotGitHub Git Workflow 沉浸式学习Git 文章 GitHub Fundamental visual-git-guide 图形化的Git参考手册 Linux下使用git命令 ...

  3. 写给Git初学者的7个建议

    [原文] - http://blog.jobbole.com/50603/ 当我刚刚开始使用Git的版本控制时,我根本不确定我付出那么多时间是不是会得到回报.Branch.Stage.Stash,这些 ...

  4. git使用简易指南

    安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹,打开,然后执行 git init 以创建新的 git 仓库. 检出仓库 执行如 ...

  5. Git 简易使用指南及补充

    Git最简易的使用指南 助你开始使用 git 的简易指南,木有高深内容,;) 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...

  6. 10篇写给Git初学者的最佳教程(转)

    身为网页设计师或者网页开发者的你,可能已经听说过Git这个正快速成长的版本控制系统.它由GitHub维护:GitHub是一个开放性的.存储众人代码的网站.如果你想学习如何使用Git,请参考本文.在文章 ...

  7. Git简明使用指南[转]

    git - 简易指南 助你开始使用 git 的简易指南,木有高深内容,;). Tweet 作者:罗杰·杜德勒 感谢:@tfnico, @fhd and Namics 其他语言 english, deu ...

  8. git学习------>写给 Git 初学者的7个建议

    PS:本文转载于(http://blog.jobbole.com/50603/),本文由 伯乐在线 - 吴鹏煜 翻译. 英文出处:(http://sixrevisions.com/web-develo ...

  9. [转]写给Git初学者的7个建议

    本文转自:http://www.open-open.com/news/view/b7227e 阅读目录 第一条:花时间去学习 Git 的基本操作 第二条:从简单的 Git 工作流开始 第四条:理解分支 ...

随机推荐

  1. RTSP消息交互过程

    c表示客户端,s表示RTSP服务器端 第一步:查询服务器可用方法 1 c---s :OPTION request //查询s有哪些方法可用 s---c:OPTION response //s回应信息的 ...

  2. 解决修改表结构,添加外键时出现“约束冲突”的错误

    由于表结构更改,使用新建表,现有部分表需要更改外键,将引用更改到新建表的相应字段.在更改过程中,部分表出现如下错误提示: ALTER TABLE 语句与 COLUMN FOREIGN KEY 约束 ' ...

  3. Python类相关的装饰器

    一.装饰器装饰类方法 from functools import wraps def wrapper(func): @wraps(func) def inner(self,*args,**kwargs ...

  4. unity 欧拉旋转

    欧拉旋转   在文章开头关于欧拉旋转的细节没有解释的太清楚,而又有不少人询问相关问题,我尽量把自己的理解写到这里,如有不对还望指出.     欧拉旋转是怎么运作的     欧拉旋转是我们最容易理解的一 ...

  5. 用Max导出Unity3D使用的FBX文件流程注解(转载)

    http://www.cnblogs.com/wantnon/p/4564522.html 从max导出FBX到Unity,以下环节需要特别注意.1,单位设置   很多人在建模,动画的时候,默认的ma ...

  6. mysqlbinlog的日志类型

    一.mysqlbinlog简介 binlog又叫二进制日志文件,它会将mysql中所有修改数据库数据的Query以二进制的形式记录到日志文件中,如:create,insert,drop,update等 ...

  7. 数据库-python操作mysql(pymsql)

    pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同 一:安装pymysql pip3 install pymysql 二:使用pytmysql # -*- codin ...

  8. Python基础三(选择,循环)

    序 首先我们知道程序的执行有三种结构:顺序.选择.循环三种结构,而为了方便我们书写和多次利用我们就需要把一段代码封装器来,这就是方法.今天我就说的是程序的基本结构的格式和方法. 注:所有的程序都可以通 ...

  9. AdvStringGrid 滚动条问题

    1.默认水平方向 滚动条是 小的 滚动的时候 数据会随着滚动 而 滚动的. 2.默认垂直方向 滚动条是 小的 滚动的时候 数据不会随着滚动 而滚动的.ScrollSynch := True; 垂直方向 ...

  10. gtk+学习笔记(八)

    框架(Frames)可以用于在盒子中封装一个或一组构件,框架本身还可以有一个标签.标签的位置和盒子的风格可以灵活改变. 框架可以用下面的函数创建: GtkWidget *gtk_frame_new( ...