欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

git操作

程序员文章站 2022-07-15 16:57:25
...

版本控制简介

  • 版本控制目前使用最广的有:
    • 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