查看vimdiff中最后的N到M Git提交
这里有一行说明了我想做什么:查看vimdiff中最后的N到M Git提交,git,bash,Git,Bash,这里有一行说明了我想做什么: revs=(2 3); f=index.html; vimdiff -d <(git show HEAD~2:"$f") <(git show HEAD~3:"$f") revs=(23);f=index.html;vimdiff-d我不久前在SVN中编写了一个函数来区分存储库-基本上目标是“将repo版本写入一个文件,然后打开vimdiff,然后删除文件” 我不习惯git,但有一个想法: function multiDiff(){ fname
revs=(2 3); f=index.html; vimdiff -d <(git show HEAD~2:"$f") <(git show HEAD~3:"$f")
revs=(23);f=index.html;vimdiff-d我不久前在SVN中编写了一个函数来区分存储库-基本上目标是“将repo版本写入一个文件,然后打开vimdiff,然后删除文件”
我不习惯git,但有一个想法:
function multiDiff(){
fname=$1
shift
files=""
while (( "$#" ))
do
tmpfile="/tmp/repo/$1/$fname"
mkdir -p `dirname $tmpfile`
git show HEAD~$1:$fname > $tmpfile
files="$files $tmpfile"
shift
done
vimdiff $files
rm -rf /tmp/repo
}
该函数将每个文件的一个版本保存到临时目录,然后区分所有文件。它将被调用multidiff index.html 2 3 4
您甚至可以编写一个方便的函数来执行以下操作:
function multiDiffSeq(){
multiDiff $1 `seq $2 $3`
}
这将把multiDiffSeq index.html 2 4
转换为multiDiff index.html 2 3 4
这种配置最大的优点是保留了文件的扩展名,这意味着保留了语法突出显示
如果git处理中有一些错误,很抱歉-我目前没有git回购协议可供实践。希望这些帮助。我不久前编写了一个函数来区分SVN中的存储库-基本上目标是“将repo版本写入文件,然后打开vim diff,然后删除文件”
我不习惯git,但有一个想法:
function multiDiff(){
fname=$1
shift
files=""
while (( "$#" ))
do
tmpfile="/tmp/repo/$1/$fname"
mkdir -p `dirname $tmpfile`
git show HEAD~$1:$fname > $tmpfile
files="$files $tmpfile"
shift
done
vimdiff $files
rm -rf /tmp/repo
}
该函数将每个文件的一个版本保存到临时目录,然后区分所有文件。它将被调用multidiff index.html 2 3 4
您甚至可以编写一个方便的函数来执行以下操作:
function multiDiffSeq(){
multiDiff $1 `seq $2 $3`
}
这将把multiDiffSeq index.html 2 4
转换为multiDiff index.html 2 3 4
这种配置最大的优点是保留了文件的扩展名,这意味着保留了语法突出显示
如果git处理中有一些错误,很抱歉-我目前没有git回购协议可供实践。希望这些帮助。您可以使用${array\u variable[index]}
访问bash数组元素。bash中的数组索引从0开始
所以
revs=(23);f=index.html;vimdiff您可以使用${array_variable[index]}
访问bash数组元素。bash中的数组索引从0开始
所以
revs=(23);f=index.html;维姆迪夫