我经常运行git status
,然后想要查看其中一个文件的特定差异。所以之后:
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: path/to/modified/file1
modified: path/to/modified/file1
是否可以使用git或作为后备bash来git diff
第n个修改后的文件,以便git diff <someMagic(2)>
减少到git diff path/to/modified/file2
。
我的主要问题是,如果它存在于git中,如果不是为了帮助使用bash命令。
答案 0 :(得分:1)
如果自动化不是您的目标,那么我会说git add -i
适合您的情况。
查看git add -i文档。
如果你正在寻找一个脚本,那么我已经做了一些你想做的事情:
#!/bin/bash
git diff $(git status | grep modified | sed 's/^.*: //' | head -n "$1" | tail -n 1)
使用它的方法是调用它然后传递你想要差异的修改文件的编号:<script_name> N
,其中 N 是&#34; nth的编号修改过的文件&#34;。
(例如,使用您的示例,如果我拨打<script>.sh 2
,则会调用这样的差异:git diff path/to/modified/file2
)