git操作

版本控制简介

  • 版本控制目前使用最广的有:
    • cvs:用的最少,基本被svn取代了
    • svn:在中国目前用的最多,和cvs操作大同小异
    • git:目前是一个趋势
  • 版本控制中,commit是为了整合代码
  • 客户端:
    • Tortoisegit: Git的客户端
    • Tortoisesvn: SVN的客户端
  • git和svn
    • git:
      • 在每一个电脑都是一个完整的仓库,有一整套完整的代码
      • 本地随时发布通过commit,可以记录本地的版本控制,同时便于回退版本
      • 在有网的情况下通过push,推送到远程中央仓库
    • svn:
      • svn可以进行模块化开发,不需要每个开发人员拥有一整套项目的代码,提高安全性
      • 在无网络的情况下,不能commit进行版本控制,当需要回退时只能联网回退到最新上次提交的版本
      • 所有代码在存放在中行仓库,中央仓库崩溃了,所有的代码都不能提交了
    • 控制:
      • svn:会在各个目录下创建.svn文件
      • git:只会在最顶层目录创建.git文件
  • git工作模型
    • 集中式协同模型
    • 社交网络式协同模型

公司开发流程

  • 新员工入职时需要从远端不项目clone下来然后进行开发,在本地拥有完整的仓库
  • 通过commit提交文件同步到本地仓库
  • 当在有网络的情况下,push本地仓库到远程仓库
  • 如果需要获取最新的代码,通过pull把远程仓库的代码拉到本地更新

安装git

  • 安装git,安装完成后会有gitBash图标出现

版本管理员操作

  • 公司在开发新的项目时,会创建重要仓库,用来整合各个开发人员的代码:
git init --bare shared.git
# 创建一个空的(bare) 的仓库 名为:shared.git
  • 初始化仓库后,打开仓库会发现新增了文件和文件夹
    • hooks(钩子):用于定制操作,如commit后自动发邮件给项目经理,commit前做某个操作
    • info:版本提交时忽略的文件名单写在info文件夹下的execlude文件里
    • object:存放版本记录
    • config:记录用户名和邮箱
    • description
    • head

开发人员

  • 入职第一天,拿到仓库路径后第一时间把代码仓库clone到本地
git clone fromPath localPath
# 把程仓库clone到本地
  • 修改用户名和邮箱,告诉git我是谁
git config user.name 'user1'
git config user.email '[email protected]'
  • 编辑文件后添加到缓存区才能提交
git add xxx.txt
git commit -m 'xxxx'
# 添加跟中
# -m :表示message,每次提交需要添加描述信息,介绍一下这次提交做了哪些修改
# commit只更新到本地仓库(本地也是一个完整的版本控制仓库)
  • 推送到中央仓库
git push origin master
# origin:从哪里clone下来的就push到哪里
# master:分支名称
  • 从中央仓库更新文件
git pull

你可能感兴趣的:(git操作)