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

相关推荐
挖掘狂人19 小时前
Git 从 0 到 1:用一个小项目走完 add / commit / reset / merge / rebase / push
git·后端·github
codigger20 小时前
Git 三区域模型:把 add、commit、reset、merge 一次讲透
git·github·编程·编程语言
水饺编程21 小时前
第1章:开发环境搭建,在 Windows 中安装 Git
linux·c语言·汇编·git·ubuntu
idanzk21 小时前
Git 推送 GitHub 报 SSL_READ /src refspec main 不匹配 完整踩坑记录
git·github·ssl
星恒随风1 天前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人2 天前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安2 天前
git学习记录01
linux·git·学习
lingchen19062 天前
版本控制 Git源代码项目管理
git
虫无涯2 天前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆2 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git