你可能不太会用的10个Git命令("10个实用但你可能忽略的Git命令详解")
原创
1. git cherry-pick:选取特定的提交进行合并
有时候,你也许只想合并某个分支上的特定提交到另一个分支上。这时候,git cherry-pick
命令就派上用场了。
git cherry-pick
其中
2. git rebase -i:交互式地修改历史提交
如果你想修改历史提交,比如更改提交信息、合并多个提交或者删除某些提交,可以使用git rebase -i
命令。
git rebase -i
这个命令会打开一个文本编辑器,让你交互式地修改历史提交。你可以合并多个提交、修改提交信息或者删除提交。
3. git reflog:查看引用日志
有时候,你也许不小心删除了一个分支或者提交,但是又想恢复它。这时候,git reflog
命令可以帮你找回丢失的数据。
git reflog
这个命令会显示你所有的历史操作,包括已经删除的提交和分支。你可以找到丢失的提交或分支的哈希值,然后使用git checkout
恢复它们。
4. git reset --keep:保留工作目录状态的同时回滚提交
如果你想回滚到某个提交,但是又不想失去工作目录中的更改,可以使用git reset --keep
命令。
git reset --keep
这个命令会撤销当前分支上的所有提交,但是会保留工作目录中的更改。
5. git checkout --orphan:创建一个没有父分支的新分支
如果你想创建一个完全自立的新分支,没有任何历史记录,可以使用git checkout --orphan
命令。
git checkout --orphan
这个命令会创建一个全新的分支,该分支没有任何父分支的历史记录。
6. git branch -d:强制删除分支
如果你想删除一个分支,即使它有未合并的更改,可以使用git branch -d
命令。
git branch -d
这个命令会强制删除指定的分支,即使它有未合并的更改。
7. git filter-branch:修改历史提交中的文件名或内容
如果你想修改历史提交中的文件名或内容,可以使用git filter-branch
命令。
git filter-branch -f --commit-filter '...
这个命令允许你对历史提交进行过滤和修改,比如更改文件名或者删除文件。
8. git shortlog:生成提交日志摘要
如果你想查看某个时间段内的提交日志摘要,可以使用git shortlog
命令。
git shortlog -s
统计出某个时间段里某个作者的提交数呈,格式如下:
git shortlog -s
这可以查看某个作者的提交日志,格式如下:
git shortlog -s
提交数目的日志摘要。
9. git describe:显示某个版本里某个提交的详细描述
git describe --always
10. git log --since and --before --after = "2019-01-01"、--to --since = "2023-01-01":显示2019年1月1号之后的提交,但不过滤任何在2023年1月1号之后的。
git log --since="2023-01-01" --before="2023-04-01":显示2023年1月1号之后和2023年4月1号之前的提交。
git log --since="2023-01-01 --before="2023-04-01":显示2023年1约1号之后的提交,但不过滤2023年4月1号之前的提交。
git log --since="2023-01-01" --before="2023-04-01":显示2023年1约1号之后的提交,但过滤2023年4月1号之前的。
如果你想显示某个特定日期之后的提交,可以使用以下命令:
git log --since = "2023-01-01":显示2023年1约1号之后的提交
如果想显示某个特定日期之前的提交,则使以下命令:
git log --before = "2023-01-01":显示2023年1月1号之前的提交
11. git fsck:检查仓库中悬空的对象
git fsck
提交数目统计
git count-objects -v
12. git show-refs:显示refspec引用
git show-refs
13. git rev-list:显示所有提交的日志
git rev-list