在git进行项目版本管理时,经常会遇到如下的场景, 开发者针对feature/bugfix/ hotfix/refactoring进行开发时,在本地repo中进行了很多次commits,然而当当前开发结束时,开发者并不需要把所有的commits 都push 到远程git server 中,开发者可以选择需要的commits压缩成一个commit, 然后push 这一个commit到远程git server 即可。具体的步骤如下:
使用git log 列出当前的commit history, 比如说
how to squash several commits into single one. ( git rebase -i
http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html
in comments, some one also mentioned how to divide one la
我使用 `git` 有一段时间了,但老实说,我很少关注凌乱的提交历史。最近在学习 `git rebase` ,想分享一下如何使用这个命令来压缩整理提交(Commits)
简而言之,总共有五个步骤。
1. 运行`git rebase -i head~x`→ `x` 是需要从头开始压缩的数目,`-i` 表示交互模式
2. 按 `i` 进入`vim`的`INSERT`的输入模式
3. 将`pick`更改为 `fixup` 或 `f`
4. 按 `ESC` 退出 `INSERT` 模
Git 提供了 `git rebase` 命令可以用来压缩提交次数。具体操作步骤如下:
1. 使用 `git log` 命令查看当前分支的提交记录,并找到需要压缩的提交记录的哈希值。
2. 执行 `git rebase -i <commit>` 命令,其中 `<commit>` 为需要压缩的提交记录的哈希值。例如,如果需要压缩最近的三次提交,可以执行 `git rebase -i HEAD~3`。
3. Git 会打开编辑器,并展示需要压缩的提交记录信息。将需要压缩的提交记录前面的单词改为 `squash` 或 `fixup`,表示将该提交记录压缩到前一个提交记录中。其中,`squash` 表示将该提交记录的修改内容合并到前一个提交记录中,同时保留该提交记录的提交信息;`fixup` 表示将该提交记录的修改内容合并到前一个提交记录中,同时忽略该提交记录的提交信息。
4. 保存并关闭编辑器,Git 会自动执行压缩提交操作,并在执行过程中可能会提示需要解决冲突等问题。最后,执行 `git log` 命令可以查看压缩后的提交记录。
Spring Cloud Eureka 自我保护机制(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY)
#!/bin/bash
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
fileSizeByte=$(wc -c $log |awk '{print $1}')
((fileSizeKB=$fileSizeByte/1024))
echo "clean logs :$fileSizeByte Bytes $fileSizeKB KB - $log"
cat /dev/null > $log
echo "======== end clean docker containers logs ========"
[/code]
优化了下,输出日志文件大小