Open theydy opened 3 years ago
常用 git 操作
cherry-pick : 将某个分支上的 commit 摘取出来提交到当前分支, -x -s 可选参数,带上 hash 和签名信息
revert : 通过再次 commit 相反的内容抵消一次 commit
reflog : 查看 git 操作记录,然后可以通过 reset —hard HEAD@{n} 来返回到第 n 步是的状态
rebase : 当前 rebase master,master 分支 merge
reset : --hard --soft
fetch : 拉取远程的分支 fetch origin test:test
// 没有在git 版本控制中的文件,是不能被git stash 存起来的, 需要先 git add . 添加到 git 版本控制中
git stash save ‘save message’
git stash clear : 清空你所有的 stash 内容
git stash drop stash@{0} : 这是删除第一个队列
修改某一个 commit 的提交信息,但是如果是修改的远程上的commit 最后需要强制提交才行。
git 全局设置
git config --global merge.conflictstyle diff3 // 开启三路合并
git config --global merge.ff false // merge 不允许使用 fast-forward
git config --global pull.ff true // pull 可以使用 fast-forward
git rebase -i HEAD~n // n 要大于等于要修改的commit 距离 HEAD 的步数
git rebase -i xxx 合并 xxx 之后(不包含xxx)到 head 的 commit
git merge xxx —no-ff 强行关闭fast-forward方式
git merge xxx -Xignore-all-space 合并时忽略空白符,对于格式化文件之后的合并十分有效
git log --grep={query} 按照{query} 的内容查找commit 提交
stash 部分文件
git stash -p
a - stage this file
d - do not stage this file
y - stage this hunk
n - do not stage this hunk
q - quit
git commit 信息
feat:: 类型为 feat 的提交表示在代码库中新增了一个功能。
feat:
feat
fix::类型为 fix 的 提交表示在代码库中修复了一个 bug 。
fix:
fix
docs:: 只是更改文档。
docs:
style:: 不影响代码含义的变化(空白、格式化、缺少分号等)。
style:
refactor:: 代码重构,既不修复错误也不添加功能。
refactor:
perf:: 改进性能的代码更改。
perf:
test:: 添加确实测试或更正现有的测试。
test:
build:: 影响构建系统或外部依赖关系的更改(示例范围:gulp、broccoli、NPM)。
build:
ci:: 更改持续集成文件和脚本(示例范围:Travis、Circle、BrowserStack、SauceLabs)。
ci:
chore:: 其他,不修改src或test文件。
chore:
src
test
revert:: commit 回退。
revert:
git cherry-pick A^..B // 转移从 A 到 B 的所有提交,包含 A
常用 git 操作
cherry-pick : 将某个分支上的 commit 摘取出来提交到当前分支, -x -s 可选参数,带上 hash 和签名信息
revert : 通过再次 commit 相反的内容抵消一次 commit
reflog : 查看 git 操作记录,然后可以通过 reset —hard HEAD@{n} 来返回到第 n 步是的状态
rebase : 当前 rebase master,master 分支 merge
reset : --hard --soft
fetch : 拉取远程的分支 fetch origin test:test
// 没有在git 版本控制中的文件,是不能被git stash 存起来的, 需要先 git add . 添加到 git 版本控制中
git stash save ‘save message’
git stash clear : 清空你所有的 stash 内容
git stash drop stash@{0} : 这是删除第一个队列
修改某一个 commit 的提交信息,但是如果是修改的远程上的commit 最后需要强制提交才行。
git 全局设置
git config --global merge.conflictstyle diff3 // 开启三路合并
git config --global merge.ff false // merge 不允许使用 fast-forward
git config --global pull.ff true // pull 可以使用 fast-forward
git rebase -i HEAD~n // n 要大于等于要修改的commit 距离 HEAD 的步数
git rebase -i xxx 合并 xxx 之后(不包含xxx)到 head 的 commit
git merge xxx —no-ff 强行关闭fast-forward方式
git merge xxx -Xignore-all-space 合并时忽略空白符,对于格式化文件之后的合并十分有效
git log --grep={query} 按照{query} 的内容查找commit 提交
stash 部分文件
git stash -p
a - stage this file
d - do not stage this file
y - stage this hunk
n - do not stage this hunk
q - quit
git commit 信息
feat:
: 类型为feat
的提交表示在代码库中新增了一个功能。fix:
:类型为fix
的 提交表示在代码库中修复了一个 bug 。docs:
: 只是更改文档。style:
: 不影响代码含义的变化(空白、格式化、缺少分号等)。refactor:
: 代码重构,既不修复错误也不添加功能。perf:
: 改进性能的代码更改。test:
: 添加确实测试或更正现有的测试。build:
: 影响构建系统或外部依赖关系的更改(示例范围:gulp、broccoli、NPM)。ci:
: 更改持续集成文件和脚本(示例范围:Travis、Circle、BrowserStack、SauceLabs)。chore:
: 其他,不修改src
或test
文件。revert:
: commit 回退。