Git

作者: 吃紫薯的water | 来源:发表于2018-08-05 17:19 被阅读0次

00. git 基础

廖雪峰老师-Git教程

01. git config

config 配置有
【01】system级别
【02】global(用户级别)
【03】local(当前仓库)
设置先从system -> global -> local 底层配置会覆盖顶层配置
分别使用--system/global/local 可以定位到配置文件

# 查看当前用户(global)配置
git config --global  --list
# 修改配置信息
git config --global user.name "myname"
git config --global user.email  "test@gmail.com"

02. git flow

Git Flow工作流程围绕项目发布定义了严格的分支模型

GitFlow分支模型.png
  • Master分支:用于保存正式版本发布的历史
  • Develop分支:用于集成各种开发功能的分支
  • Hotfix分支:修复发布后的问题的分支
  • Release分支:Develop分支积攒一定功能后,Release分支作为准备发布的分支,该分支上只能修复bug和做一些文档相关的工作
  • Feature分支:用于开发功能的分支

03. git submodule

开始使用

  • 添加
    方式:git submodule add [git地址] [添加到的本地路径]
    示例:git submodule add https://github.com/chaconinc/DbConnector src/framework
  • 初始化:(直接clone的项目不带子模块)
    方式1:git submodule init + git submodule update
    方式2:git submodule update --init
    方式3:git clone --recursive https://github.com/chaconinc/MainProject
  • 更新
    方式1:git submodule update --remote DbConnector (不指定模块则全部更新)
    方式2:切换到模块目录执行: git fetch + git merge origin/master
    注1:git submodule update相当于根据当前代码库的提交来更新
    注2:git submodule update --remote根据子模块最新代码更新
  • 删除
    git rm -r CryptoLibrary (删除目录之后可以重新添加 submodule add)
    注:使用rm -rf 删除目录之后可以通过以下方式恢复
    方式1:git submodule update --init (更新到主代码提交的子模块版本)
    方式2:git submodule update --remote (更新到子模块最新提交)
  • 其他1:git status 出现括号内容
    // 子模块有更新
    modified:   src/framework (new commits)
    // 在主项目中修改了子模块
    modified:   src/framework_swan (modified content)
    // 二者兼备
    modified:   src_h5/framework (new commits, modified content)
    
  • 其他2:子目录游离HEAD状态
    该状态下,直接修改子目录内容会被下次更新直接覆盖,如果需要修改子模块,需要在本地建立相应的子模块分支,然后进行修改;
    同时在拉取代码时采用git submodule update --remote --merge的方式;
    git push --recurse-submodules=check 推送主代码时检查自分支是否推送
    git push --recurse-submodules=on-demand辅助推送子分支
  • 其他3:git submodule foreach
    对每个模块执行相应的git指令

04. git ssh密码设置、删除

ssh-keygen -p

注:需要删除时,在提示输入新密码时回车即可

相关文章

网友评论

      本文标题:Git

      本文链接:https://www.haomeiwen.com/subject/lxafpftx.html