GIT use

Git起源

Git的诞生是Linus用来管理Linux而自己写的。

Git简介

Git是分布式版本控制系统,而SVN是集中式的。

分布式优点:

1.没有中央服务器,不需要联网;

2.安全性高,每个人的电脑上都有一份完整的版本库;

3.强大的分支管理。

集中式图解:

GIT use_第1张图片

分布式图解:

GIT use_第2张图片

安装Git

Mac或者windows上安装SourceTree客户端来管理。下载地址:

https://www.sourcetreeapp.com/

一、mac上安装Git:

1.访问git-osx-installer的官方网站:http://code.google.com/p/git-osx-installer/,下载Git安装包.

2.解压安装包,然后点.pkg开始安装。

3.安装完毕后直接在终端运行git命令就行了。

二、在windows上安装Git:

1.msysgit是Windows版的Git,从https://git-for-windows.github.io下载,然后按默认选项安装即可。

2.安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!

3.安装完成后,还需要最后一步设置,在命令行输入:

$git config --global user.name"Your Name"

$git config --global user.email"[email protected]"

创建版本库

一、版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。

$mkdir YYKKJ

$cd YYKKJ

$pwd

/Users/michael/ YYKKJ

二、通过git init命令把这个目录变成Git可以管理的仓库:

$git init

添加远程库

1.要添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,运行git remote add [shortname] [url]:

2.把远程库中的文件clone到本地库

$git clone xxxxxxxxxxxxxx

把文件添加到版本库

1.用命令git add告诉Git,把文件添加到仓库:

$git addxxx.xxx

2.用命令git commit告诉Git,把文件提交到仓库:

$ gitcommit-m"提交信息"

-m后面输入的是本次提交的说明

Git更新的规范步骤

1.如果记不清了可以需要用git diff这个命令看看。

2.提交到本地仓库,git add

3.git status看看当前仓库的状态

4.git commit提交。

5.再用git status看看状态是否提交上去。

6.把本地的内容提交到远程库

$git push origin master

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

7.更新本地分支:git pull

从本地推送分支,使用git push origin branch-name,如果推送失败,先用git pull抓取远程的新提交;

分支管理

一、创建分支:

1.创建分支:

$git checkout -bxxx

git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:

$git branch xxx

$git checkout xxx

2. 用git branch命令查看当前分支:

$git branch

git branch命令会列出所有分支,当前分支前面会标一个*号。

3合并分支;

通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。

合并分支时,加上--no-ff参数就可以用普通模式合并,合并后的历史有分支,能看出来曾经做过合并,而fast forward合并就看不出来曾经做过合并。

$git mergexxx

4删除当前分支;

$git branch -d dev

5切换分支;

$git checkoutxxx

分支策略

在实际开发中,我们应该按照几个基本原则进行分支管理:

首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活;

每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

GIT use_第3张图片

标签管理

一、创建标签

1首先切换到要打标签的分支上,然后敲命令:git tag

2查看标签git tag

3忘记打标签找到提交的commitid就能打标签

$git log --pretty=oneline --abbrev-commit

6a5819e merged bug fix101

cc17032 fix bug101

7825a50merge with no-ff

6224937add merge

59bc1cb conflict fixed

400b400& simple

eg:$git tag v0.96224937

4git tag -a-m "blablabla..."可以指定标签信息

操作标签

1.删除标签

$git tag -d v0.1

2.推送标签

$git tag -d v0.1

3.一次性推送全部标签

$ git push origin --tags

4.删除远程标签

$git tag -d v0.9

$git push origin:refs/tags/v0.9

忽略特殊文件

在Git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则例如:

# 此为注释 – 将被 Git 忽略

*.a       # 忽略所有 .a 结尾的文件

!lib.a    # 但 lib.a 除外

/TODO     # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

build/    # 忽略 build/ 目录下的所有文件

doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

.settings

.classpath

.project

target

rebel.xml

*.class

.gitignore

# Package Files #

*.jar

*.war

*.ear

/target

你可能感兴趣的:(GIT use)