Git变基时,如何获取git commit -a的添加文件列表用于git add?
解决Git Rebase时快速添加已跟踪修改文件的方法
直接用这条命令就能实现和git commit -a完全一致的文件选择逻辑,只添加**已跟踪且有修改(含冲突解决后)**的文件,完全不会触碰未跟踪文件:
git add -u
补充说明
git add -u(全称--update)的核心逻辑就是只处理仓库中已被Git跟踪的文件:不管是正常修改的,还是解决完冲突的,都会被加入暂存区,完美匹配你的需求。- 对比其他容易混淆的命令:
git add --all(或-A)会把所有变更(已跟踪修改/删除、未跟踪新增)全加进去,这就是你之前遇到的问题根源。git add .只会处理当前目录及子目录的所有变更,同样会包含未跟踪文件。
如果想先确认会被添加的文件列表,避免误操作,可以先执行模拟命令:
git add -u --dry-run
--dry-run参数只会输出即将被添加的文件,不会真的修改暂存区,方便你提前核对。
确认无误后,就可以正常执行git rebase --continue完成变基流程了。
内容的提问来源于stack exchange,提问作者Jeff Learman
相关产品推荐
相关产品推荐

