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

相关推荐
范纹杉想快点毕业1 小时前
以项目的方式学QT开发(一)——超详细讲解(120000多字详细讲解,涵盖qt大量知识)逐步更新!
c语言·数据结构·c++·git·qt·链表·github
qq_653644463 小时前
如何查看打开的 git bash 窗口是否是管理员权限打开
开发语言·windows·git·bash
tonngw3 小时前
【Mac 从 0 到 1 保姆级配置教程 12】- 安装配置万能的编辑器 VSCode 以及常用插件
git·vscode·后端·macos·开源·编辑器·github
橄榄熊5 小时前
Git 常用命令详解
git
o(╥﹏╥)1 天前
绑定 SSH key(macos)
开发语言·git·学习·macos
半新半旧1 天前
Git 分支指南
git
qq_464357011 天前
git中忽略文件.gitignore文件的用法
git
程序员阿鹏1 天前
Git的安装和配置(idea中配置Git)
java·开发语言·ide·git·intellij-idea·idea
belldeep2 天前
如何阅读、学习 Git 核心源代码 ?
git·学习·源代码
我不是秃头sheep2 天前
Git安装教程及常用命令
git