Git简单概述
1、什么是git
- git是一款开源的分布式版本控制工具
- 在世界上所有的分布式版本控制工具中,git是最快、最简单、最流行的
- git作者是Linux之父:Linus Benedict Torvalds
2、git的工作分区
- 工作区
- 暂缓区
- 分支
操作原则: 所有新添加/删除/修改的文件 必须先添加到暂缓区,然后才能提交到HEAD指向的当前分支中
3、git和svn
- 在很多情况下,git的速度远远比SVN快
- SVN是集中式管理,git是分布式管理
- SVN使用分支比较笨拙,git可以轻松拥有无限个分支
- SVN必须联网才能正常工作,git支持本地版本控制工作
- 旧版本的SVN会在每一个目录置放一个.svn,git只会在根目录拥有一个.git
Git本地简单操作
git help [子命令] 可以获取git操作帮助
- 按照上图所示,我们开始使用git工作:第一个命令一般是用clone或者init
1、使用
git init
命令来初始化一个本地仓库
2、使用
git config user.name “shunzi”
和git config user.email "shunzi@qq.com"
来配置你的信息,配置文件是config
,配置成功后,使用git config -l
可以查看配置信息
3、简单创建一个文件,并且提交
创建文件并提交
命令:
touch main.c
git add .
git commit -m “注释”
修改文件并提交
命令:
git add .
git commit -m “注释”
删除文件并提交
命令:
git rm person.h
git commit -m “注释”
日志查看
命令:
git log
git reflog
> 版本回退
命令:
git reset —hard HEAD 重置到当前版本
git reset —hard HEAD^^ 重置到上上个版本
git reset ——hard HEAD2 重置到往上2个版本
git reset —hard 七位版本号 重置到指定版本::
4、注意补充
-
颜色含义
- 红色:代表被添加或者修改的文件没有被添加到暂缓区
- 绿色: 代表文件在暂缓区,等待提交
-
vim 编辑器
- 命令模式:等待编辑命令输入;所有输入的内容都被当做命令来执行
- 插入模式:输入的所有内容都被显示,并被当做文件内容处理
- 命令行模式:执行待定命令(保存文件并退出vim : wq ; 强制退出不保存: q! )
Git团队简单演练
** 团队开发必须有一个共享库,这样成员之间才可以进行协作开发 **
1、共享库
- 本地共享库:电脑文件夹/U盘/移动硬盘
- 远程共享库:在Github上托管项目、在OSChina上托管项目、自己搭建Git服务器
2、搭建本地共享库
- 说明,建3个文件夹,上面的是共享库,下面的是2人开发者
- 命令:git init —-bare
- git clone 本地代码仓库地址
3、演练同步文件
创建文件夹manager1, manager2
命令:
mkdir manager1
mkdir manager2
分别进入到两个文件夹从共享库clone项目到本地
命令:
git clone 本地代码仓库地址
git clone 本地代码仓库地址
演练新增文件同步
命令:
touch person.h
git add .
git commit -m “创建person.h”
git push
git pull
演练修改文件同步
命令:
git add .
git commit -m “注释”
git push
git pull
演练删除文件同步
命令:
git rm filename
git commit -m “注释”
git push
git pull
演练冲突解决
命令:
git pull
> 演练忽略文件
命令:
touch .gitignore
open .gitignore 加入忽略文件名
git add .
git commit -m “注释”
.gitignore文件配置规则
http://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html
GitHub的使用
- 打开github网站:[https://www.github.com]
- 注册账号(OneShunzi)
- 点击创建新仓库[https://github.com/new]
- 填入项目名称,描述等信息
- 创建完成
- 可根据生成的版本库地址进行克隆下来进行操作
2. 怎样加入合作伙伴
- 点击”个人” -> setting -> SSH keys -> Add SSH key
- 将你小伙伴生成的公钥添加进来即可.(以下是生成公钥私钥方法)
[https://help.github.com/articles/generating-ssh-keys/]
3. 怎样将其他著名框架添加到我们的代码仓库?
搜索到对应的框架
点击fork
-
当项目被移到自己代码仓库中,就可以根据地址克隆下来进行操作
** 注意: 你可以针对此框架进行任意修改,但是仅仅作用在你的本地仓库中的副本,对原作者项目没有任何影响. 如果想向原作者提建议,可以直接使用,pull request操作. 提交完成后,原作者可以在pull request中看到你的提交.至于是否采纳,就是原作者的意愿
git.oschina使用git(github和oschina一样,下面这个很详细,上面看不懂的话,可以看下面的图印证理解)
- 项目创建好了之后,复制https
- 在回到oschina页面
- 多人开发的话,只需要最后一步,添加成员
- 这样oschina的git管理也告一段落了