Git分支模型及工作流
分支模型
典型分支模型
A successful Git branching model
主分支
主分支有两种:master分支和develop分支
master
master分支只负责管理发布的状态。在提交时使用标签记录发布版本号。
develop
develop分支是针对发布的日常开发分支。刚才我们已经讲解过有合并分支的功用。
特性分支
特性分支就是我们在前面讲解过的topic分支的功用。
这个分支是针对新功能的开发,在bug修正的时候从develop分支分叉出来的。基本上不需要共享特性分支的操作,所以不需要远端控制。完成开发后,把分支合并回develop分支后发布。
release分支
rel...
Git远程仓库
远程仓库的基本操作
git clone <url> 克隆仓库
克隆后默认把远程仓库的名字改为origin,且本地分支默认跟踪对应的远程分支
git remote 查看远程仓库名称列表
git remote -v 查看带上URL的远程仓库信息
git remote show <remote> 查看remote远程仓库的详细信息
git remote add <remote> <url> 增加远程仓库
git remote rename <old-remote-name> <new-remote-name> 重命名远程仓库
git remote rm <remote> ...
Git分支
分支基础
在不同的分支可以同时进行不同的任务,互相不干扰,任务完成后再合并
分支本质上只是一个指向commit object的一个指针
分支指针一定是指向当前分支最新的commit object
当前处于哪一个分支是由HEAD指针指向哪一个分支指针决定的
新建分支
git branch <branch> 创建名为branch的分支
新建testing分支后示意图(未示意HEAD指针和tag)
切换分支
切换分支后,工作区和暂存区的状态会转换为该分支的最后提交的代码状态
git switch <branch> 或 git checkout <branch> 切换到名为branch的分支
git sw...
Git基础操作
获取帮助
git help <command> 获取名为command命令的帮助文档
配置
配置的级别
使用 git config 命令修改配置,等价于直接修改config文件
git config <key> <value> 或 git config --local <key> <value>
仓库级配置,修改的是当前使用仓库的 Git 目录中的 config 文件(就是.git/config)
git config --global <key> <value>
当前用户级设置 修改的是~/.gitconfig 或 ~/.config/git/config文件(e.g...
Git数据结构
数据形式
直接记录快照,而非差异比较
CVS、SVN等
Git
数据结构
Git object
Git仓库提交历史部分是由commit object链表组成的
commit object、tree object、blob object
commit object代表一次提交
tree object代表一个目录
blob object代表一个文件快照
object的key(或id)是一个SHA-1校验和,通过SHA-1哈希算法生成
一个commit object的示意图,只有一个根目录,三个文件
commit object链表示意图(tree object 与 blob object 简化为snapshot)
...
Git背景介绍
关于版本控制历史
本地版本控制
许多人习惯用复制整个项目目录的方式来保存不同的版本,或许还会改名加上备份时间以示区别。这么做唯一的好处就是简单,但是特别容易犯错。有时候会混淆所在的工作目录,一不小心会写错文件或者覆盖意想外的文件。
为了解决这个问题,人们很久以前就开发了许多种本地版本控制系统,大多都是采用某种简单的数据库来记录文件的历次更新差异。
集中化的版本控制系统
接下来人们又遇到一个问题,如何让在不同系统上的开发者协同工作? 于是,集中化的版本控制系统(Centralized Version Control Systems,简称 CVCS)应运而生。 这类系统,诸如 CVS、Subversion 以及Perforce 等,都有一个单一的集中管理的服务...
CSS修改自动填充样式
一般方法
-webkit-box-shadow 修改背景颜色,-webkit-text-fill-color修改字体颜色
input:-webkit-autofill {
-webkit-box-shadow:0 0 0 100px #22272e inset !important;
-webkit-text-fill-color: #adbac7;
}
背景颜色透明
input:-webkit-autofill {
transition: background-color 5000s ease-in-out 0s;
}
其他相关选择器
input:-webkit-autofill:hover
input:-webkit-autofil...
CSS修改placeholder样式
一般方法
input::placeholder {
color: red;
}
textarea::placeholder {
color: red;
}
兼容浏览器
Chrome内核
input::-webkit-input-placeholder {
color: red;
}
Firefox 4~18
input::-moz-placeholder {
color: red;
}
Firefox 19+
input::-moz-placeholder {
color: red;
}
IE 10+
input::-ms-input-placeholder {
color: red;
}
Git使用SSH与远端连接
检查本机是否存在密钥
打开Git Bash
ls -al ~/.ssh
看看是否存在类似id_rsa.pub的密钥文件。如有,可直接使用该密钥,否则,生成一个新的密钥
生成一个新的密钥
打开Git Bash
ssh-keygen -t ed25519 -C "your_email@example.com"
默认配置在~/.ssh目录下生成了私钥id_ed25519文件和公钥id_ed25519.pub文件
指定密钥名称
ssh-keygen -t ed25519 -C "your_email@example.com" -f name
添加私钥到ssh-agent
启动ssh-agent
eval "$(ssh-agent -s)"
添加私钥
ssh-...
332 post articles, 34 pages.