Git/Git-flow使用心得

1 基础使用

  • git是很好用的分布式版本管理系统
  • github是在线的,普遍使用online的git。free用户,全部的代码都是公开的!想使用更多功能,好比私有仓库,ok,付费……(固然,不少公司会本身搭建git,好比我用的是repo,命令都是同样的)
  • git命令不少,但平常工做须要掌握的也没几个:
  1. 在github的setting中添加你的id_rsa.pub
  2. git remote add origin <git_url>    添加远程仓库
  3. git add <files>  添加同时添加多个文件/夹
  4. git commit -m '你的描述,最好是英文'
  5. git reset (--hard) <paths>  回到最新的commit,撤销全部的add/commit(--hard不保留修改,慎用)
  6. git pull --rebase origin master  从远程抓取最新的修改,忽略别人的commit(多人合做时很是重要!)
  7. git push origin master:master    推送远程仓库,收工~

 

2 分支管理/开发流程

  • git-flow 很棒的版本管理流程
  • develop, master, feature, release, hotfix
  • feature 新开发分支,基于dev;结束时合并到dev
  • release 基于dev,即将发布(用于测试);结束时合并到dev和master;
  • hotfix 基于master,积极修复bug;结束时合并到dev和master

3 子模块

关于公共代码库,git 有个机制是submodule,能够在主项目中引用公共库git

建立:github

 

  1. 创建公共代码库, lib.git和主项目A.git
  2. 在A项目下,执行git submodule add lib.git  lib
  3. 此时发现A项目下多了.gitmodules文件,里面记录了子模块信息

修改:dom

  1. 公共库有更新,A项目并不随之更新,必须收到跳到A的lib目录下,更新即执行git pull origin master.
  2. git status出现 modified:   lib (new commits)
  3. 此时提交这个变更,其他人的A项目更新后也会出现步骤2
  4. 其他伙伴必须执行git submodule update!!!! 若是此时小伙伴不更新,便把lib提交,这时Lib的版本又回退了,这是个坑!!!!!!

更新url:分布式

  1. 编辑.gitmodule的url
  2. git submodule sync 可同步更改到.git/conf中submodule的更改
  3. 此时到对应目录下,手动git pull origin master
  4. commit 这次改动,这时公共库便同步到了remote;

4 我的主页

 

  • jekll生成页面
  • https://help.github.com/articles/using-a-custom-domain-with-github-pages/  自定义域名