Git 新特性
Git 2.23
git switch
:简化了分支切换操作,取代了 git checkout 的一部分功能git restore
:提供了一个新的命令用于恢复文件状态,代替 git checkout 和 - git reset 的一些功能git rebase --rebase-merges
:保留变基过程中的合并提交
Git 2.24
git sparse-checkout
:允许用户只检出仓库的一部分内容,节省磁盘空间和提高操作效率。git commit --fixup
和--squash
:在交互式变基中用于标记修复或合并提交。git log --format
:提供了更灵活的日志格式选项。
Git 2.25
git switch
和git restore
的增强:进一步改进了这两个命令的功能和稳定性。git log --graph --oneline
:改进了图形化日志的显示。
Git 2.26
git restore --source
:允许指定恢复内容的源。git stash
:增强了 git stash 的功能,支持对未跟踪文件的操作。
Git 2.27
git commit --verbose
:在提交时显示变更的详细信息。git diff
的增强:改进了 diff 显示,增加了 –color-words 选项。
Git 2.28
git config
的includeIf
选项:允许根据不同条件包括配置文件。git remote
:增强了远程管理功能,支持更多的配置选项。
Git 2.29
git diff
的--inter-hunk-context
选项:增强了 diff 输出的上下文显示功能。git pull
的--rebase
:改进了拉取操作的变基选项。
Git 2.30
git commit
的--no-verify
:在提交时跳过钩子验证。git merge
的--rerere-autoupdate
:增强了合并冲突的自动解决功能。
Git 2.31
git log
的--notes
选项:允许在日志中显示附加的注释。git switch --orphan
:创建一个新的孤立分支,方便从空白状态开始。
Git 2.32
git commit --dry-run
:提供了一个预查看提交的选项。git diff
的--stat
选项:改进了统计信息的显示。
Git 2.33
git branch
的--show-current
:显示当前分支的简化命令。git log
的--merges
:更好地显示合并提交。
Git 2.34
git rebase
的--exec
选项:在每个变基操作后执行指定命令。git status
的--short
选项:简化状态显示。
Git 覆盖所有提交
git 没有提供直接指令覆盖所有提交,但是在某些场合下,我们可能有这个需求,例如:从某个克隆仓库修改
思路:
- 创建一个独立分支
- 初始化仓库
- 删除 main 分支
- 将新分支修改为 main
- 强制提交
|
|
注意:此过程不能撤销,请三思!
问题和解决
git status 不能显示中文
在默认设置下,中文文件名在工作区状态输出,中文名不能正确显示,而是显示为八进制的字符编码
解决办法:
|
|