sunmaobin.github.io
sunmaobin.github.io copied to clipboard
Git入门介绍
本文主要从Git原理、常用命令、分支管理等方面进行简单介绍说明。
Git 和 Svn 的区别
- Git是分布式的管理,而Svn不是
- Git的这个特性可以保证,每个使用Git的人员,本地都有一个独立的库跟远端相同。这样做的好处是,如果哪天断网了,或者在公司Clone的代码到家里了。这时候依然可以Add,Commit,依然可以查看版本记录。
- Git的分支管理和Svn有很大区别
- Git的分支之间可以随意合并、切换,而Svn的分支就相当于是一个额外的目录。
- Git的分支使用要比Svn更加有优势,更加适合于快速开发、分块交付的工作。
- Git数据存储方式和Svn大不一样
- 这主要表现在Git一个仓库目录下有一个.git隐藏目录,用于存储git的数据信息,而仓库内部的所有文件就没有了.git临时文件。这样做的好处是,你可以随意的拷贝/挪动,而不需要考虑隐藏文件占很大的磁盘。而Svn是每个目录下都有一个.svn目录,用于控制版本和数据信息。有时候挪动了整个目录,切换了Svn的地址,需要clean等操作,非常麻烦,而且占的体积非常大。
- 当然Git的这种存储有更大的作用,就是他实际存储了整个库到本地了,所以平时更新提交数据非常快。
- 更多数据存储,参考:Git是如何存储对象的?
Git 架构

注:此图片来自阮一峰博客
Git 安装配置
-
host中添加以下内容:
host所在目录:C:\Windows\System32\drivers\etc\192.168.1.68 git.gdd
192.168.1.68 jenkins.gdd
192.168.1.68 mysql.gdd
192.168.1.68 server.gdd -
下载Git客户端并安装:
- 点击下载
- 安装时除以下步骤选择最后一个外,其他都可以默认。

-
安装后进行如下操作:
-
在E盘或者F盘新建一个目录叫:gitlab
-
右键gitlab目录,运行:Git Bash

-
-
在命令窗口分别执行以下命令:
注意:每个命令,一直回车即可。git config --global user.name "<your username>" git config --global user.email "<your email>" ssh-keygen -t rsa -C "<your email>" -
登录git网页版
- 地址:http://git.gdd:8889/
- 用户名:自己的英文名字
- 默认密码:88888888
- 点击右上角的用户头像,进入个人设置

- 点击左侧的:SSH Keys

- 点击右侧的:Add SSH Key

- 进入Add an SSH Key窗口

- 用记事本打开文件:C:\Users\Administrator.ssh\id_rsa.pub
- 拷贝
id_rsa.pub中的内容,到上面的窗口,并保存
至此,git的环境已经配置好,现在查看自己有哪些git仓库目录。
-
在git的首页,能看到右侧有一些Project,这是你有权访问的一些项目。

-
比如:点击
Administrator / gdd-doc进入这项目后,点击SSH,并复制URL[email protected]:root/gdd-doc.git
-
在刚才的Git Bash 窗口,执行如下命令并回车,开始下载
gdd-doc的文件
- 注意:第一次运行时,可能需要确认,直接输入:yes,回车即可。
-
文件下载完成后,就可以看到所有的项目资料了。
到此为止,git的安装和初次使用就结束了,还要进行其他的学习和操作,可以参考本文档其他章节,后者以下文档:
Git 常用命令
获取文件
-
git clone url克隆一个仓库 -
git fetch origin更新本地仓库文件跟远端一致 -
git branch查看本地有哪些分支 -
git branch -r查看远端有哪些分支 -
git branch -a查看本地和远端所有分支 -
git branch -D feature1删除本地分支feature1,远端仓库一般不建议删除(管理员除外) -
git checkout develop下载并切花到develop分支(如果develop分支本地已有,则直接切换过去) -
git checkout -b feature1以当前分支为准,创建一个新的分支,名字叫feature1,并切换到feature1分支 -
git pull origin develop从远端develop分支更新内容到工作区
提交文件
-
git status查看改动的文件(或者打开GUI查看) -
git add <file>提交文件 -
git add -A提交改动的所有文件 -
git commit -m 'comment'添加评论提交代码到本地仓库 -
git push origin develop提交代码到develop分支(**注意:**前提示当前分支也是develop分支,保持一致。)
打标签
-
git tag查看所有tag -
git tag tag1将当前分支的当前代码打一个标签,名称叫tag1 -
git push origin tag1将打好的标签tag1提交到远端 -
git checkout tag1临时切换到啊tag1标签上 -
git checkout -b feature2 tag1从tag1标签上创建一个分支并feature1并切换到这个分支上
其它命令
-
git merge --no-ff feature1当前分支合并feature1分支,注意:--no-ff要加。 -
git log查看提交日志,按:q退出 -
git reset --hard 'hash'硬性回退到之前的一个版本。hash是每个版本有一个hash码。
Git GUI工具
稍后补充
参考
- 常用 Git 命令清单-阮一峰:http://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html
- 我的git笔记-颜海镜:http://yanhaijing.com/git/2014/11/01/my-git-note/