1 关闭windows上自动转为crlf格式windown 上git会默认打开autocrlf但我们想强制设为为LF这样linux和windows都兼容。1.1 运行以下命令查看当前设置git config --global core.autocrlf若输出为空或false表示未启用自动转换。这是我们期待的结果。1.2 禁用所有自动转化即保持为LFgit config --global core.autocrlf false2 统计修改代码行数先把要统计的代码文件加入到stage阶段也就是git add 要统计的代码文件或者在vscode左边导航栏“源代码管理”中把“更改”中的文件点击加号加入到“暂存的更改中”也能达到同样的效果。加入到stage后操作git diff --cached --stat便可以显示修改的代码行数手动加一下即可。3 本地在新分支B上开发代码已经提交到B了想和主分支A同步并保持在当前分支B上在目前的分支B上后续要切换到主分支A上。1切换到主分支A上并拉取主分支A代码切换前首先把主分支A代码删除 git branch -D dev-A切换到主分支A并拉取主分支A代码。方法一重新从远程拉取主分支git fetch origin dev-A # 获取远程最新代码但不自动合并git checkout dev-A # 重新创建本地分支并切换到它方法二或者更简洁的方式git checkout -b dev-A origin/dev-A # 一步完成拉取和切换2切换到开发分支B进行rebasegit checkout dev-B最关键的一步 在当前的开发分支B上进行操作效果是在主分支A上最新代码上自动加入当前分支B的提交。git rebase dev-A4 本地在新分支B上开发代码已经提交到B了想和主分支A同步并保持在主分支A上1切换到主分支A上并拉取主分支A代码和上一章保持一样。2保持在主分支A上用cherry-pick 进行操作git cherry-pick abc1234 # abc1234 应用到当前分支 A5 HEAD用法HEAD 代表当前所在提交。^HEAD 或者HEAD^ 表示当前提交的父提交。HEAD^ 或 HEAD^1 当前提交的第一个父提交等同于 HEAD~1。HEAD^^ 祖父提交等同于 HEAD~2。HEAD^2 当前提交的第二个父提交仅在合并提交时有意义。1 git reset --soft HEAD^ 是一个 Git 命令用于撤销最新的提交commit但保留所有修改包括工作目录和暂存区的变更--soft软重置模式仅回退提交历史不触碰工作目录和暂存区。2git reset HEAD 取消暂存区修改不会影响到内容。5.1 撤销commit撤销最近提交回退commit到暂存区git reset --soft HEAD^或者 git reset --soft HEAD~1撤销最近提交回退暂存区到工作区git reset HEAD~1可行git reset HEAD^1 和上面等价