Git的笔记

来源:互联网 发布:深圳java自行车 编辑:程序博客网 时间:2024/06/05 05:04


一、版本控制解决问题
1,备份多个版本,浪费空间,浪费时间
2,难以恢复到以前正确的版本
3, 容易引发bug
4,解决代码冲突困难
5, 代码管理混乱
6, 难以追溯问题修改人和修改时间
7, 版本发布困难
版本控制是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干个文件内容变化,以便将来查阅特定版本修订情况的系统
二、版本控制的工具
1,cvs 开启了版本控制之门
2,svn 集中式版本控制之王者
3,Git分布式版本控制之伟大作品
三、GIT简介
1, 作者 Linus的第二个伟大作品
2,时间是 2005年
3,优势
 分布式,离线操作
 每日工作备份
 异地协同工作
 现场版本控制
 避免引入辅助目录
 可以吃后悔药
 工作进度随时保存
4,缺点
 每个开发人员都有仓库,安全性低,更适合开源软件
四、GIT模式
1,集中式协同模型(公司常用)
 每个开发人员都有读取写入权限
2,社交网络式协同模型(Linux采用的)
 一般开发人员只有读取权限
 核心成员具有读取写入权限
五、GIT基本交互流程
1,clone(一般新员工,只执行一次)
2,commit(提交至本地仓库)
3,push(推送至共享版本库)
4,pull(更新本地仓库)

9:32 2015/9/16
六、安装(安装过程百度有没什么要注意的)
七、仓库建立(建议和git同级目录方便管理)
注:通过命令建立,操作界面就不写了
1,仓库初始化
 git init --bare shared.git
2,文件结构
 hooks(钩)里面是一些事件,比如 提交之前,要做什么事情把代码写入的相应的文件就行
 info->exclude 这个文件中存放的 是不需要版本控制的,文件目录,不可能所有的文件都需要版本控制
 objects 存放版本信息文本内容,
 refs存放头文件还有一些分支信息
 config 配置信息,username,Email等
 HEAD 主分
八、使用仓库,
1,clone
 git clone 服务器路径 本地路径
 git clone /D/sofware/repository/shared.git .
 会生成 .git 隐藏文件夹,即本地仓库,和共享仓库内容相同
2,设置个人信息
 git config user.name "user1"
 git config user.email "user1@163.com"
注:git config 命令 默认修改的是 本地个人的~/.git/config文件
    当 git config --system 时 修改的是:/ect/git/config文件使用于系统所有的用户和库的值
3,忽略无需版本控制的文档
 echo "*.txt" > .gitignore
4,新建一个文件
 echo "User1 add content" > index.jsp
5,提交文件(提交到本地仓库)
 git add index.jsp(告诉 要跟踪的文件,其实是加入到缓存区)
 git commit
6,强制你写 更新文档
 注:git commit -m "User2 add the file" 就直接写了 不会跳到vi
7,把自己的仓库提交到公共服务器
 git push origin(地址,代表从哪克隆到哪里去)master(主分支,要克隆到那个分支)
8,下载服务器最新数据
 git pull
九、相关概念
14:58 2015/9/16
1,工作区
2,版本库(object)
 暂存区
  add 是加入 仓库的 index树
 分支
  commit是 暂存区向 master树
3,git log (打印日志) 
 commit +hash值
 tree  +hash值
 parent 上一次commit的hash值
 author 作者
4,git cat-file -t hash(对应的对象)
   git cat-file -p hash(对应的对象的内容)
   一层套一层
5,blob 对象 (内容)
6,流程
 HEAD->分支(master)->commit->tree->blob
十、tortoisegit
1,创建仓库 在要创建仓库的文件夹内 右击 git create repository here
2,右击 clone
3,tortoisegit-》settinggit-》git 设置用户名 Email
。。。。。
4.clean up 清楚一些垃圾的数据
5,解决冲突 右击文件 tortoisegit-》edit conflicte 编辑保存 5.1 右击 resolve 解决
6,show log 查看以前版本
7,diff 对比
8.check for modify 查看是否有人修改

0 0