git 版本控制与协同开发

文章目录

版本控制

历史阶段

  • cvs 第一代 集中式
  • svn 第二代 sub version 子版本 集中式
  • git 第三代 分布式,非集中式

扩展:

  • 分布式技术
  • 并行机器(超级计算机)
  • 集群

git 的工作流程

scm 软件配置管理

www.git-scm.com

仓库:一个文件夹,git 会追踪文件夹中文件的变化,对部分文件做差异化记录

仓库三个状态

  • 干净 clear
  • 改变、增加 未追踪的文件
  • 缓冲区

git init // 初始化仓库

git add // 将变化的内容加入缓冲区

git commit // 提交,记录改变

git status // 查看当前状态

git log // 查看日志

git checkout // 检出

git tag // 标签

git checkout id

git checkout master

git branch

git clone

tag主要用来标记历史版本,而branch可以独立地包含项目历史的一部分,是主分支分出的"平行空间"

协同开发

开放的平台

个人仓库

shell 复制代码
    mkdir code
    cd code
    # 初始化为仓库
    git init
    # 添加到缓冲区,为了提交
    git add *
    # 提交,存档,差异化备份存储
    git commit -m "描述信息"
    # 
    git log
    # 检出,回到历史版本
    git checkout id
    # 标签
    git tag 0.1
    # 分支
    git branch
    # 创建分支 f1
    git branch f1
    # 进入分支 f1
    git checkout f1
    # 进入主线
    git checkout master
    # 把分支 f1 合并到主线
    git merge f1
    # 

远程仓库

托管平台:github, gitee, sf, google code, gitlab

shell 复制代码
    # 直接创建远程仓库
    # 把本地仓库分享到原创
    # 克隆,把仓库从远程下载到本地
    git clone url
    # folk 创建仓库的一个分支
    # 往本地拉取最新的提交信息,本地同步信息远程仓库的信息
    git pull/fetch
    # 把本地的提交同步到远程服务器
    git push
    # pull request

团队协同开发

  1. 创建组织
  2. 邀请成员
  3. 创建组织中的仓库
  4. 给仓库添加开发者
  5. 把远程仓库克隆到本地
  6. 进行文件编辑
  7. 本地提交:git add, git commit
  8. 同步到远程:先 pull 再 push

git rebase

git rebase 等价于

git pull --no-rebase

git push

git pull

git push

相关推荐
C137的本贾尼1 天前
Git基本操作(四):删除文件
git
C137的本贾尼1 天前
撤销修改:三种场景下的“反悔”操作
git
C116111 天前
antdesign使用git命令clone仓库后,找不到CLAUDE.md 文件什么原因
git
BoomHe1 天前
git Rebase 为任意一笔提交补上 Change-Id
android·git·android studio
OsDepK1 天前
AudioSplit音频多轨免费分离工具即将发布
ide·git·python·音视频·集成学习
jiayong231 天前
Git 常见错误与详细解决方案
大数据·git·elasticsearch
jiayong231 天前
Git 分支命名、区别、联系与顺序关系说明
大数据·git·elasticsearch
无风听海1 天前
Git 对象存储模型深度解析
git
展翅飞翔的小王1 天前
速查】Git 常用提交流程 + 强制用远端覆盖本地
git
C137的本贾尼1 天前
分支管理(一):创建、切换与合并,体验“平行宇宙”
git