我使用 git 来处理我的 latex 文档,并且想要与工作目录进行比较。MWE
:
\documentclass{article}
\begin{document}
a
\end{document}
在 .bashrc 中添加 git-latexdiff 到 $PATH
PATH=$PATH:~/path/to/dir/git-latexdiff/
设置 git:
git init; git add .; git commit -m "initial commit"
将文件内容从a
更改为aa
git add file.tex; git commit -m "2nd commit"
将文件内容从aa
更改为aaa
(使用 git log 查看提交的哈希值)
git-latexdiff -v --main file.tex hash1 hash2
(-v 是详细的,--main 指定主文件,哈希标识提交)
工作正常。
但是当我尝试提交未提交的工作目录时:
user2740$ git-latexdiff -v --main file.tex hash1 --
Auto-detecting PDF viewer ... xdg-open.
/usr/bin/latexpand
Creating temporary directories ... done.
Temporary directories: /tmp/git-latexdiff.3840/old and /tmp/git-latexdiff.3840/new
Checking out old and new version ...ln: failed to create symbolic link ‘./file.tex’: File exists
版本:
user2740$ git-latexdiff --version
1.0 #downloaded 09.05.2014
现在有效:
确保使用最新版本!
即使是为了获取信息,也只在您想要的目录中执行version
。(至少对于版本 v1.1.2-1-ga985a4f)
答案1
永远不要使用“sudo”执行任何会在您的主目录中创建文件的任务。“sudo”不仅会授予您执行更多操作的权限,还会以其他用户身份执行命令,因此您的帐户中最终会存在属于 root 的文件。这不仅毫无用处,而且实际上有害。使用 sudo 执行管理任务(例如升级您的 LaTeX 安装),但不要用于日常工作。
该命令git-latexdiff -v --main file.tex hash1 --
对我来说很管用。git-latexdiff 在 /tmp/ 下具有唯一名称的目录中执行临时签出。您使用的是最新版本的git-latexdiff?
答案2
尝试git latexdiff
在 Git 存储库的根目录中运行该命令。对我来说,这种方法很有效。